| /freebsd-12.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/ |
| H A D | WebAssemblyMCTargetDesc.h | 46 namespace WebAssembly { 118 namespace WebAssembly { 135 case WebAssembly::STORE8_I32: in GetDefaultP2Align() 137 case WebAssembly::STORE8_I64: in GetDefaultP2Align() 221 case WebAssembly::LOAD_I32: in GetDefaultP2Align() 223 case WebAssembly::LOAD_F32: in GetDefaultP2Align() 225 case WebAssembly::STORE_I32: in GetDefaultP2Align() 227 case WebAssembly::STORE_F32: in GetDefaultP2Align() 276 case WebAssembly::LOAD_I64: in GetDefaultP2Align() 278 case WebAssembly::LOAD_F64: in GetDefaultP2Align() [all …]
|
| H A D | WebAssemblyMCCodeEmitter.cpp | 96 case WebAssembly::OPERAND_I32IMM: in encodeInstruction() 99 case WebAssembly::OPERAND_OFFSET32: in encodeInstruction() 102 case WebAssembly::OPERAND_I64IMM: in encodeInstruction() 120 case WebAssembly::OPERAND_GLOBAL: in encodeInstruction() 147 case WebAssembly::OPERAND_I32IMM: in encodeInstruction() 150 case WebAssembly::OPERAND_I64IMM: in encodeInstruction() 154 case WebAssembly::OPERAND_FUNCTION32: in encodeInstruction() 155 case WebAssembly::OPERAND_OFFSET32: in encodeInstruction() 156 case WebAssembly::OPERAND_TYPEINDEX: in encodeInstruction() 157 case WebAssembly::OPERAND_GLOBAL: in encodeInstruction() [all …]
|
| /freebsd-12.1/contrib/llvm/lib/Target/WebAssembly/ |
| H A D | WebAssemblyUtilities.cpp | 58 case WebAssembly::COPY_I32: in isCopy() 60 case WebAssembly::COPY_I64: in isCopy() 62 case WebAssembly::COPY_F32: in isCopy() 76 case WebAssembly::TEE_I32: in isTee() 78 case WebAssembly::TEE_I64: in isTee() 80 case WebAssembly::TEE_F32: in isTee() 82 case WebAssembly::TEE_F64: in isTee() 228 case WebAssembly::BLOCK: in isMarker() 232 case WebAssembly::LOOP: in isMarker() 236 case WebAssembly::TRY: in isMarker() [all …]
|
| H A D | WebAssemblySetP2AlignOperands.cpp | 88 case WebAssembly::LOAD_I32: in runOnMachineFunction() 89 case WebAssembly::LOAD_I64: in runOnMachineFunction() 90 case WebAssembly::LOAD_F32: in runOnMachineFunction() 91 case WebAssembly::LOAD_F64: in runOnMachineFunction() 92 case WebAssembly::LOAD_v16i8: in runOnMachineFunction() 93 case WebAssembly::LOAD_v8i16: in runOnMachineFunction() 94 case WebAssembly::LOAD_v4i32: in runOnMachineFunction() 95 case WebAssembly::LOAD_v2i64: in runOnMachineFunction() 96 case WebAssembly::LOAD_v4f32: in runOnMachineFunction() 97 case WebAssembly::LOAD_v2f64: in runOnMachineFunction() [all …]
|
| H A D | WebAssemblyExplicitLocals.cpp | 84 if (RC == &WebAssembly::I32RegClass) in getDropOpcode() 85 return WebAssembly::DROP_I32; in getDropOpcode() 86 if (RC == &WebAssembly::I64RegClass) in getDropOpcode() 87 return WebAssembly::DROP_I64; in getDropOpcode() 88 if (RC == &WebAssembly::F32RegClass) in getDropOpcode() 89 return WebAssembly::DROP_F32; in getDropOpcode() 90 if (RC == &WebAssembly::F64RegClass) in getDropOpcode() 91 return WebAssembly::DROP_F64; in getDropOpcode() 93 return WebAssembly::DROP_V128; in getDropOpcode() 101 if (RC == &WebAssembly::I32RegClass) in getGetLocalOpcode() [all …]
|
| H A D | WebAssemblyFastISel.cpp | 992 Opc = I32 ? WebAssembly::EQ_I32 : WebAssembly::EQ_I64; in selectICmp() 995 Opc = I32 ? WebAssembly::NE_I32 : WebAssembly::NE_I64; in selectICmp() 1061 Opc = F32 ? WebAssembly::EQ_F32 : WebAssembly::EQ_F64; in selectFCmp() 1064 Opc = F32 ? WebAssembly::NE_F32 : WebAssembly::NE_F64; in selectFCmp() 1067 Opc = F32 ? WebAssembly::GT_F32 : WebAssembly::GT_F64; in selectFCmp() 1070 Opc = F32 ? WebAssembly::GE_F32 : WebAssembly::GE_F64; in selectFCmp() 1073 Opc = F32 ? WebAssembly::LT_F32 : WebAssembly::LT_F64; in selectFCmp() 1076 Opc = F32 ? WebAssembly::LE_F32 : WebAssembly::LE_F64; in selectFCmp() 1079 Opc = F32 ? WebAssembly::LE_F32 : WebAssembly::LE_F64; in selectFCmp() 1083 Opc = F32 ? WebAssembly::LT_F32 : WebAssembly::LT_F64; in selectFCmp() [all …]
|
| H A D | WebAssemblyPeephole.cpp | 132 case WebAssembly::CALL_I32: in runOnMachineFunction() 133 case WebAssembly::CALL_I64: { in runOnMachineFunction() 160 case WebAssembly::RETURN_I32: in runOnMachineFunction() 163 WebAssembly::COPY_I32); in runOnMachineFunction() 165 case WebAssembly::RETURN_I64: in runOnMachineFunction() 168 WebAssembly::COPY_I64); in runOnMachineFunction() 170 case WebAssembly::RETURN_F32: in runOnMachineFunction() 173 WebAssembly::COPY_F32); in runOnMachineFunction() 175 case WebAssembly::RETURN_F64: in runOnMachineFunction() 178 WebAssembly::COPY_F64); in runOnMachineFunction() [all …]
|
| H A D | WebAssemblyAsmPrinter.cpp | 200 case WebAssembly::ARGUMENT_i32: in EmitInstruction() 201 case WebAssembly::ARGUMENT_i32_S: in EmitInstruction() 202 case WebAssembly::ARGUMENT_i64: in EmitInstruction() 203 case WebAssembly::ARGUMENT_i64_S: in EmitInstruction() 204 case WebAssembly::ARGUMENT_f32: in EmitInstruction() 205 case WebAssembly::ARGUMENT_f32_S: in EmitInstruction() 206 case WebAssembly::ARGUMENT_f64: in EmitInstruction() 207 case WebAssembly::ARGUMENT_f64_S: in EmitInstruction() 208 case WebAssembly::ARGUMENT_v16i8: in EmitInstruction() 210 case WebAssembly::ARGUMENT_v8i16: in EmitInstruction() [all …]
|
| H A D | WebAssemblyInstrInfo.cpp | 40 case WebAssembly::CONST_I32: in isReallyTriviallyReMaterializable() 41 case WebAssembly::CONST_I64: in isReallyTriviallyReMaterializable() 42 case WebAssembly::CONST_F32: in isReallyTriviallyReMaterializable() 43 case WebAssembly::CONST_F64: in isReallyTriviallyReMaterializable() 65 if (RC == &WebAssembly::I32RegClass) in copyPhysReg() 66 CopyOpcode = WebAssembly::COPY_I32; in copyPhysReg() 68 CopyOpcode = WebAssembly::COPY_I64; in copyPhysReg() 70 CopyOpcode = WebAssembly::COPY_F32; in copyPhysReg() 107 case WebAssembly::BR_IF: in analyzeBranch() 118 case WebAssembly::BR_UNLESS: in analyzeBranch() [all …]
|
| H A D | WebAssemblyCFGStackify.cpp | 115 if (!WebAssembly::isRethrow(MI)) in ExplicitlyBranchesTo() 620 WebAssembly::ExprType retType; in fixEndsAtEndOfFunction() 706 case WebAssembly::BLOCK: in rewriteDepthImmediates() 713 case WebAssembly::TRY: in rewriteDepthImmediates() 721 case WebAssembly::CATCH_I32: in rewriteDepthImmediates() 722 case WebAssembly::CATCH_I64: in rewriteDepthImmediates() 723 case WebAssembly::CATCH_ALL: in rewriteDepthImmediates() 740 case WebAssembly::LOOP: in rewriteDepthImmediates() 745 case WebAssembly::END_BLOCK: in rewriteDepthImmediates() 746 case WebAssembly::END_TRY: in rewriteDepthImmediates() [all …]
|
| H A D | WebAssemblyRegStackify.cpp | 187 case WebAssembly::DIV_S_I32: in Query() 188 case WebAssembly::DIV_S_I64: in Query() 189 case WebAssembly::REM_S_I32: in Query() 190 case WebAssembly::REM_S_I64: in Query() 191 case WebAssembly::DIV_U_I32: in Query() 192 case WebAssembly::DIV_U_I64: in Query() 193 case WebAssembly::REM_U_I32: in Query() 194 case WebAssembly::REM_U_I64: in Query() 222 case WebAssembly::DIV_S_I32: in Query() 223 case WebAssembly::DIV_S_I64: in Query() [all …]
|
| H A D | WebAssemblyFrameLowering.cpp | 148 writeSPToGlobal(WebAssembly::SP32, MF, MBB, I, DL); in eliminateCallFramePseudoInstr() 174 unsigned SPReg = WebAssembly::SP32; in emitPrologue() 196 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::SUB_I32), in emitPrologue() 197 WebAssembly::SP32) in emitPrologue() 208 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::AND_I32), in emitPrologue() 209 WebAssembly::SP32) in emitPrologue() 210 .addReg(WebAssembly::SP32) in emitPrologue() 217 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::COPY), WebAssembly::FP32) in emitPrologue() 218 .addReg(WebAssembly::SP32); in emitPrologue() 254 .addReg(hasFP(MF) ? WebAssembly::FP32 : WebAssembly::SP32) in emitEpilogue() [all …]
|
| H A D | WebAssemblyRegisterInfo.cpp | 48 for (auto Reg : {WebAssembly::SP32, WebAssembly::SP64, WebAssembly::FP32, in getReservedRegs() 49 WebAssembly::FP64}) in getReservedRegs() 74 if ((MI.mayLoad() && FIOperandNum == WebAssembly::LoadAddressOperandNo) || in eliminateFrameIndex() 89 if (MI.getOpcode() == WebAssembly::ADD_I32) { in eliminateFrameIndex() 98 if (Def && Def->getOpcode() == WebAssembly::CONST_I32 && in eliminateFrameIndex() 119 BuildMI(MBB, *II, II->getDebugLoc(), TII->get(WebAssembly::CONST_I32), in eliminateFrameIndex() 123 BuildMI(MBB, *II, II->getDebugLoc(), TII->get(WebAssembly::ADD_I32), in eliminateFrameIndex() 135 /* !hasFP */ {WebAssembly::SP32, WebAssembly::SP64}, in getFrameRegister() 136 /* hasFP */ {WebAssembly::FP32, WebAssembly::FP64}}; in getFrameRegister() 146 return &WebAssembly::I64RegClass; in getPointerRegClass() [all …]
|
| H A D | WebAssemblyLateEHPrepare.cpp | 133 if (!WebAssembly::isThrow(MI)) in removeUnnecessaryUnreachables() 165 case WebAssembly::CATCHRET: { in replaceFuncletReturns() 175 case WebAssembly::CLEANUPRET: { in replaceFuncletReturns() 210 if (WebAssembly::isCatch(MI)) in hoistCatches() 234 if (!WebAssembly::isCatch(*MBB.begin())) { in addCatchAlls() 237 TII.get(WebAssembly::CATCH_ALL)); in addCatchAlls() 267 TII.get(WebAssembly::RETHROW)) in addRethrows() 331 assert(WebAssembly::isCatch(*Catch)); in ensureSingleBBTermPads() 339 TII.get(WebAssembly::UNREACHABLE)); in ensureSingleBBTermPads() 359 if (WebAssembly::isCatchTerminatePad(MBB)) in mergeTerminatePads() [all …]
|
| H A D | WebAssemblyISelLowering.cpp | 56 Subtarget->hasAddr64() ? WebAssembly::SP64 : WebAssembly::SP32); in WebAssemblyTargetLowering() 314 unsigned Abs = Float64 ? WebAssembly::ABS_F64 : WebAssembly::ABS_F32; in LowerFPToInt() 315 unsigned FConst = Float64 ? WebAssembly::CONST_F64 : WebAssembly::CONST_F32; in LowerFPToInt() 316 unsigned LT = Float64 ? WebAssembly::LT_F64 : WebAssembly::LT_F32; in LowerFPToInt() 317 unsigned GE = Float64 ? WebAssembly::GE_F64 : WebAssembly::GE_F32; in LowerFPToInt() 318 unsigned IConst = Int64 ? WebAssembly::CONST_I64 : WebAssembly::CONST_I32; in LowerFPToInt() 319 unsigned Eqz = WebAssembly::EQZ_I32; in LowerFPToInt() 320 unsigned And = WebAssembly::AND_I32; in LowerFPToInt() 406 case WebAssembly::FP_TO_SINT_I32_F32: in EmitInstrWithCustomInserter() 409 case WebAssembly::FP_TO_UINT_I32_F32: in EmitInstrWithCustomInserter() [all …]
|
| H A D | WebAssemblyReplacePhysRegs.cpp | 80 for (unsigned PReg = WebAssembly::NoRegister + 1; in runOnMachineFunction() 81 PReg < WebAssembly::NUM_TARGET_REGS; ++PReg) { in runOnMachineFunction() 83 if (PReg == WebAssembly::VALUE_STACK || PReg == WebAssembly::ARGUMENTS) in runOnMachineFunction() 88 unsigned VReg = WebAssembly::NoRegister; in runOnMachineFunction() 92 if (VReg == WebAssembly::NoRegister) in runOnMachineFunction()
|
| H A D | README.txt | 1 //===-- README.txt - Notes for WebAssembly code gen -----------------------===// 3 This WebAssembly backend is presently under development. 16 * https://github.com/kripken/emscripten/wiki/New-WebAssembly-Backend 18 Rust provides WebAssembly support integrated into Cargo. There are two 40 * https://lld.llvm.org/WebAssembly.html 42 For more information on WebAssembly itself, see the home page: 46 encoding of WebAssembly itself: 47 * https://github.com/WebAssembly/design/blob/master/Semantics.md 73 WebAssembly. 110 being run after the WebAssembly PEI pass. [all …]
|
| H A D | WebAssembly.td | 1 //- WebAssembly.td - Describe the WebAssembly Target Machine --*- tablegen -*-// 11 /// This is a target description file for the WebAssembly architecture, 23 // WebAssembly Subtarget features. 70 // WebAssembly Processors supported. 79 // Latest and greatest experimental version of WebAssembly. Bugs included! 100 def WebAssembly : Target {
|
| H A D | WebAssemblyMCInstLower.cpp | 151 if (RC == &WebAssembly::I32RegClass) in getType() 153 if (RC == &WebAssembly::I64RegClass) in getType() 155 if (RC == &WebAssembly::F32RegClass) in getType() 157 if (RC == &WebAssembly::F64RegClass) in getType() 159 if (RC == &WebAssembly::V128RegClass) in getType() 193 if (Info.OperandType == WebAssembly::OPERAND_TYPEINDEX) { in Lower() 209 if (WebAssembly::isCallIndirect(*MI)) in Lower() 293 auto StackOpcode = WebAssembly::getStackOpcode(RegOpcode); in removeRegisterOperands()
|
| H A D | WebAssemblyRegisterInfo.td | 1 //WebAssemblyRegisterInfo.td-Describe the WebAssembly Registers -*- tablegen -*- 11 /// This file describes the WebAssembly register classes and some nominal 17 let Namespace = "WebAssembly"; 21 : RegisterClass<"WebAssembly", regTypes, alignment, regList>; 29 // WebAssembly may someday supports mixed 32-bit and 64-bit heaps in the same
|
| /freebsd-12.1/contrib/llvm/lib/Target/WebAssembly/InstPrinter/ |
| H A D | WebAssemblyInstPrinter.cpp | 78 case WebAssembly::LOOP: in printInst() 79 case WebAssembly::LOOP_S: in printInst() 84 case WebAssembly::BLOCK: in printInst() 85 case WebAssembly::BLOCK_S: in printInst() 89 case WebAssembly::TRY: in printInst() 90 case WebAssembly::TRY_S: in printInst() 96 case WebAssembly::END_LOOP: in printInst() 105 case WebAssembly::END_BLOCK: in printInst() 115 case WebAssembly::END_TRY: in printInst() 116 case WebAssembly::END_TRY_S: in printInst() [all …]
|
| /freebsd-12.1/contrib/llvm/tools/clang/lib/Driver/ToolChains/ |
| H A D | WebAssembly.cpp | 79 WebAssembly::WebAssembly(const Driver &D, const llvm::Triple &Triple, in WebAssembly() function in WebAssembly 100 bool WebAssembly::IsMathErrnoDefault() const { return false; } in IsMathErrnoDefault() 104 bool WebAssembly::UseObjCMixedDispatch() const { return true; } in UseObjCMixedDispatch() 106 bool WebAssembly::isPICDefault() const { return false; } in isPICDefault() 108 bool WebAssembly::isPIEDefault() const { return false; } in isPIEDefault() 110 bool WebAssembly::isPICDefaultForced() const { return false; } in isPICDefaultForced() 114 bool WebAssembly::hasBlocksRuntime() const { return false; } in hasBlocksRuntime() 117 bool WebAssembly::SupportsProfiling() const { return false; } in SupportsProfiling() 134 WebAssembly::GetCXXStdlibType(const ArgList &Args) const { in GetCXXStdlibType() 184 std::string WebAssembly::getThreadModel() const { in getThreadModel() [all …]
|
| /freebsd-12.1/contrib/llvm/lib/Target/WebAssembly/Disassembler/ |
| H A D | WebAssemblyDisassembler.cpp | 158 case WebAssembly::OPERAND_LOCAL: in getInstruction() 159 case WebAssembly::OPERAND_GLOBAL: in getInstruction() 160 case WebAssembly::OPERAND_FUNCTION32: in getInstruction() 161 case WebAssembly::OPERAND_OFFSET32: in getInstruction() 162 case WebAssembly::OPERAND_P2ALIGN: in getInstruction() 163 case WebAssembly::OPERAND_TYPEINDEX: in getInstruction() 170 case WebAssembly::OPERAND_I32IMM: in getInstruction() 171 case WebAssembly::OPERAND_I64IMM: { in getInstruction() 183 case WebAssembly::OPERAND_F32IMM: { in getInstruction() 188 case WebAssembly::OPERAND_F64IMM: { in getInstruction() [all …]
|
| /freebsd-12.1/contrib/llvm/tools/lld/docs/ |
| H A D | WebAssembly.rst | 1 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 14 the WebAssembly tool conventions 15 https://github.com/WebAssembly/tool-conventions/blob/master/Linking.md. 18 ``wasm32-unknown-unknown`` target. To build llvm with WebAssembly support 20 ``-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly``. 26 The WebAssembly version of lld is installed as **wasm-ld**. It shared many 28 WebAssembly-specific options: 96 Since WebAssembly is designed with size in mind the linker defaults to [all …]
|
| /freebsd-12.1/contrib/llvm/tools/clang/include/clang/Basic/ |
| H A D | TargetCXXABI.h | 105 WebAssembly, enumerator 144 case WebAssembly: in isItaniumFamily() 163 case WebAssembly: in isMicrosoft() 183 case WebAssembly: in areMemberFunctionsAligned() 263 case WebAssembly: in canKeyFunctionBeInline() 323 case WebAssembly: in getTailPaddingUseRules()
|