Home
last modified time | relevance | path

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

1234

/freebsd-12.1/contrib/llvm/lib/Target/WebAssembly/MCTargetDesc/
H A DWebAssemblyMCTargetDesc.h46 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 DWebAssemblyMCCodeEmitter.cpp96 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 DWebAssemblyUtilities.cpp58 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 DWebAssemblySetP2AlignOperands.cpp88 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 DWebAssemblyExplicitLocals.cpp84 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 DWebAssemblyFastISel.cpp992 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 DWebAssemblyPeephole.cpp132 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 DWebAssemblyAsmPrinter.cpp200 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 DWebAssemblyInstrInfo.cpp40 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 DWebAssemblyCFGStackify.cpp115 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 DWebAssemblyRegStackify.cpp187 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 DWebAssemblyFrameLowering.cpp148 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 DWebAssemblyRegisterInfo.cpp48 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 DWebAssemblyLateEHPrepare.cpp133 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 DWebAssemblyISelLowering.cpp56 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 DWebAssemblyReplacePhysRegs.cpp80 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 DREADME.txt1 //===-- 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 DWebAssembly.td1 //- 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 DWebAssemblyMCInstLower.cpp151 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 DWebAssemblyRegisterInfo.td1 //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 DWebAssemblyInstPrinter.cpp78 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 DWebAssembly.cpp79 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 DWebAssemblyDisassembler.cpp158 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 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
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 DTargetCXXABI.h105 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()

1234