Home
last modified time | relevance | path

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

12345678

/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/MCTargetDesc/
H A DWebAssemblyMCTargetDesc.h39 namespace WebAssembly {
130 namespace WebAssembly {
140 case WebAssembly::NAME##_A32: \ in GetDefaultP2AlignAny()
141 case WebAssembly::NAME##_A64: \ in GetDefaultP2AlignAny()
142 case WebAssembly::NAME##_A32_S: \ in GetDefaultP2AlignAny()
143 case WebAssembly::NAME##_A64_S: in GetDefaultP2AlignAny()
276 case WebAssembly::ARGUMENT_i32: in isArgument()
277 case WebAssembly::ARGUMENT_i32_S: in isArgument()
278 case WebAssembly::ARGUMENT_i64: in isArgument()
279 case WebAssembly::ARGUMENT_i64_S: in isArgument()
[all …]
H A DWebAssemblyMCCodeEmitter.cpp80 if (MI.getOpcode() == WebAssembly::BR_TABLE_I32_S || in encodeInstruction()
81 MI.getOpcode() == WebAssembly::BR_TABLE_I64_S) in encodeInstruction()
83 if (MI.getOpcode() == WebAssembly::BR_TABLE_I32 || in encodeInstruction()
84 MI.getOpcode() == WebAssembly::BR_TABLE_I64) in encodeInstruction()
99 case WebAssembly::OPERAND_I32IMM: in encodeInstruction()
102 case WebAssembly::OPERAND_OFFSET32: in encodeInstruction()
105 case WebAssembly::OPERAND_I64IMM: in encodeInstruction()
108 case WebAssembly::OPERAND_SIGNATURE: in encodeInstruction()
109 case WebAssembly::OPERAND_HEAPTYPE: in encodeInstruction()
112 case WebAssembly::OPERAND_VEC_I8IMM: in encodeInstruction()
[all …]
H A DWebAssemblyInstPrinter.cpp53 case WebAssembly::CALL_INDIRECT_S: in printInst()
54 case WebAssembly::RET_CALL_INDIRECT_S: { in printInst()
97 if (MI->getOpcode() == WebAssembly::CALL_INDIRECT && in printInst()
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()
139 case WebAssembly::END_LOOP: in printInst()
[all …]
/netbsd-src/external/apache2/llvm/dist/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()
97 if (RC == &WebAssembly::V128RegClass) in getDropOpcode()
98 return WebAssembly::DROP_V128; in getDropOpcode()
[all …]
H A DWebAssemblyFastISel.cpp383 Reg = createResultReg(Subtarget->hasAddr64() ? &WebAssembly::I64RegClass in materializeLoadStoreOperands()
384 : &WebAssembly::I32RegClass); in materializeLoadStoreOperands()
385 unsigned Opc = Subtarget->hasAddr64() ? WebAssembly::CONST_I64 in materializeLoadStoreOperands()
386 : WebAssembly::CONST_I32; in materializeLoadStoreOperands()
461 unsigned Imm = createResultReg(&WebAssembly::I32RegClass); in zeroExtendToI32()
463 TII.get(WebAssembly::CONST_I32), Imm) in zeroExtendToI32()
466 unsigned Result = createResultReg(&WebAssembly::I32RegClass); in zeroExtendToI32()
468 TII.get(WebAssembly::AND_I32), Result) in zeroExtendToI32()
491 unsigned Imm = createResultReg(&WebAssembly::I32RegClass); in signExtendToI32()
493 TII.get(WebAssembly::CONST_I32), Imm) in signExtendToI32()
[all …]
H A DWebAssemblyInstrInfo.cpp36 : WebAssemblyGenInstrInfo(WebAssembly::ADJCALLSTACKDOWN, in WebAssemblyInstrInfo()
37 WebAssembly::ADJCALLSTACKUP, in WebAssemblyInstrInfo()
38 WebAssembly::CATCHRET), in WebAssemblyInstrInfo()
44 case WebAssembly::CONST_I32: in isReallyTriviallyReMaterializable()
45 case WebAssembly::CONST_I64: in isReallyTriviallyReMaterializable()
46 case WebAssembly::CONST_F32: in isReallyTriviallyReMaterializable()
47 case WebAssembly::CONST_F64: in isReallyTriviallyReMaterializable()
69 if (RC == &WebAssembly::I32RegClass) in copyPhysReg()
70 CopyOpcode = WebAssembly::COPY_I32; in copyPhysReg()
71 else if (RC == &WebAssembly::I64RegClass) in copyPhysReg()
[all …]
H A DWebAssemblyCFGStackify.cpp39 using WebAssembly::SortRegionInfo;
305 if (MI.getOpcode() == WebAssembly::LOOP) { in placeBlockMarker()
319 if (MI.getOpcode() == WebAssembly::BLOCK || in placeBlockMarker()
320 MI.getOpcode() == WebAssembly::TRY) { in placeBlockMarker()
331 if (MI.getOpcode() == WebAssembly::END_BLOCK || in placeBlockMarker()
332 MI.getOpcode() == WebAssembly::END_LOOP || in placeBlockMarker()
333 MI.getOpcode() == WebAssembly::END_TRY) in placeBlockMarker()
347 if (WebAssembly::isChild(*std::prev(I), MFI)) in placeBlockMarker()
354 WebAssembly::BlockType ReturnType = WebAssembly::BlockType::Void; in placeBlockMarker()
358 TII.get(WebAssembly::BLOCK)) in placeBlockMarker()
[all …]
H A DWebAssemblyRegStackify.cpp85 if (!MI->definesRegister(WebAssembly::VALUE_STACK)) in imposeStackOrdering()
86 MI->addOperand(MachineOperand::CreateReg(WebAssembly::VALUE_STACK, in imposeStackOrdering()
91 if (!MI->readsRegister(WebAssembly::VALUE_STACK)) in imposeStackOrdering()
92 MI->addOperand(MachineOperand::CreateReg(WebAssembly::VALUE_STACK, in imposeStackOrdering()
107 if (RegClass == &WebAssembly::I32RegClass) { in convertImplicitDefToConstZero()
108 MI->setDesc(TII->get(WebAssembly::CONST_I32)); in convertImplicitDefToConstZero()
110 } else if (RegClass == &WebAssembly::I64RegClass) { in convertImplicitDefToConstZero()
111 MI->setDesc(TII->get(WebAssembly::CONST_I64)); in convertImplicitDefToConstZero()
113 } else if (RegClass == &WebAssembly::F32RegClass) { in convertImplicitDefToConstZero()
114 MI->setDesc(TII->get(WebAssembly::CONST_F32)); in convertImplicitDefToConstZero()
[all …]
H A DWebAssemblyPeephole.cpp86 assert(End->getOpcode() == WebAssembly::END_FUNCTION); in maybeRewriteToFallthrough()
99 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()
106 CopyLocalOpc = WebAssembly::COPY_F32; in maybeRewriteToFallthrough()
108 case WebAssembly::F64RegClassID: in maybeRewriteToFallthrough()
109 CopyLocalOpc = WebAssembly::COPY_F64; in maybeRewriteToFallthrough()
111 case WebAssembly::V128RegClassID: in maybeRewriteToFallthrough()
[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.cpp128 ? WebAssembly::SP64 in getSPReg()
129 : WebAssembly::SP32; in getSPReg()
134 ? WebAssembly::FP64 in getFPReg()
135 : WebAssembly::FP32; in getFPReg()
141 ? WebAssembly::CONST_I64 in getOpcConst()
142 : WebAssembly::CONST_I32; in getOpcConst()
147 ? WebAssembly::ADD_I64 in getOpcAdd()
148 : WebAssembly::ADD_I32; in getOpcAdd()
153 ? WebAssembly::SUB_I64 in getOpcSub()
154 : WebAssembly::SUB_I32; in getOpcSub()
[all …]
H A DWebAssemblyAsmPrinter.cpp162 WebAssembly::signatureToString(Sig); in getMCSymbolForFunction()
174 if (!WebAssembly::isWasmVarAddressSpace(GV->getAddressSpace())) { in emitGlobalVariable()
193 wasm::ValType Type = WebAssembly::toValType(VT); in emitGlobalVariable()
301 WebAssembly::getOrCreateFunctionTableSymbol(OutContext, Subtarget); in emitEndOfAsmFile()
307 !WebAssembly::isWasmVarAddressSpace(G.getAddressSpace()) && in emitEndOfAsmFile()
488 case WebAssembly::ARGUMENT_i32: in emitInstruction()
489 case WebAssembly::ARGUMENT_i32_S: in emitInstruction()
490 case WebAssembly::ARGUMENT_i64: in emitInstruction()
491 case WebAssembly::ARGUMENT_i64_S: in emitInstruction()
492 case WebAssembly::ARGUMENT_f32: in emitInstruction()
[all …]
H A DWebAssemblyMCInstLower.cpp55 if (WebAssembly::isWasmVarAddressSpace(Global->getAddressSpace()) && in GetGlobalAddressSymbol()
66 wasm::ValType Type = WebAssembly::toValType(VTs[0]); in GetGlobalAddressSymbol()
211 if (RC == &WebAssembly::I32RegClass) in getType()
213 if (RC == &WebAssembly::I64RegClass) in getType()
215 if (RC == &WebAssembly::F32RegClass) in getType()
217 if (RC == &WebAssembly::F64RegClass) in getType()
219 if (RC == &WebAssembly::V128RegClass) in getType()
265 if (Info.OperandType == WebAssembly::OPERAND_TYPEINDEX) { in lower()
279 if (WebAssembly::isCallIndirect(MI->getOpcode())) in lower()
284 if (MI->getOpcode() == WebAssembly::RET_CALL_INDIRECT) 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/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:
16 includes standard libraries, tools, and packaging for producing WebAssembly
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
35 * https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md
[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 …]
/netbsd-src/external/gpl3/binutils/dist/gas/doc/
H A Dc-wasm32.texi8 @node WebAssembly-Dependent
9 @chapter WebAssembly Dependent Features
14 @chapter WebAssembly Dependent Features
17 @cindex WebAssembly support
19 * WebAssembly-Notes:: Notes
20 * WebAssembly-Syntax:: Syntax
21 * WebAssembly-Floating-Point:: Floating Point
22 * WebAssembly-Opcodes:: Opcodes
23 * WebAssembly-module-layout:: Module Layout
26 @node WebAssembly-Notes
[all …]
/netbsd-src/external/gpl3/binutils.old/dist/gas/doc/
H A Dc-wasm32.texi8 @node WebAssembly-Dependent
9 @chapter WebAssembly Dependent Features
14 @chapter WebAssembly Dependent Features
17 @cindex WebAssembly support
19 * WebAssembly-Notes:: Notes
20 * WebAssembly-Syntax:: Syntax
21 * WebAssembly-Floating-Point:: Floating Point
22 * WebAssembly-Opcodes:: Opcodes
23 * WebAssembly-module-layout:: Module Layout
26 @node WebAssembly-Notes
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/Utils/
H A DWebAssemblyUtilities.cpp21 const char *const WebAssembly::CxaBeginCatchFn = "__cxa_begin_catch";
22 const char *const WebAssembly::CxaRethrowFn = "__cxa_rethrow";
23 const char *const WebAssembly::StdTerminateFn = "_ZSt9terminatev";
24 const char *const WebAssembly::PersonalityWrapperFn =
28 bool WebAssembly::isChild(const MachineInstr &MI, in isChild()
39 bool WebAssembly::mayThrow(const MachineInstr &MI) { in mayThrow()
41 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()
[all …]
H A DWebAssemblyTypeUtilities.cpp19 Optional<wasm::ValType> WebAssembly::parseType(StringRef Type) { in parseType()
40 WebAssembly::HeapType WebAssembly::parseHeapType(StringRef Type) { in parseHeapType()
41 return StringSwitch<WebAssembly::HeapType>(Type) in parseHeapType()
42 .Case("extern", WebAssembly::HeapType::Externref) in parseHeapType()
43 .Case("func", WebAssembly::HeapType::Funcref) in parseHeapType()
44 .Default(WebAssembly::HeapType::Invalid); in parseHeapType()
47 WebAssembly::BlockType WebAssembly::parseBlockType(StringRef Type) { in parseBlockType()
49 return StringSwitch<WebAssembly::BlockType>(Type) in parseBlockType()
50 .Case("i32", WebAssembly::BlockType::I32) in parseBlockType()
51 .Case("i64", WebAssembly::BlockType::I64) in parseBlockType()
[all …]
/netbsd-src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/Disassembler/
H A DWebAssemblyDisassembler.cpp150 outs() << WebAssembly::anyTypeToString(Type); in onSymbolStart()
197 case WebAssembly::OPERAND_BASIC_BLOCK: in getInstruction()
198 case WebAssembly::OPERAND_LOCAL: in getInstruction()
199 case WebAssembly::OPERAND_GLOBAL: in getInstruction()
200 case WebAssembly::OPERAND_FUNCTION32: 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()
205 case WebAssembly::OPERAND_TYPEINDEX: in getInstruction()
[all …]
/netbsd-src/external/gpl3/binutils.old/dist/bfd/doc/
H A Dwebassembly.texi1 @section WebAssembly backend
2 The WebAssembly module file format, at present, is a very simple
9 files can be used to produce WebAssembly modules. The WebAssembly
10 backend aims to enable the opposite: reading a WebAssembly module and
14 When writing WebAssembly modules, the WebAssembly backend attempts to
19 Function names are supported as symbols; local names and WebAssembly
23 between the WebAssembly specification and the BFD code; these result
24 in some malformed WebAssembly modules being treated as valid.
30 @node File layout, WebAssembly
32 For a description of the WebAssembly file format, see
[all …]
/netbsd-src/external/gpl3/gdb/dist/bfd/doc/
H A Dwebassembly.texi1 @section WebAssembly backend
2 The WebAssembly module file format, at present, is a very simple
9 files can be used to produce WebAssembly modules. The WebAssembly
10 backend aims to enable the opposite: reading a WebAssembly module and
14 When writing WebAssembly modules, the WebAssembly backend attempts to
19 Function names are supported as symbols; local names and WebAssembly
23 between the WebAssembly specification and the BFD code; these result
24 in some malformed WebAssembly modules being treated as valid.
30 @node File layout, WebAssembly
32 For a description of the WebAssembly file format, see
[all …]
/netbsd-src/external/gpl3/binutils/dist/bfd/doc/
H A Dwebassembly.texi1 @section WebAssembly backend
2 The WebAssembly module file format, at present, is a very simple
9 files can be used to produce WebAssembly modules. The WebAssembly
10 backend aims to enable the opposite: reading a WebAssembly module and
14 When writing WebAssembly modules, the WebAssembly backend attempts to
19 Function names are supported as symbols; local names and WebAssembly
23 between the WebAssembly specification and the BFD code; these result
24 in some malformed WebAssembly modules being treated as valid.
30 @node File layout, WebAssembly
32 For a description of the WebAssembly file format, see
[all …]
/netbsd-src/external/gpl3/gdb.old/dist/bfd/doc/
H A Dwebassembly.texi1 @section WebAssembly backend
2 The WebAssembly module file format, at present, is a very simple
9 files can be used to produce WebAssembly modules. The WebAssembly
10 backend aims to enable the opposite: reading a WebAssembly module and
14 When writing WebAssembly modules, the WebAssembly backend attempts to
19 Function names are supported as symbols; local names and WebAssembly
23 between the WebAssembly specification and the BFD code; these result
24 in some malformed WebAssembly modules being treated as valid.
30 @node File layout, WebAssembly
32 For a description of the WebAssembly file format, see
[all …]
/netbsd-src/external/apache2/llvm/dist/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()
198 bool WebAssembly::IsObjCNonFragileABIDefault() const { return true; } in IsObjCNonFragileABIDefault()
200 bool WebAssembly::UseObjCMixedDispatch() const { return true; } in UseObjCMixedDispatch()
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()
208 bool WebAssembly::IsIntegratedAssemblerDefault() const { return true; } in IsIntegratedAssemblerDefault()
210 bool WebAssembly::hasBlocksRuntime() const { return false; } in hasBlocksRuntime()
[all …]

12345678