Home
last modified time | relevance | path

Searched refs:WebAssembly (Results 1 – 25 of 96) sorted by relevance

1234

/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/
H A DWebAssemblyMCTargetDesc.h39 namespace WebAssembly {
130 namespace WebAssembly {
330 case WebAssembly::TEE_I32: in isTee()
352 case WebAssembly::CALL: in isCallDirect()
353 case WebAssembly::CALL_S: in isCallDirect()
388 case WebAssembly::BLOCK: in isMarker()
392 case WebAssembly::LOOP: in isMarker()
393 case WebAssembly::LOOP_S: in isMarker()
396 case WebAssembly::TRY: in isMarker()
397 case WebAssembly::TRY_S: in isMarker()
[all …]
H A DWebAssemblyMCCodeEmitter.cpp99 case WebAssembly::OPERAND_I32IMM: in encodeInstruction()
105 case WebAssembly::OPERAND_I64IMM: in encodeInstruction()
124 case WebAssembly::OPERAND_GLOBAL: in encodeInstruction()
144 case WebAssembly::OPERAND_I32IMM: in encodeInstruction()
147 case WebAssembly::OPERAND_I64IMM: in encodeInstruction()
152 case WebAssembly::OPERAND_TABLE: in encodeInstruction()
153 case WebAssembly::OPERAND_OFFSET32: in encodeInstruction()
154 case WebAssembly::OPERAND_SIGNATURE: in encodeInstruction()
156 case WebAssembly::OPERAND_GLOBAL: in encodeInstruction()
157 case WebAssembly::OPERAND_TAG: in encodeInstruction()
[all …]
H A DWebAssemblyInstPrinter.cpp121 case WebAssembly::LOOP: in printInst()
122 case WebAssembly::LOOP_S: in printInst()
127 case WebAssembly::BLOCK: in printInst()
128 case WebAssembly::BLOCK_S: in printInst()
132 case WebAssembly::TRY: in printInst()
133 case WebAssembly::TRY_S: in printInst()
158 case WebAssembly::END_TRY: in printInst()
169 case WebAssembly::CATCH: in printInst()
170 case WebAssembly::CATCH_S: in printInst()
186 if (Opc == WebAssembly::CATCH || Opc == WebAssembly::CATCH_S) { in printInst()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyExplicitLocals.cpp89 if (RC == &WebAssembly::I32RegClass) in getDropOpcode()
90 return WebAssembly::DROP_I32; in getDropOpcode()
91 if (RC == &WebAssembly::I64RegClass) in getDropOpcode()
92 return WebAssembly::DROP_I64; in getDropOpcode()
93 if (RC == &WebAssembly::F32RegClass) in getDropOpcode()
94 return WebAssembly::DROP_F32; in getDropOpcode()
95 if (RC == &WebAssembly::F64RegClass) in getDropOpcode()
96 return WebAssembly::DROP_F64; in getDropOpcode()
98 return WebAssembly::DROP_V128; in getDropOpcode()
100 return WebAssembly::DROP_FUNCREF; in getDropOpcode()
[all …]
H A DWebAssemblyFastISel.cpp1033 Opc = I32 ? WebAssembly::EQ_I32 : WebAssembly::EQ_I64; in selectICmp()
1036 Opc = I32 ? WebAssembly::NE_I32 : WebAssembly::NE_I64; in selectICmp()
1102 Opc = F32 ? WebAssembly::EQ_F32 : WebAssembly::EQ_F64; in selectFCmp()
1105 Opc = F32 ? WebAssembly::NE_F32 : WebAssembly::NE_F64; in selectFCmp()
1108 Opc = F32 ? WebAssembly::GT_F32 : WebAssembly::GT_F64; in selectFCmp()
1111 Opc = F32 ? WebAssembly::GE_F32 : WebAssembly::GE_F64; in selectFCmp()
1114 Opc = F32 ? WebAssembly::LT_F32 : WebAssembly::LT_F64; in selectFCmp()
1117 Opc = F32 ? WebAssembly::LE_F32 : WebAssembly::LE_F64; in selectFCmp()
1120 Opc = F32 ? WebAssembly::LE_F32 : WebAssembly::LE_F64; in selectFCmp()
1124 Opc = F32 ? WebAssembly::LT_F32 : WebAssembly::LT_F64; in selectFCmp()
[all …]
H A DWebAssemblyInstrInfo.cpp45 case WebAssembly::CONST_I32: in isReallyTriviallyReMaterializable()
46 case WebAssembly::CONST_I64: in isReallyTriviallyReMaterializable()
47 case WebAssembly::CONST_F32: in isReallyTriviallyReMaterializable()
48 case WebAssembly::CONST_F64: in isReallyTriviallyReMaterializable()
70 if (RC == &WebAssembly::I32RegClass) in copyPhysReg()
71 CopyOpcode = WebAssembly::COPY_I32; in copyPhysReg()
73 CopyOpcode = WebAssembly::COPY_I64; in copyPhysReg()
75 CopyOpcode = WebAssembly::COPY_F32; in copyPhysReg()
123 case WebAssembly::BR_IF: in analyzeBranch()
131 case WebAssembly::BR_UNLESS: in analyzeBranch()
[all …]
H A DWebAssemblyCFGStackify.cpp39 using WebAssembly::SortRegionInfo;
354 WebAssembly::BlockType ReturnType = WebAssembly::BlockType::Void; in placeBlockMarker()
787 return WebAssembly::COPY_I32; in getCopyOpcode()
789 return WebAssembly::COPY_I64; in getCopyOpcode()
1469 case WebAssembly::END_TRY: in recalculateScopeTops()
1473 case WebAssembly::CATCH: in recalculateScopeTops()
1677 case WebAssembly::BLOCK: in rewriteDepthImmediates()
1678 case WebAssembly::TRY: in rewriteDepthImmediates()
1685 case WebAssembly::LOOP: in rewriteDepthImmediates()
1707 case WebAssembly::CATCH: in rewriteDepthImmediates()
[all …]
H A DWebAssemblyRegStackify.cpp183 case WebAssembly::DIV_S_I32: in query()
184 case WebAssembly::DIV_S_I64: in query()
185 case WebAssembly::REM_S_I32: in query()
186 case WebAssembly::REM_S_I64: in query()
187 case WebAssembly::DIV_U_I32: in query()
188 case WebAssembly::DIV_U_I64: in query()
189 case WebAssembly::REM_U_I32: in query()
190 case WebAssembly::REM_U_I64: in query()
218 case WebAssembly::DIV_S_I32: in query()
219 case WebAssembly::DIV_S_I64: in query()
[all …]
H A DWebAssemblyPeephole.cpp99 case WebAssembly::I32RegClassID: in maybeRewriteToFallthrough()
100 CopyLocalOpc = WebAssembly::COPY_I32; in maybeRewriteToFallthrough()
102 case WebAssembly::I64RegClassID: in maybeRewriteToFallthrough()
103 CopyLocalOpc = WebAssembly::COPY_I64; in maybeRewriteToFallthrough()
105 case WebAssembly::F32RegClassID: in maybeRewriteToFallthrough()
108 case WebAssembly::F64RegClassID: in maybeRewriteToFallthrough()
111 case WebAssembly::V128RegClassID: in maybeRewriteToFallthrough()
114 case WebAssembly::FUNCREFRegClassID: in maybeRewriteToFallthrough()
117 case WebAssembly::EXTERNREFRegClassID: in maybeRewriteToFallthrough()
155 case WebAssembly::CALL: { in runOnMachineFunction()
[all …]
H A DWebAssemblyRegisterInfo.cpp47 for (auto Reg : {WebAssembly::SP32, WebAssembly::SP64, WebAssembly::FP32, in getReservedRegs()
48 WebAssembly::FP64}) in getReservedRegs()
73 unsigned AddrOperandNum = WebAssembly::getNamedOperandIdx( in eliminateFrameIndex()
74 MI.getOpcode(), WebAssembly::OpName::addr); in eliminateFrameIndex()
76 unsigned OffsetOperandNum = WebAssembly::getNamedOperandIdx( in eliminateFrameIndex()
77 MI.getOpcode(), WebAssembly::OpName::off); in eliminateFrameIndex()
146 /* !hasFP */ {WebAssembly::SP32, WebAssembly::SP64}, in getFrameRegister()
147 /* hasFP */ {WebAssembly::FP32, WebAssembly::FP64}}; in getFrameRegister()
157 return &WebAssembly::I64RegClass; in getPointerRegClass()
158 return &WebAssembly::I32RegClass; in getPointerRegClass()
H A DWebAssemblyFrameLowering.cpp176 ? WebAssembly::SP64 in getSPReg()
177 : WebAssembly::SP32; in getSPReg()
182 ? WebAssembly::FP64 in getFPReg()
183 : WebAssembly::FP32; in getFPReg()
189 ? WebAssembly::CONST_I64 in getOpcConst()
195 ? WebAssembly::ADD_I64 in getOpcAdd()
196 : WebAssembly::ADD_I32; in getOpcAdd()
201 ? WebAssembly::SUB_I64 in getOpcSub()
202 : WebAssembly::SUB_I32; in getOpcSub()
207 ? WebAssembly::AND_I64 in getOpcAnd()
[all …]
H A DWebAssemblyMCInstLower.cpp65 wasm::ValType Type = WebAssembly::toValType(VTs[0]); in GetGlobalAddressSymbol()
160 if (RC == &WebAssembly::I32RegClass) in getType()
162 if (RC == &WebAssembly::I64RegClass) in getType()
164 if (RC == &WebAssembly::F32RegClass) in getType()
166 if (RC == &WebAssembly::F64RegClass) in getType()
168 if (RC == &WebAssembly::V128RegClass) in getType()
170 if (RC == &WebAssembly::EXTERNREFRegClass) in getType()
172 if (RC == &WebAssembly::FUNCREFRegClass) in getType()
244 assert(BT != WebAssembly::BlockType::Invalid); in lower()
245 if (BT == WebAssembly::BlockType::Multivalue) { in lower()
[all …]
H A DWebAssemblyAsmPrinter.cpp572 case WebAssembly::ARGUMENT_i32: in emitInstruction()
573 case WebAssembly::ARGUMENT_i32_S: in emitInstruction()
574 case WebAssembly::ARGUMENT_i64: in emitInstruction()
575 case WebAssembly::ARGUMENT_i64_S: in emitInstruction()
576 case WebAssembly::ARGUMENT_f32: in emitInstruction()
577 case WebAssembly::ARGUMENT_f32_S: in emitInstruction()
578 case WebAssembly::ARGUMENT_f64: in emitInstruction()
579 case WebAssembly::ARGUMENT_f64_S: in emitInstruction()
580 case WebAssembly::ARGUMENT_v16i8: in emitInstruction()
582 case WebAssembly::ARGUMENT_v8i16: in emitInstruction()
[all …]
H A DWebAssemblyReplacePhysRegs.cpp79 for (unsigned PReg = WebAssembly::NoRegister + 1; in runOnMachineFunction()
80 PReg < WebAssembly::NUM_TARGET_REGS; ++PReg) { in runOnMachineFunction()
82 if (PReg == WebAssembly::VALUE_STACK || PReg == WebAssembly::ARGUMENTS) in runOnMachineFunction()
87 unsigned VReg = WebAssembly::NoRegister; in runOnMachineFunction()
91 if (VReg == WebAssembly::NoRegister) { in runOnMachineFunction()
H A DREADME.txt1 //===-- README.txt - Notes for WebAssembly code gen -----------------------===//
3 The object format emitted by the WebAssembly backed is documented in:
5 * https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md
9 * https://github.com/WebAssembly/tool-conventions/blob/master/BasicCABI.md
11 For more information on WebAssembly itself, see the home page:
22 Rust provides WebAssembly support integrated into Cargo. There are two
33 encoding of WebAssembly itself:
34 * https://github.com/WebAssembly/design/blob/master/Semantics.md
50 WebAssembly.
87 being run after the WebAssembly PEI pass.
[all …]
H A DWebAssemblyLateEHPrepare.cpp158 if (TI->getOpcode() == WebAssembly::CATCHRET) in recordCatchRetBBs()
180 if (WebAssembly::isCatch(MI.getOpcode())) in hoistCatches()
215 !WebAssembly::isCatch(InsertPos->getOpcode())) { in addCatchAlls()
219 TII.get(WebAssembly::CATCH_ALL)); in addCatchAlls()
238 case WebAssembly::CATCHRET: { in replaceFuncletReturns()
242 BuildMI(MBB, TI, TI->getDebugLoc(), TII.get(WebAssembly::BR)) in replaceFuncletReturns()
248 case WebAssembly::CLEANUPRET: { in replaceFuncletReturns()
251 BuildMI(MBB, TI, TI->getDebugLoc(), TII.get(WebAssembly::RETHROW)) in replaceFuncletReturns()
268 if (MI.getOpcode() != WebAssembly::THROW && in removeUnnecessaryUnreachables()
269 MI.getOpcode() != WebAssembly::RETHROW) in removeUnnecessaryUnreachables()
[all …]
H A DWebAssemblyISelLowering.cpp56 Subtarget->hasAddr64() ? WebAssembly::SP64 : WebAssembly::SP32); in WebAssemblyTargetLowering()
416 unsigned Abs = Float64 ? WebAssembly::ABS_F64 : WebAssembly::ABS_F32; in LowerFPToInt()
417 unsigned FConst = Float64 ? WebAssembly::CONST_F64 : WebAssembly::CONST_F32; in LowerFPToInt()
418 unsigned LT = Float64 ? WebAssembly::LT_F64 : WebAssembly::LT_F32; in LowerFPToInt()
419 unsigned GE = Float64 ? WebAssembly::GE_F64 : WebAssembly::GE_F32; in LowerFPToInt()
420 unsigned IConst = Int64 ? WebAssembly::CONST_I64 : WebAssembly::CONST_I32; in LowerFPToInt()
421 unsigned Eqz = WebAssembly::EQZ_I32; in LowerFPToInt()
527 CallOp = WebAssembly::RET_CALL; in LowerCallResults()
529 CallOp = WebAssembly::CALL; in LowerCallResults()
655 case WebAssembly::CALL_RESULTS: in EmitInstrWithCustomInserter()
[all …]
H A DWebAssemblyFixBrTableDefaults.cpp57 assert(MI.getDesc().getOpcode() == WebAssembly::BR_TABLE_I64 && in fixBrTableIndex()
62 if (ExtMI->getOpcode() == WebAssembly::I64_EXTEND_U_I32) { in fixBrTableIndex()
70 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in fixBrTableIndex()
72 WST.getInstrInfo()->get(WebAssembly::I32_WRAP_I64), Reg32) in fixBrTableIndex()
79 MI.setDesc(WST.getInstrInfo()->get(WebAssembly::BR_TABLE_I32)); in fixBrTableIndex()
125 if (RangeCheck->getOpcode() != WebAssembly::GT_U_I32) in fixBrTableDefault()
165 if (WebAssembly::isBrTable(MI)) { in runOnMachineFunction()
H A DWebAssemblySetP2AlignOperands.cpp63 (UINT64_C(1) << WebAssembly::GetDefaultP2Align(MI.getOpcode())) && in rewriteP2Align()
66 WebAssembly::OPERAND_P2ALIGN && in rewriteP2Align()
72 uint64_t(WebAssembly::GetDefaultP2Align(MI.getOpcode()))); in rewriteP2Align()
87 int16_t P2AlignOpNum = WebAssembly::getNamedOperandIdx( in runOnMachineFunction()
88 MI.getOpcode(), WebAssembly::OpName::p2align); in runOnMachineFunction()
H A DWebAssembly.td1 //- WebAssembly.td - Describe the WebAssembly Target Machine --*- tablegen -*-//
10 /// This is a target description file for the WebAssembly architecture,
22 // WebAssembly Subtarget features.
86 // WebAssembly Processors supported.
95 // Latest and greatest experimental version of WebAssembly. Bugs included!
118 def WebAssembly : Target {
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/WebAssembly/Utils/
H A DWebAssemblyTypeUtilities.cpp44 WebAssembly::HeapType WebAssembly::parseHeapType(StringRef Type) { in parseHeapType()
51 WebAssembly::BlockType WebAssembly::parseBlockType(StringRef Type) { in parseBlockType()
65 MVT WebAssembly::parseMVT(StringRef Type) { in parseMVT()
117 S += WebAssembly::typeToString(Type); in typeListToString()
159 case WebAssembly::I32RegClassID: in regClassToValType()
161 case WebAssembly::I64RegClassID: in regClassToValType()
163 case WebAssembly::F32RegClassID: in regClassToValType()
165 case WebAssembly::F64RegClassID: in regClassToValType()
167 case WebAssembly::V128RegClassID: in regClassToValType()
169 case WebAssembly::FUNCREFRegClassID: in regClassToValType()
[all …]
H A DWebAssemblyUtilities.cpp41 case WebAssembly::THROW: in mayThrow()
42 case WebAssembly::THROW_S: in mayThrow()
43 case WebAssembly::RETHROW: in mayThrow()
44 case WebAssembly::RETHROW_S: in mayThrow()
85 case WebAssembly::CALL: in getCalleeOp()
86 case WebAssembly::CALL_S: in getCalleeOp()
87 case WebAssembly::RET_CALL: in getCalleeOp()
88 case WebAssembly::RET_CALL_S: in getCalleeOp()
90 case WebAssembly::CALL_INDIRECT: in getCalleeOp()
91 case WebAssembly::CALL_INDIRECT_S: in getCalleeOp()
[all …]
/freebsd-13.1/contrib/llvm-project/llvm/lib/Target/WebAssembly/Disassembler/
H A DWebAssemblyDisassembler.cpp198 case WebAssembly::OPERAND_LOCAL: in getInstruction()
199 case WebAssembly::OPERAND_GLOBAL: in getInstruction()
201 case WebAssembly::OPERAND_TABLE: in getInstruction()
202 case WebAssembly::OPERAND_OFFSET32: in getInstruction()
203 case WebAssembly::OPERAND_OFFSET64: in getInstruction()
204 case WebAssembly::OPERAND_P2ALIGN: in getInstruction()
206 case WebAssembly::OPERAND_TAG: in getInstruction()
213 case WebAssembly::OPERAND_I32IMM: in getInstruction()
214 case WebAssembly::OPERAND_I64IMM: { in getInstruction()
267 case WebAssembly::OPERAND_F32IMM: { in getInstruction()
[all …]
/freebsd-13.1/contrib/llvm-project/clang/lib/Driver/ToolChains/
H A DWebAssembly.cpp29 std::string WebAssembly::getMultiarchTriple(const Driver &D, in getMultiarchTriple()
167 WebAssembly::WebAssembly(const Driver &D, const llvm::Triple &Triple, in WebAssembly() function in WebAssembly
196 bool WebAssembly::IsMathErrnoDefault() const { return false; } in IsMathErrnoDefault()
202 bool WebAssembly::isPICDefault() const { return false; } in isPICDefault()
204 bool WebAssembly::isPIEDefault() const { return false; } in isPIEDefault()
206 bool WebAssembly::isPICDefaultForced() const { return false; } in isPICDefaultForced()
210 bool WebAssembly::hasBlocksRuntime() const { return false; } in hasBlocksRuntime()
213 bool WebAssembly::SupportsProfiling() const { return false; } in SupportsProfiling()
334 WebAssembly::GetCXXStdlibType(const ArgList &Args) const { in GetCXXStdlibType()
410 SanitizerMask WebAssembly::getSupportedSanitizers() const { in getSupportedSanitizers()
[all …]
/freebsd-13.1/contrib/llvm-project/lld/docs/
H A DWebAssembly.rst1 WebAssembly lld port
4 The WebAssembly version of lld takes WebAssembly binaries as inputs and produces
5 a WebAssembly binary as its output. For the most part it tries to mimic the
13 The WebAssembly object file format used by LLVM and LLD is specified as part of
14 the WebAssembly tool conventions on linking_.
22 The WebAssembly version of lld is installed as **wasm-ld**. It shared many
24 WebAssembly-specific options:
120 In general, where possible, the WebAssembly linker attempts to emulate the
129 is that function signature checking is strict in WebAssembly. It is a
178 Since WebAssembly is designed with size in mind the linker defaults to
[all …]

1234