| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/MCTargetDesc/ |
| H A D | WebAssemblyMCTargetDesc.h | 38 namespace WebAssembly { 131 namespace WebAssembly { 331 case WebAssembly::TEE_I32: in isTee() 353 case WebAssembly::CALL: in isCallDirect() 354 case WebAssembly::CALL_S: in isCallDirect() 389 case WebAssembly::BLOCK: in isMarker() 393 case WebAssembly::LOOP: in isMarker() 394 case WebAssembly::LOOP_S: in isMarker() 397 case WebAssembly::TRY: in isMarker() 398 case WebAssembly::TRY_S: in isMarker() [all …]
|
| H A D | WebAssemblyMCCodeEmitter.cpp | 99 case WebAssembly::OPERAND_I32IMM: in encodeInstruction() 105 case WebAssembly::OPERAND_I64IMM: in encodeInstruction() 121 case WebAssembly::OPERAND_GLOBAL: in encodeInstruction() 141 case WebAssembly::OPERAND_I32IMM: in encodeInstruction() 144 case WebAssembly::OPERAND_I64IMM: in encodeInstruction() 149 case WebAssembly::OPERAND_TABLE: in encodeInstruction() 150 case WebAssembly::OPERAND_OFFSET32: in encodeInstruction() 151 case WebAssembly::OPERAND_SIGNATURE: in encodeInstruction() 153 case WebAssembly::OPERAND_GLOBAL: in encodeInstruction() 154 case WebAssembly::OPERAND_TAG: in encodeInstruction() [all …]
|
| H A D | WebAssemblyInstPrinter.cpp | 121 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 …]
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/Utils/ |
| H A D | WebAssemblyUtilities.cpp | 66 case WebAssembly::THROW: in mayThrow() 67 case WebAssembly::THROW_S: in mayThrow() 68 case WebAssembly::RETHROW: in mayThrow() 69 case WebAssembly::RETHROW_S: in mayThrow() 110 case WebAssembly::CALL: in getCalleeOp() 111 case WebAssembly::CALL_S: in getCalleeOp() 112 case WebAssembly::RET_CALL: in getCalleeOp() 113 case WebAssembly::RET_CALL_S: in getCalleeOp() 187 return WebAssembly::COPY_I32; in getCopyOpcodeForRegClass() 189 return WebAssembly::COPY_I64; in getCopyOpcodeForRegClass() [all …]
|
| H A D | WebAssemblyTypeUtilities.cpp | 45 WebAssembly::BlockType WebAssembly::parseBlockType(StringRef Type) { in parseBlockType() 59 MVT WebAssembly::parseMVT(StringRef Type) { in parseMVT() 111 S += WebAssembly::typeToString(Type); in typeListToString() 153 case WebAssembly::I32RegClassID: in regClassToValType() 155 case WebAssembly::I64RegClassID: in regClassToValType() 157 case WebAssembly::F32RegClassID: in regClassToValType() 159 case WebAssembly::F64RegClassID: in regClassToValType() 161 case WebAssembly::V128RegClassID: in regClassToValType() 163 case WebAssembly::FUNCREFRegClassID: in regClassToValType() 165 case WebAssembly::EXTERNREFRegClassID: in regClassToValType() [all …]
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyExplicitLocals.cpp | 89 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 D | WebAssemblyFastISel.cpp | 1034 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 D | WebAssemblyRegStackify.cpp | 182 case WebAssembly::DIV_S_I32: in query() 183 case WebAssembly::DIV_S_I64: in query() 184 case WebAssembly::REM_S_I32: in query() 185 case WebAssembly::REM_S_I64: in query() 186 case WebAssembly::DIV_U_I32: in query() 187 case WebAssembly::DIV_U_I64: in query() 188 case WebAssembly::REM_U_I32: in query() 189 case WebAssembly::REM_U_I64: in query() 217 case WebAssembly::DIV_S_I32: in query() 218 case WebAssembly::DIV_S_I64: in query() [all …]
|
| H A D | WebAssemblyInstrInfo.cpp | 39 WebAssembly::CATCHRET), in WebAssemblyInstrInfo() 45 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() 181 BuildMI(&MBB, DL, get(WebAssembly::BR)).addMBB(FBB); in insertBranch() 195 {WebAssembly::TI_LOCAL, "wasm-local"}, in getSerializableTargetIndices() [all …]
|
| H A D | WebAssemblyCFGStackify.cpp | 39 using WebAssembly::SortRegionInfo; 354 WebAssembly::BlockType ReturnType = WebAssembly::BlockType::Void; in placeBlockMarker() 1449 case WebAssembly::END_LOOP: in recalculateScopeTops() 1450 case WebAssembly::END_TRY: in recalculateScopeTops() 1451 case WebAssembly::DELEGATE: in recalculateScopeTops() 1454 case WebAssembly::CATCH: in recalculateScopeTops() 1657 case WebAssembly::BLOCK: in rewriteDepthImmediates() 1658 case WebAssembly::TRY: in rewriteDepthImmediates() 1665 case WebAssembly::LOOP: in rewriteDepthImmediates() 1687 case WebAssembly::CATCH: in rewriteDepthImmediates() [all …]
|
| H A D | WebAssemblyRegisterInfo.cpp | 47 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 D | WebAssemblyFrameLowering.cpp | 176 ? 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 D | WebAssemblyAsmPrinter.cpp | 341 &F, WebAssembly::WasmEnableEmEH || WebAssembly::WasmEnableEmSjLj, in emitDecls() 604 case WebAssembly::ARGUMENT_i32: in emitInstruction() 605 case WebAssembly::ARGUMENT_i32_S: in emitInstruction() 606 case WebAssembly::ARGUMENT_i64: in emitInstruction() 607 case WebAssembly::ARGUMENT_i64_S: in emitInstruction() 608 case WebAssembly::ARGUMENT_f32: in emitInstruction() 609 case WebAssembly::ARGUMENT_f32_S: in emitInstruction() 610 case WebAssembly::ARGUMENT_f64: in emitInstruction() 611 case WebAssembly::ARGUMENT_f64_S: in emitInstruction() 612 case WebAssembly::ARGUMENT_v16i8: in emitInstruction() [all …]
|
| H A D | WebAssemblyISelDAGToDAG.cpp | 91 assert(Tag == WebAssembly::CPP_EXCEPTION || WebAssembly::C_LONGJMP); in getTagSymNode() 95 const char *SymName = Tag == WebAssembly::CPP_EXCEPTION in getTagSymNode() 110 auto GlobalGetIns = PtrVT == MVT::i64 ? WebAssembly::GLOBAL_GET_I64 in Select() 111 : WebAssembly::GLOBAL_GET_I32; in Select() 128 Fence = CurDAG->getMachineNode(WebAssembly::COMPILER_FENCE, in Select() 138 WebAssembly::ATOMIC_FENCE, in Select() 194 CurDAG->getMachineNode(WebAssembly::CATCH, DL, in Select() 217 CurDAG->getMachineNode(WebAssembly::THROW, DL, in Select() 248 CurDAG->getMachineNode(WebAssembly::CALL_PARAMS, DL, MVT::Glue, Ops); in Select() 251 ? WebAssembly::CALL_RESULTS in Select() [all …]
|
| H A D | WebAssemblyReplacePhysRegs.cpp | 76 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 D | WebAssemblyMCInstLower.cpp | 53 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() 214 if (WebAssembly::isCallIndirect(MI->getOpcode())) in lower() 219 if (MI->getOpcode() == WebAssembly::RET_CALL_INDIRECT) in lower() 224 } else if (Info.OperandType == WebAssembly::OPERAND_SIGNATURE) { in lower() 225 auto BT = static_cast<WebAssembly::BlockType>(MO.getImm()); in lower() 226 assert(BT != WebAssembly::BlockType::Invalid); in lower() 227 if (BT == WebAssembly::BlockType::Multivalue) { in lower() [all …]
|
| H A D | README.txt | 1 //===-- 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: 22 Rust provides WebAssembly support integrated into Cargo. There are two 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 D | WebAssemblyLateEHPrepare.cpp | 158 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 D | WebAssemblyISelLowering.cpp | 58 Subtarget->hasAddr64() ? WebAssembly::SP64 : WebAssembly::SP32); in WebAssemblyTargetLowering() 440 unsigned Abs = Float64 ? WebAssembly::ABS_F64 : WebAssembly::ABS_F32; in LowerFPToInt() 441 unsigned FConst = Float64 ? WebAssembly::CONST_F64 : WebAssembly::CONST_F32; in LowerFPToInt() 442 unsigned LT = Float64 ? WebAssembly::LT_F64 : WebAssembly::LT_F32; in LowerFPToInt() 443 unsigned GE = Float64 ? WebAssembly::GE_F64 : WebAssembly::GE_F32; in LowerFPToInt() 444 unsigned IConst = Int64 ? WebAssembly::CONST_I64 : WebAssembly::CONST_I32; in LowerFPToInt() 445 unsigned Eqz = WebAssembly::EQZ_I32; in LowerFPToInt() 551 CallOp = WebAssembly::RET_CALL; in LowerCallResults() 553 CallOp = WebAssembly::CALL; in LowerCallResults() 693 case WebAssembly::CALL_RESULTS: in EmitInstrWithCustomInserter() [all …]
|
| H A D | WebAssemblySetP2AlignOperands.cpp | 63 (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 D | WebAssemblyFixBrTableDefaults.cpp | 57 assert(MI.getDesc().getOpcode() == WebAssembly::BR_TABLE_I64 && in fixBrTableIndex() 62 if (ExtMI->getOpcode() == WebAssembly::I64_EXTEND_U_I32) { in fixBrTableIndex() 74 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); in fixBrTableIndex() 76 WST.getInstrInfo()->get(WebAssembly::I32_WRAP_I64), Reg32) in fixBrTableIndex() 83 MI.setDesc(WST.getInstrInfo()->get(WebAssembly::BR_TABLE_I32)); in fixBrTableIndex() 129 if (RangeCheck->getOpcode() != WebAssembly::GT_U_I32) in fixBrTableDefault() 169 if (WebAssembly::isBrTable(MI)) { in runOnMachineFunction()
|
| /llvm-project-15.0.7/llvm/lib/Target/WebAssembly/Disassembler/ |
| H A D | WebAssemblyDisassembler.cpp | 198 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() 245 case WebAssembly::OPERAND_F32IMM: { in getInstruction() [all …]
|
| /llvm-project-15.0.7/clang/lib/Driver/ToolChains/ |
| H A D | WebAssembly.cpp | 31 std::string WebAssembly::getMultiarchTriple(const Driver &D, in getMultiarchTriple() 169 WebAssembly::WebAssembly(const Driver &D, const llvm::Triple &Triple, in WebAssembly() function in WebAssembly 198 bool WebAssembly::IsMathErrnoDefault() const { return false; } in IsMathErrnoDefault() 204 bool WebAssembly::isPICDefault() const { return false; } in isPICDefault() 214 bool WebAssembly::hasBlocksRuntime() const { return false; } in hasBlocksRuntime() 217 bool WebAssembly::SupportsProfiling() const { return false; } in SupportsProfiling() 373 WebAssembly::GetCXXStdlibType(const ArgList &Args) const { in GetCXXStdlibType() 457 SanitizerMask WebAssembly::getSupportedSanitizers() const { in getSupportedSanitizers() 465 Tool *WebAssembly::buildLinker() const { in buildLinker() 469 void WebAssembly::addLibCxxIncludePaths( in addLibCxxIncludePaths() [all …]
|
| /llvm-project-15.0.7/llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/MCTargetDesc/ |
| H A D | BUILD.gn | 6 td_file = "../WebAssembly.td" 12 td_file = "../WebAssembly.td" 18 td_file = "../WebAssembly.td" 24 td_file = "../WebAssembly.td" 53 "//llvm/lib/Target/WebAssembly/TargetInfo", 54 "//llvm/lib/Target/WebAssembly/Utils",
|
| /llvm-project-15.0.7/llvm/utils/gn/secondary/llvm/unittests/Target/WebAssembly/ |
| H A D | BUILD.gn | 10 "//llvm/lib/Target/WebAssembly:LLVMWebAssemblyCodeGen", 11 "//llvm/lib/Target/WebAssembly/MCTargetDesc", 12 "//llvm/lib/Target/WebAssembly/TargetInfo", 14 include_dirs = [ "//llvm/lib/Target/WebAssembly" ]
|