Home
last modified time | relevance | path

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

12345

/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/WebAssembly/MCTargetDesc/
H A DWebAssemblyMCTargetDesc.h40 namespace WebAssembly {
140 namespace WebAssembly {
384 case WebAssembly::TEE_I32: in isTee()
406 case WebAssembly::CALL: in isCallDirect()
407 case WebAssembly::CALL_S: in isCallDirect()
442 case WebAssembly::BLOCK: in isMarker()
446 case WebAssembly::LOOP: in isMarker()
447 case WebAssembly::LOOP_S: in isMarker()
450 case WebAssembly::TRY: in isMarker()
451 case WebAssembly::TRY_S: in isMarker()
[all …]
H A DWebAssemblyMCTypeUtilities.cpp41 WebAssembly::BlockType WebAssembly::parseBlockType(StringRef Type) { in parseBlockType()
44 .Case("i32", WebAssembly::BlockType::I32) in parseBlockType()
45 .Case("i64", WebAssembly::BlockType::I64) in parseBlockType()
91 S += WebAssembly::typeToString(Type); in typeListToString()
107 case WebAssembly::I32RegClassID: in regClassToValType()
109 case WebAssembly::I64RegClassID: in regClassToValType()
111 case WebAssembly::F32RegClassID: in regClassToValType()
113 case WebAssembly::F64RegClassID: in regClassToValType()
115 case WebAssembly::V128RegClassID: in regClassToValType()
117 case WebAssembly::FUNCREFRegClassID: in regClassToValType()
[all …]
H A DWebAssemblyMCCodeEmitter.cpp104 case WebAssembly::OPERAND_I32IMM: in encodeInstruction()
110 case WebAssembly::OPERAND_I64IMM: in encodeInstruction()
130 case WebAssembly::OPERAND_GLOBAL: in encodeInstruction()
153 case WebAssembly::OPERAND_I32IMM: in encodeInstruction()
156 case WebAssembly::OPERAND_I64IMM: in encodeInstruction()
161 case WebAssembly::OPERAND_TABLE: in encodeInstruction()
162 case WebAssembly::OPERAND_OFFSET32: in encodeInstruction()
163 case WebAssembly::OPERAND_SIGNATURE: in encodeInstruction()
165 case WebAssembly::OPERAND_GLOBAL: in encodeInstruction()
166 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-14.2/contrib/llvm-project/llvm/lib/Target/WebAssembly/
H A DWebAssemblyUtilities.cpp44 case WebAssembly::THROW: in mayThrow()
45 case WebAssembly::THROW_S: in mayThrow()
46 case WebAssembly::RETHROW: in mayThrow()
47 case WebAssembly::RETHROW_S: in mayThrow()
88 case WebAssembly::CALL: in getCalleeOp()
89 case WebAssembly::CALL_S: in getCalleeOp()
90 case WebAssembly::RET_CALL: in getCalleeOp()
91 case WebAssembly::RET_CALL_S: in getCalleeOp()
93 case WebAssembly::CALL_INDIRECT: in getCalleeOp()
165 return WebAssembly::COPY_I32; in getCopyOpcodeForRegClass()
[all …]
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.cpp1034 Opc = I32 ? WebAssembly::EQ_I32 : WebAssembly::EQ_I64; in selectICmp()
1037 Opc = I32 ? WebAssembly::NE_I32 : WebAssembly::NE_I64; in selectICmp()
1103 Opc = F32 ? WebAssembly::EQ_F32 : WebAssembly::EQ_F64; in selectFCmp()
1106 Opc = F32 ? WebAssembly::NE_F32 : WebAssembly::NE_F64; in selectFCmp()
1109 Opc = F32 ? WebAssembly::GT_F32 : WebAssembly::GT_F64; in selectFCmp()
1112 Opc = F32 ? WebAssembly::GE_F32 : WebAssembly::GE_F64; in selectFCmp()
1115 Opc = F32 ? WebAssembly::LT_F32 : WebAssembly::LT_F64; in selectFCmp()
1118 Opc = F32 ? WebAssembly::LE_F32 : WebAssembly::LE_F64; in selectFCmp()
1121 Opc = F32 ? WebAssembly::LE_F32 : WebAssembly::LE_F64; in selectFCmp()
1125 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()
107 case WebAssembly::BR_IF: in analyzeBranch()
115 case WebAssembly::BR_UNLESS: in analyzeBranch()
123 case WebAssembly::BR: in analyzeBranch()
195 {WebAssembly::TI_LOCAL, "wasm-local"}, in getSerializableTargetIndices()
205 return WebAssembly::getCalleeOp(MI); in getCalleeOperand()
227 if (WebAssembly::isLocalSet(Opc) || WebAssembly::isLocalTee(Opc)) { in isExplicitTargetIndexDef()
[all …]
H A DWebAssemblyRegStackify.cpp181 case WebAssembly::DIV_S_I32: in query()
182 case WebAssembly::DIV_S_I64: in query()
183 case WebAssembly::REM_S_I32: in query()
184 case WebAssembly::REM_S_I64: in query()
185 case WebAssembly::DIV_U_I32: in query()
186 case WebAssembly::DIV_U_I64: in query()
187 case WebAssembly::REM_U_I32: in query()
188 case WebAssembly::REM_U_I64: in query()
216 case WebAssembly::DIV_S_I32: in query()
217 case WebAssembly::DIV_S_I64: in query()
[all …]
H A DWebAssemblyCFGStackify.cpp39 using WebAssembly::SortRegionInfo;
354 WebAssembly::BlockType ReturnType = WebAssembly::BlockType::Void; in placeBlockMarker()
1450 case WebAssembly::END_LOOP: in recalculateScopeTops()
1451 case WebAssembly::END_TRY: in recalculateScopeTops()
1452 case WebAssembly::DELEGATE: in recalculateScopeTops()
1455 case WebAssembly::CATCH: in recalculateScopeTops()
1658 case WebAssembly::BLOCK: in rewriteDepthImmediates()
1659 case WebAssembly::TRY: in rewriteDepthImmediates()
1666 case WebAssembly::LOOP: in rewriteDepthImmediates()
1688 case WebAssembly::CATCH: in rewriteDepthImmediates()
[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()
147 /* !hasFP */ {WebAssembly::SP32, WebAssembly::SP64}, in getFrameRegister()
148 /* hasFP */ {WebAssembly::FP32, WebAssembly::FP64}}; in getFrameRegister()
158 return &WebAssembly::I64RegClass; in getPointerRegClass()
159 return &WebAssembly::I32RegClass; in getPointerRegClass()
H A DWebAssemblyFrameLowering.cpp183 ? WebAssembly::SP64 in getSPReg()
184 : WebAssembly::SP32; in getSPReg()
189 ? WebAssembly::FP64 in getFPReg()
190 : WebAssembly::FP32; in getFPReg()
196 ? WebAssembly::CONST_I64 in getOpcConst()
202 ? WebAssembly::ADD_I64 in getOpcAdd()
203 : WebAssembly::ADD_I32; in getOpcAdd()
208 ? WebAssembly::SUB_I64 in getOpcSub()
209 : WebAssembly::SUB_I32; in getOpcSub()
214 ? WebAssembly::AND_I64 in getOpcAnd()
[all …]
H A DWebAssemblyAsmPrinter.cpp343 &F, WebAssembly::WasmEnableEmEH || WebAssembly::WasmEnableEmSjLj, in emitDecls()
649 case WebAssembly::ARGUMENT_i32: in emitInstruction()
650 case WebAssembly::ARGUMENT_i32_S: in emitInstruction()
651 case WebAssembly::ARGUMENT_i64: in emitInstruction()
652 case WebAssembly::ARGUMENT_i64_S: in emitInstruction()
653 case WebAssembly::ARGUMENT_f32: in emitInstruction()
654 case WebAssembly::ARGUMENT_f32_S: in emitInstruction()
655 case WebAssembly::ARGUMENT_f64: in emitInstruction()
656 case WebAssembly::ARGUMENT_f64_S: in emitInstruction()
657 case WebAssembly::ARGUMENT_v16i8: in emitInstruction()
[all …]
H A DWebAssemblyReplacePhysRegs.cpp76 for (unsigned PReg = WebAssembly::NoRegister + 1; in runOnMachineFunction()
77 PReg < WebAssembly::NUM_TARGET_REGS; ++PReg) { in runOnMachineFunction()
79 if (PReg == WebAssembly::VALUE_STACK || PReg == WebAssembly::ARGUMENTS) in runOnMachineFunction()
84 unsigned VReg = WebAssembly::NoRegister; in runOnMachineFunction()
88 if (VReg == WebAssembly::NoRegister) { in runOnMachineFunction()
H A DWebAssemblyMCInstLower.cpp53 if (WebAssembly::isWasmVarAddressSpace(Global->getAddressSpace()) && in GetGlobalAddressSymbol()
62 WebAssembly::wasmSymbolSetType(WasmSym, GlobalVT, VTs); in GetGlobalAddressSymbol()
80 F, WebAssembly::WasmEnableEmEH || WebAssembly::WasmEnableEmSjLj, in GetGlobalAddressSymbol()
198 if (Info.OperandType == WebAssembly::OPERAND_TYPEINDEX) { in lower()
205 Returns.push_back(WebAssembly::regClassToValType( in lower()
209 Params.push_back(WebAssembly::regClassToValType( in lower()
214 if (WebAssembly::isCallIndirect(MI->getOpcode())) in lower()
219 if (MI->getOpcode() == WebAssembly::RET_CALL_INDIRECT) in lower()
226 assert(BT != WebAssembly::BlockType::Invalid); in lower()
227 if (BT == WebAssembly::BlockType::Multivalue) { in lower()
[all …]
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/main/Linking.md
9 * https://github.com/WebAssembly/tool-conventions/blob/main/BasicCABI.md
11 For more information on WebAssembly itself, see the home page:
20 on musl, for producing WebAssembly applications that use the WASI ABI.
33 encoding of WebAssembly itself:
34 * https://github.com/WebAssembly/design/blob/main/Semantics.md
50 WebAssembly.
87 being run after the WebAssembly PEI pass.
[all …]
H A DWebAssemblyISelDAGToDAG.cpp104 assert(Tag == WebAssembly::CPP_EXCEPTION || WebAssembly::C_LONGJMP); in getTagSymNode()
108 const char *SymName = Tag == WebAssembly::CPP_EXCEPTION in getTagSymNode()
123 auto GlobalGetIns = PtrVT == MVT::i64 ? WebAssembly::GLOBAL_GET_I64 in Select()
124 : WebAssembly::GLOBAL_GET_I32; in Select()
141 Fence = CurDAG->getMachineNode(WebAssembly::COMPILER_FENCE, in Select()
151 WebAssembly::ATOMIC_FENCE, in Select()
207 CurDAG->getMachineNode(WebAssembly::CATCH, DL, in Select()
230 CurDAG->getMachineNode(WebAssembly::THROW, DL, in Select()
275 CurDAG->getMachineNode(WebAssembly::CALL_PARAMS, DL, MVT::Glue, Ops); in Select()
278 ? WebAssembly::CALL_RESULTS in Select()
[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 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 DWebAssemblyFixBrTableDefaults.cpp58 assert(MI.getDesc().getOpcode() == WebAssembly::BR_TABLE_I64 && in fixBrTableIndex()
63 if (ExtMI->getOpcode() == WebAssembly::I64_EXTEND_U_I32) { in fixBrTableIndex()
75 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in fixBrTableIndex()
77 WST.getInstrInfo()->get(WebAssembly::I32_WRAP_I64), Reg32) in fixBrTableIndex()
84 MI.setDesc(WST.getInstrInfo()->get(WebAssembly::BR_TABLE_I32)); in fixBrTableIndex()
130 if (RangeCheck->getOpcode() != WebAssembly::GT_U_I32) in fixBrTableDefault()
170 if (WebAssembly::isBrTable(MI.getOpcode())) { in runOnMachineFunction()
H A DWebAssemblyISelLowering.cpp59 Subtarget->hasAddr64() ? WebAssembly::SP64 : WebAssembly::SP32); in WebAssemblyTargetLowering()
458 unsigned Abs = Float64 ? WebAssembly::ABS_F64 : WebAssembly::ABS_F32; in LowerFPToInt()
459 unsigned FConst = Float64 ? WebAssembly::CONST_F64 : WebAssembly::CONST_F32; in LowerFPToInt()
460 unsigned LT = Float64 ? WebAssembly::LT_F64 : WebAssembly::LT_F32; in LowerFPToInt()
461 unsigned GE = Float64 ? WebAssembly::GE_F64 : WebAssembly::GE_F32; in LowerFPToInt()
462 unsigned IConst = Int64 ? WebAssembly::CONST_I64 : WebAssembly::CONST_I32; in LowerFPToInt()
463 unsigned Eqz = WebAssembly::EQZ_I32; in LowerFPToInt()
570 CallOp = WebAssembly::RET_CALL; in LowerCallResults()
572 CallOp = WebAssembly::CALL; in LowerCallResults()
712 case WebAssembly::CALL_RESULTS: in EmitInstrWithCustomInserter()
[all …]
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.
97 // WebAssembly Processors supported.
112 // Latest and greatest experimental version of WebAssembly. Bugs included!
135 def WebAssembly : Target {
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/WebAssembly/Disassembler/
H A DWebAssemblyDisassembler.cpp200 case WebAssembly::OPERAND_LOCAL: in getInstruction()
201 case WebAssembly::OPERAND_GLOBAL: in getInstruction()
203 case WebAssembly::OPERAND_TABLE: in getInstruction()
204 case WebAssembly::OPERAND_OFFSET32: in getInstruction()
205 case WebAssembly::OPERAND_OFFSET64: in getInstruction()
206 case WebAssembly::OPERAND_P2ALIGN: in getInstruction()
208 case WebAssembly::OPERAND_TAG: in getInstruction()
215 case WebAssembly::OPERAND_I32IMM: in getInstruction()
216 case WebAssembly::OPERAND_I64IMM: { in getInstruction()
247 case WebAssembly::OPERAND_F32IMM: { in getInstruction()
[all …]
/freebsd-14.2/contrib/llvm-project/llvm/lib/Target/WebAssembly/Utils/
H A DWebAssemblyTypeUtilities.cpp23 MVT WebAssembly::parseMVT(StringRef Type) { in parseMVT()
39 wasm::ValType WebAssembly::toValType(MVT Type) { in toValType()
65 void WebAssembly::wasmSymbolSetType(MCSymbolWasm *Sym, const Type *GlobalVT, in wasmSymbolSetType()
74 if (WebAssembly::isWebAssemblyTableType(GlobalVT)) { in wasmSymbolSetType()
77 if (WebAssembly::isWebAssemblyExternrefType(ElTy)) in wasmSymbolSetType()
79 else if (WebAssembly::isWebAssemblyFuncrefType(ElTy)) in wasmSymbolSetType()
84 ValTy = WebAssembly::toValType(VTs[0]); in wasmSymbolSetType()
/freebsd-14.2/contrib/llvm-project/clang/lib/Driver/ToolChains/
H A DWebAssembly.cpp31 std::string WebAssembly::getMultiarchTriple(const Driver &D, in getMultiarchTriple()
212 WebAssembly::WebAssembly(const Driver &D, const llvm::Triple &Triple, in WebAssembly() function in WebAssembly
241 const char *WebAssembly::getDefaultLinker() const { in getDefaultLinker()
253 bool WebAssembly::isPICDefault() const { return false; } in isPICDefault()
261 bool WebAssembly::hasBlocksRuntime() const { return false; } in hasBlocksRuntime()
264 bool WebAssembly::SupportsProfiling() const { return false; } in SupportsProfiling()
420 WebAssembly::GetCXXStdlibType(const ArgList &Args) const { in GetCXXStdlibType()
504 SanitizerMask WebAssembly::getSupportedSanitizers() const { in getSupportedSanitizers()
515 Tool *WebAssembly::buildLinker() const { in buildLinker()
519 void WebAssembly::addLibCxxIncludePaths( in addLibCxxIncludePaths()
[all …]

12345