HomeSort by: relevance | last modified time | path
    Searched refs:WebAssembly (Results 1 - 25 of 64) sorted by relevancy

1 2 3

  /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/MCTargetDesc/
WebAssemblyMCTargetDesc.h 1 //==- WebAssemblyMCTargetDesc.h - WebAssembly Target Descriptions -*- C++ -*-=//
10 /// This file provides WebAssembly-specific target descriptions.
39 namespace WebAssembly {
84 } // end namespace WebAssembly
118 // Defines symbolic names for WebAssembly registers. This defines a mapping from
124 // Defines symbolic names for the WebAssembly instructions.
130 namespace WebAssembly {
140 case WebAssembly::NAME##_A32: \
141 case WebAssembly::NAME##_A64: \
142 case WebAssembly::NAME##_A32_S:
    [all...]
WebAssemblyMCCodeEmitter.cpp 1 //=- WebAssemblyMCCodeEmitter.cpp - Convert WebAssembly code to machine code -//
80 if (MI.getOpcode() == WebAssembly::BR_TABLE_I32_S ||
81 MI.getOpcode() == WebAssembly::BR_TABLE_I64_S)
83 if (MI.getOpcode() == WebAssembly::BR_TABLE_I32 ||
84 MI.getOpcode() == WebAssembly::BR_TABLE_I64)
99 case WebAssembly::OPERAND_I32IMM:
102 case WebAssembly::OPERAND_OFFSET32:
105 case WebAssembly::OPERAND_I64IMM:
108 case WebAssembly::OPERAND_SIGNATURE:
109 case WebAssembly::OPERAND_HEAPTYPE
    [all...]
WebAssemblyFixupKinds.h 1 //=- WebAssemblyFixupKinds.h - WebAssembly Specific Fixup Entries -*- C++ -*-=//
15 namespace WebAssembly {
26 } // end namespace WebAssembly
WebAssemblyInstPrinter.cpp 1 //=- WebAssemblyInstPrinter.cpp - WebAssembly assembly instruction printing -=//
18 #include "WebAssembly.h"
53 case WebAssembly::CALL_INDIRECT_S:
54 case WebAssembly::RET_CALL_INDIRECT_S: {
97 if (MI->getOpcode() == WebAssembly::CALL_INDIRECT &&
121 case WebAssembly::LOOP:
122 case WebAssembly::LOOP_S:
127 case WebAssembly::BLOCK:
128 case WebAssembly::BLOCK_S:
132 case WebAssembly::TRY
    [all...]
WebAssemblyAsmBackend.cpp 1 //===-- WebAssemblyAsmBackend.cpp - WebAssembly Assembler Backend ---------===//
42 return WebAssembly::NumTargetFixupKinds;
67 const static MCFixupKindInfo Infos[WebAssembly::NumTargetFixupKinds] = {
89 OS << char(WebAssembly::Nop);
101 assert(Info.Flags == 0 && "WebAssembly does not use MCFixupKindInfo flags");
  /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/Utils/
WebAssemblyUtilities.cpp 1 //===-- WebAssemblyUtilities.cpp - WebAssembly Utility Functions ----------===//
10 /// This file implements several utility functions for WebAssembly.
21 const char *const WebAssembly::CxaBeginCatchFn = "__cxa_begin_catch";
22 const char *const WebAssembly::CxaRethrowFn = "__cxa_rethrow";
23 const char *const WebAssembly::StdTerminateFn = "_ZSt9terminatev";
24 const char *const WebAssembly::PersonalityWrapperFn =
28 bool WebAssembly::isChild(const MachineInstr &MI,
39 bool WebAssembly::mayThrow(const MachineInstr &MI) {
41 case WebAssembly::THROW:
42 case WebAssembly::THROW_S
    [all...]
WebAssemblyTypeUtilities.cpp 1 //===-- WebAssemblyTypeUtilities.cpp - WebAssembly Type Utility Functions -===//
10 /// This file implements several utility functions for WebAssembly type parsing.
19 Optional<wasm::ValType> WebAssembly::parseType(StringRef Type) {
40 WebAssembly::HeapType WebAssembly::parseHeapType(StringRef Type) {
41 return StringSwitch<WebAssembly::HeapType>(Type)
42 .Case("extern", WebAssembly::HeapType::Externref)
43 .Case("func", WebAssembly::HeapType::Funcref)
44 .Default(WebAssembly::HeapType::Invalid);
47 WebAssembly::BlockType WebAssembly::parseBlockType(StringRef Type)
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/
WebAssemblyExplicitLocals.cpp 10 /// This file converts any remaining registers into WebAssembly locals.
20 #include "WebAssembly.h"
37 return "WebAssembly Explicit Locals";
56 "Convert registers to WebAssembly locals", false, false)
89 if (RC == &WebAssembly::I32RegClass)
90 return WebAssembly::DROP_I32;
91 if (RC == &WebAssembly::I64RegClass)
92 return WebAssembly::DROP_I64;
93 if (RC == &WebAssembly::F32RegClass)
94 return WebAssembly::DROP_F32
    [all...]
WebAssemblyInstrInfo.cpp 1 //===-- WebAssemblyInstrInfo.cpp - WebAssembly Instruction Information ----===//
10 /// This file contains the WebAssembly implementation of the
17 #include "WebAssembly.h"
31 // defines WebAssembly::getNamedOperandIdx
36 : WebAssemblyGenInstrInfo(WebAssembly::ADJCALLSTACKDOWN,
37 WebAssembly::ADJCALLSTACKUP,
38 WebAssembly::CATCHRET),
44 case WebAssembly::CONST_I32:
45 case WebAssembly::CONST_I64:
46 case WebAssembly::CONST_F32
    [all...]
WebAssemblyPeephole.cpp 1 //===-- WebAssemblyPeephole.cpp - WebAssembly Peephole Optimiztions -------===//
10 /// Late peephole optimizations for WebAssembly.
15 #include "WebAssembly.h"
28 cl::desc("WebAssembly: Disable fallthrough-return optimizations."),
34 return "WebAssembly late peephole optimizer";
53 "WebAssembly peephole optimizations", false, false)
86 assert(End->getOpcode() == WebAssembly::END_FUNCTION);
99 case WebAssembly::I32RegClassID:
100 CopyLocalOpc = WebAssembly::COPY_I32;
102 case WebAssembly::I64RegClassID
    [all...]
WebAssemblyFastISel.cpp 1 //===-- WebAssemblyFastISel.cpp - WebAssembly FastISel implementation -----===//
10 /// This file defines the WebAssembly-specific support for the FastISel
20 #include "WebAssembly.h"
383 Reg = createResultReg(Subtarget->hasAddr64() ? &WebAssembly::I64RegClass
384 : &WebAssembly::I32RegClass);
385 unsigned Opc = Subtarget->hasAddr64() ? WebAssembly::CONST_I64
386 : WebAssembly::CONST_I32;
461 unsigned Imm = createResultReg(&WebAssembly::I32RegClass);
463 TII.get(WebAssembly::CONST_I32), Imm)
466 unsigned Result = createResultReg(&WebAssembly::I32RegClass)
    [all...]
WebAssemblyRegisterInfo.cpp 1 //===-- WebAssemblyRegisterInfo.cpp - WebAssembly Register Information ----===//
10 /// This file contains the WebAssembly implementation of the
47 for (auto Reg : {WebAssembly::SP32, WebAssembly::SP64, WebAssembly::FP32,
48 WebAssembly::FP64})
73 unsigned AddrOperandNum = WebAssembly::getNamedOperandIdx(
74 MI.getOpcode(), WebAssembly::OpName::addr);
76 unsigned OffsetOperandNum = WebAssembly::getNamedOperandIdx(
77 MI.getOpcode(), WebAssembly::OpName::off)
    [all...]
WebAssemblySetP2AlignOperands.cpp 15 #include "WebAssembly.h"
34 return "WebAssembly Set p2align Operands";
50 "Set the p2align operands for WebAssembly loads and stores",
63 (UINT64_C(1) << WebAssembly::GetDefaultP2Align(MI.getOpcode())) &&
66 WebAssembly::OPERAND_P2ALIGN &&
70 // WebAssembly does not currently support supernatural alignment.
72 uint64_t(WebAssembly::GetDefaultP2Align(MI.getOpcode())));
87 int16_t P2AlignOpNum = WebAssembly::getNamedOperandIdx(
88 MI.getOpcode(), WebAssembly::OpName::p2align);
WebAssemblyCFGStackify.cpp 13 /// since scope boundaries serve as the labels for WebAssembly's control
17 /// WebAssembly, provided that all loops are single-entry.
26 #include "WebAssembly.h"
39 using WebAssembly::SortRegionInfo;
48 StringRef getPassName() const override { return "WebAssembly CFG Stackify"; }
151 "Insert BLOCK/LOOP/TRY markers for WebAssembly scopes", false,
305 if (MI.getOpcode() == WebAssembly::LOOP) {
319 if (MI.getOpcode() == WebAssembly::BLOCK ||
320 MI.getOpcode() == WebAssembly::TRY) {
331 if (MI.getOpcode() == WebAssembly::END_BLOCK |
    [all...]
WebAssemblyReplacePhysRegs.cpp 14 /// WebAssembly doesn't actually have such physical registers. This pass is run
22 #include "WebAssembly.h"
42 return "WebAssembly Replace Physical Registers";
79 for (unsigned PReg = WebAssembly::NoRegister + 1;
80 PReg < WebAssembly::NUM_TARGET_REGS; ++PReg) {
82 if (PReg == WebAssembly::VALUE_STACK || PReg == WebAssembly::ARGUMENTS)
87 unsigned VReg = WebAssembly::NoRegister;
91 if (VReg == WebAssembly::NoRegister) {
WebAssemblyRegStackify.cpp 22 #include "MCTargetDesc/WebAssemblyMCTargetDesc.h" // for WebAssembly::ARGUMENT_*
24 #include "WebAssembly.h"
47 return "WebAssembly Register Stackify";
73 "Reorder instructions to use the WebAssembly value stack",
85 if (!MI->definesRegister(WebAssembly::VALUE_STACK))
86 MI->addOperand(MachineOperand::CreateReg(WebAssembly::VALUE_STACK,
91 if (!MI->readsRegister(WebAssembly::VALUE_STACK))
92 MI->addOperand(MachineOperand::CreateReg(WebAssembly::VALUE_STACK,
107 if (RegClass == &WebAssembly::I32RegClass) {
108 MI->setDesc(TII->get(WebAssembly::CONST_I32))
    [all...]
WebAssemblyFrameLowering.cpp 1 //===-- WebAssemblyFrameLowering.cpp - WebAssembly Frame Lowering ----------==//
10 /// This file contains the WebAssembly implementation of
13 /// On WebAssembly, there aren't a lot of things to do here. There are no
23 #include "WebAssembly.h"
128 ? WebAssembly::SP64
129 : WebAssembly::SP32;
134 ? WebAssembly::FP64
135 : WebAssembly::FP32;
141 ? WebAssembly::CONST_I64
142 : WebAssembly::CONST_I32
    [all...]
WebAssemblyLateEHPrepare.cpp 1 //=== WebAssemblyLateEHPrepare.cpp - WebAssembly Exception Preparation -===//
16 #include "WebAssembly.h"
31 return "WebAssembly Late Prepare Exception";
54 "WebAssembly Late Exception Preparation", false, false)
158 if (TI->getOpcode() == WebAssembly::CATCHRET)
180 if (WebAssembly::isCatch(MI.getOpcode()))
215 !WebAssembly::isCatch(InsertPos->getOpcode())) {
219 TII.get(WebAssembly::CATCH_ALL));
238 case WebAssembly::CATCHRET: {
242 BuildMI(MBB, TI, TI->getDebugLoc(), TII.get(WebAssembly::BR)
    [all...]
WebAssemblyAsmPrinter.cpp 1 //===-- WebAssemblyAsmPrinter.cpp - WebAssembly LLVM assembly writer ------===//
11 /// representation of machine-dependent LLVM code to the WebAssembly assembly
22 #include "WebAssembly.h"
162 WebAssembly::signatureToString(Sig);
174 if (!WebAssembly::isWasmVarAddressSpace(GV->getAddressSpace())) {
193 wasm::ValType Type = WebAssembly::toValType(VT);
301 WebAssembly::getOrCreateFunctionTableSymbol(OutContext, Subtarget);
307 !WebAssembly::isWasmVarAddressSpace(G.getAddressSpace()) &&
448 "WebAssembly disables constant pools");
488 case WebAssembly::ARGUMENT_i32
    [all...]
WebAssemblyFixBrTableDefaults.cpp 18 #include "WebAssembly.h"
32 return "WebAssembly Fix br_table Defaults";
57 assert(MI.getDesc().getOpcode() == WebAssembly::BR_TABLE_I64 &&
62 if (ExtMI->getOpcode() == WebAssembly::I64_EXTEND_U_I32) {
70 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass);
72 WST.getInstrInfo()->get(WebAssembly::I32_WRAP_I64), Reg32)
79 MI.setDesc(WST.getInstrInfo()->get(WebAssembly::BR_TABLE_I32));
125 if (RangeCheck->getOpcode() != WebAssembly::GT_U_I32)
165 if (WebAssembly::isBrTable(MI)) {
WebAssemblyISelDAGToDAG.cpp 1 //- WebAssemblyISelDAGToDAG.cpp - A dag to dag inst selector for WebAssembly -//
10 /// This file defines an instruction selector for the WebAssembly target.
15 #include "WebAssembly.h"
30 /// WebAssembly-specific code to select WebAssembly machine instructions for
46 return "WebAssembly Instruction Selection";
81 auto GlobalGetIns = PtrVT == MVT::i64 ? WebAssembly::GLOBAL_GET_I64
82 : WebAssembly::GLOBAL_GET_I32;
100 Fence = CurDAG->getMachineNode(WebAssembly::COMPILER_FENCE,
110 WebAssembly::ATOMIC_FENCE
    [all...]
WebAssemblyMCInstLower.cpp 1 // WebAssemblyMCInstLower.cpp - Convert WebAssembly MachineInstr to an MCInst //
10 /// This file contains code to lower WebAssembly MachineInstrs to their
38 cl::desc("WebAssembly: output stack registers in"
53 // GlobalValue is actually a WebAssembly global, then ensure the symbol is a
55 if (WebAssembly::isWasmVarAddressSpace(Global->getAddressSpace()) &&
66 wasm::ValType Type = WebAssembly::toValType(VTs[0]);
209 // Return the WebAssembly type associated with the given register class.
211 if (RC == &WebAssembly::I32RegClass)
213 if (RC == &WebAssembly::I64RegClass)
215 if (RC == &WebAssembly::F32RegClass
    [all...]
  /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/TargetInfo/
WebAssemblyTargetInfo.h 1 //===-- WebAssemblyTargetInfo.h - WebAssembly Target Impl -------*- C++ -*-===//
10 /// This file registers the WebAssembly target.
24 namespace WebAssembly {
29 } // namespace WebAssembly
  /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/Disassembler/
WebAssemblyDisassembler.cpp 1 //==- WebAssemblyDisassembler.cpp - Disassembler for WebAssembly -*- C++ -*-==//
10 /// This file is part of the WebAssembly Disassembler.
150 outs() << WebAssembly::anyTypeToString(Type);
197 case WebAssembly::OPERAND_BASIC_BLOCK:
198 case WebAssembly::OPERAND_LOCAL:
199 case WebAssembly::OPERAND_GLOBAL:
200 case WebAssembly::OPERAND_FUNCTION32:
201 case WebAssembly::OPERAND_TABLE:
202 case WebAssembly::OPERAND_OFFSET32:
203 case WebAssembly::OPERAND_OFFSET64
    [all...]
  /src/external/apache2/llvm/dist/clang/lib/Driver/ToolChains/
WebAssembly.cpp 1 //===--- WebAssembly.cpp - WebAssembly ToolChain Implementation -*- C++ -*-===//
9 #include "WebAssembly.h"
29 std::string WebAssembly::getMultiarchTriple(const Driver &D,
167 WebAssembly::WebAssembly(const Driver &D, const llvm::Triple &Triple,
196 bool WebAssembly::IsMathErrnoDefault() const { return false; }
198 bool WebAssembly::IsObjCNonFragileABIDefault() const { return true; }
200 bool WebAssembly::UseObjCMixedDispatch() const { return true; }
202 bool WebAssembly::isPICDefault() const { return false;
    [all...]

Completed in 74 milliseconds

1 2 3