Home
last modified time | relevance | path

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

123

/external/llvm/lib/Target/WebAssembly/MCTargetDesc/
DWebAssemblyMCTargetDesc.h43 namespace WebAssembly {
94 namespace WebAssembly {
99 case WebAssembly::LOAD8_S_I32: in GetDefaultP2Align()
100 case WebAssembly::LOAD8_U_I32: in GetDefaultP2Align()
101 case WebAssembly::LOAD8_S_I64: in GetDefaultP2Align()
102 case WebAssembly::LOAD8_U_I64: in GetDefaultP2Align()
103 case WebAssembly::STORE8_I32: in GetDefaultP2Align()
104 case WebAssembly::STORE8_I64: in GetDefaultP2Align()
106 case WebAssembly::LOAD16_S_I32: in GetDefaultP2Align()
107 case WebAssembly::LOAD16_U_I32: in GetDefaultP2Align()
[all …]
DWebAssemblyTargetStreamer.cpp45 OS << WebAssembly::TypeToString(Type); in PrintTypes()
72 OS << ", " << WebAssembly::TypeToString(Ty); in emitIndirectFunctionType()
86 Streamer.EmitIntValue(WebAssembly::DotParam, sizeof(uint64_t)); in emitParam()
91 Streamer.EmitIntValue(WebAssembly::DotResult, sizeof(uint64_t)); in emitResult()
96 Streamer.EmitIntValue(WebAssembly::DotLocal, sizeof(uint64_t)); in emitLocal()
101 Streamer.EmitIntValue(WebAssembly::DotEndFunc, sizeof(uint64_t)); in emitEndFunc()
/external/llvm/lib/Target/WebAssembly/
DWebAssemblySetP2AlignOperands.cpp64 case WebAssembly::LOAD_I32: in runOnMachineFunction()
65 case WebAssembly::LOAD_I64: in runOnMachineFunction()
66 case WebAssembly::LOAD_F32: in runOnMachineFunction()
67 case WebAssembly::LOAD_F64: in runOnMachineFunction()
68 case WebAssembly::LOAD8_S_I32: in runOnMachineFunction()
69 case WebAssembly::LOAD8_U_I32: in runOnMachineFunction()
70 case WebAssembly::LOAD16_S_I32: in runOnMachineFunction()
71 case WebAssembly::LOAD16_U_I32: in runOnMachineFunction()
72 case WebAssembly::LOAD8_S_I64: in runOnMachineFunction()
73 case WebAssembly::LOAD8_U_I64: in runOnMachineFunction()
[all …]
DWebAssemblyFastISel.cpp329 &WebAssembly::I64RegClass : in materializeLoadStoreOperands()
330 &WebAssembly::I32RegClass); in materializeLoadStoreOperands()
332 WebAssembly::CONST_I64 : in materializeLoadStoreOperands()
333 WebAssembly::CONST_I32; in materializeLoadStoreOperands()
402 unsigned Imm = createResultReg(&WebAssembly::I32RegClass); in zeroExtendToI32()
404 TII.get(WebAssembly::CONST_I32), Imm) in zeroExtendToI32()
407 unsigned Result = createResultReg(&WebAssembly::I32RegClass); in zeroExtendToI32()
409 TII.get(WebAssembly::AND_I32), Result) in zeroExtendToI32()
429 unsigned Imm = createResultReg(&WebAssembly::I32RegClass); in signExtendToI32()
431 TII.get(WebAssembly::CONST_I32), Imm) in signExtendToI32()
[all …]
DWebAssemblyPeephole.cpp122 case WebAssembly::STORE8_I32: in runOnMachineFunction()
123 case WebAssembly::STORE16_I32: in runOnMachineFunction()
124 case WebAssembly::STORE8_I64: in runOnMachineFunction()
125 case WebAssembly::STORE16_I64: in runOnMachineFunction()
126 case WebAssembly::STORE32_I64: in runOnMachineFunction()
127 case WebAssembly::STORE_F32: in runOnMachineFunction()
128 case WebAssembly::STORE_F64: in runOnMachineFunction()
129 case WebAssembly::STORE_I32: in runOnMachineFunction()
130 case WebAssembly::STORE_I64: { in runOnMachineFunction()
137 MI.getOperand(WebAssembly::StoreValueOperandNo).getReg(); in runOnMachineFunction()
[all …]
DWebAssemblyInstrInfo.cpp32 : WebAssemblyGenInstrInfo(WebAssembly::ADJCALLSTACKDOWN, in WebAssemblyInstrInfo()
33 WebAssembly::ADJCALLSTACKUP), in WebAssemblyInstrInfo()
39 case WebAssembly::CONST_I32: in isReallyTriviallyReMaterializable()
40 case WebAssembly::CONST_I64: in isReallyTriviallyReMaterializable()
41 case WebAssembly::CONST_F32: in isReallyTriviallyReMaterializable()
42 case WebAssembly::CONST_F64: in isReallyTriviallyReMaterializable()
64 if (RC == &WebAssembly::I32RegClass) in copyPhysReg()
65 CopyLocalOpcode = WebAssembly::COPY_LOCAL_I32; in copyPhysReg()
66 else if (RC == &WebAssembly::I64RegClass) in copyPhysReg()
67 CopyLocalOpcode = WebAssembly::COPY_LOCAL_I64; in copyPhysReg()
[all …]
DWebAssemblyRegStackify.cpp77 if (!MI->definesRegister(WebAssembly::EXPR_STACK)) in ImposeStackOrdering()
78 MI->addOperand(MachineOperand::CreateReg(WebAssembly::EXPR_STACK, in ImposeStackOrdering()
83 if (!MI->readsRegister(WebAssembly::EXPR_STACK)) in ImposeStackOrdering()
84 MI->addOperand(MachineOperand::CreateReg(WebAssembly::EXPR_STACK, in ImposeStackOrdering()
153 case WebAssembly::DIV_S_I32: case WebAssembly::DIV_S_I64: in Query()
154 case WebAssembly::REM_S_I32: case WebAssembly::REM_S_I64: in Query()
155 case WebAssembly::DIV_U_I32: case WebAssembly::DIV_U_I64: in Query()
156 case WebAssembly::REM_U_I32: case WebAssembly::REM_U_I64: in Query()
157 case WebAssembly::I32_TRUNC_S_F32: case WebAssembly::I64_TRUNC_S_F32: in Query()
158 case WebAssembly::I32_TRUNC_S_F64: case WebAssembly::I64_TRUNC_S_F64: in Query()
[all …]
DWebAssemblyRegisterInfo.cpp48 for (auto Reg : {WebAssembly::SP32, WebAssembly::SP64, WebAssembly::FP32, in getReservedRegs()
49 WebAssembly::FP64}) in getReservedRegs()
69 if (MI.mayLoadOrStore() && FIOperandNum == WebAssembly::MemOpAddressOperandNo) { in eliminateFrameIndex()
76 .ChangeToRegister(WebAssembly::SP32, /*IsDef=*/false); in eliminateFrameIndex()
83 if (MI.getOpcode() == WebAssembly::ADD_I32) { in eliminateFrameIndex()
92 if (Def && Def->getOpcode() == WebAssembly::CONST_I32 && in eliminateFrameIndex()
97 .ChangeToRegister(WebAssembly::SP32, /*IsDef=*/false); in eliminateFrameIndex()
107 unsigned FIRegOperand = WebAssembly::SP32; in eliminateFrameIndex()
113 BuildMI(MBB, *II, II->getDebugLoc(), TII->get(WebAssembly::CONST_I32), in eliminateFrameIndex()
117 BuildMI(MBB, *II, II->getDebugLoc(), TII->get(WebAssembly::ADD_I32), in eliminateFrameIndex()
[all …]
DWebAssemblyFrameLowering.cpp94 BuildMI(MBB, InsertAddr, DL, TII->get(WebAssembly::CONST_I32), Zero) in writeSPToMemory()
99 BuildMI(MBB, InsertStore, DL, TII->get(WebAssembly::STORE_I32), Drop) in writeSPToMemory()
117 writeSPToMemory(WebAssembly::SP32, MF, MBB, I, I, DL); in eliminateCallFramePseudoInstr()
144 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::CONST_I32), Zero) in emitPrologue()
150 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::LOAD_I32), in emitPrologue()
151 StackSize ? SPReg : (unsigned)WebAssembly::SP32) in emitPrologue()
160 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::CONST_I32), OffsetReg) in emitPrologue()
162 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::SUB_I32), in emitPrologue()
163 WebAssembly::SP32) in emitPrologue()
171 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::COPY), in emitPrologue()
[all …]
DWebAssemblyStoreResults.cpp147 unsigned FromReg = MI.getOperand(WebAssembly::StoreValueOperandNo).getReg(); in optimizeStore()
205 case WebAssembly::STORE8_I32: in runOnMachineFunction()
206 case WebAssembly::STORE16_I32: in runOnMachineFunction()
207 case WebAssembly::STORE8_I64: in runOnMachineFunction()
208 case WebAssembly::STORE16_I64: in runOnMachineFunction()
209 case WebAssembly::STORE32_I64: in runOnMachineFunction()
210 case WebAssembly::STORE_F32: in runOnMachineFunction()
211 case WebAssembly::STORE_F64: in runOnMachineFunction()
212 case WebAssembly::STORE_I32: in runOnMachineFunction()
213 case WebAssembly::STORE_I64: in runOnMachineFunction()
[all …]
DWebAssembly.td1 //- WebAssembly.td - Describe the WebAssembly Target Machine --*- tablegen -*-//
11 /// \brief This is a target description file for the WebAssembly architecture,
23 // WebAssembly Subtarget features.
48 // WebAssembly Processors supported.
57 // Latest and greatest experimental version of WebAssembly. Bugs included!
64 def WebAssembly : Target {
DWebAssemblyReplacePhysRegs.cpp76 for (unsigned PReg = WebAssembly::NoRegister + 1; in runOnMachineFunction()
77 PReg < WebAssembly::NUM_TARGET_REGS; ++PReg) { in runOnMachineFunction()
79 if (PReg == WebAssembly::EXPR_STACK || PReg == WebAssembly::ARGUMENTS) in runOnMachineFunction()
84 unsigned VReg = WebAssembly::NoRegister; in runOnMachineFunction()
88 if (VReg == WebAssembly::NoRegister) in runOnMachineFunction()
DWebAssemblyPrepareForLiveIntervals.cpp64 case WebAssembly::ARGUMENT_I32: in IsArgument()
65 case WebAssembly::ARGUMENT_I64: in IsArgument()
66 case WebAssembly::ARGUMENT_F32: in IsArgument()
67 case WebAssembly::ARGUMENT_F64: in IsArgument()
118 TII.get(WebAssembly::IMPLICIT_DEF), Reg); in runOnMachineFunction()
DWebAssemblyAsmPrinter.cpp107 return WebAssembly::TypeToString(VT); in toString()
224 case WebAssembly::ARGUMENT_I32: in EmitInstruction()
225 case WebAssembly::ARGUMENT_I64: in EmitInstruction()
226 case WebAssembly::ARGUMENT_F32: in EmitInstruction()
227 case WebAssembly::ARGUMENT_F64: in EmitInstruction()
231 case WebAssembly::FALLTHROUGH_RETURN_I32: in EmitInstruction()
232 case WebAssembly::FALLTHROUGH_RETURN_I64: in EmitInstruction()
233 case WebAssembly::FALLTHROUGH_RETURN_F32: in EmitInstruction()
234 case WebAssembly::FALLTHROUGH_RETURN_F64: { in EmitInstruction()
247 case WebAssembly::FALLTHROUGH_RETURN_VOID: in EmitInstruction()
DREADME.txt1 //===-- README.txt - Notes for WebAssembly code gen -----------------------===//
3 This WebAssembly backend is presently in a very early stage of development.
7 For more information on WebAssembly itself, see the design documents:
8 * https://github.com/WebAssembly/design/blob/master/README.md
11 binary encoding of WebAssembly itself:
12 * https://github.com/WebAssembly/design/blob/master/AstSemantics.md
13 * https://github.com/WebAssembly/design/blob/master/BinaryEncoding.md
23 https://github.com/WebAssembly/waterfall/blob/master/src/compile_torture_tests.py
36 WebAssembly.
41 Would these be useful to run for WebAssembly too? Also, it has an option to
[all …]
DWebAssemblyCFGStackify.cpp366 while (InsertPos->getOpcode() != WebAssembly::LOOP) in PlaceBlockMarker()
373 prev(InsertPos)->getOpcode() != WebAssembly::LOOP && in PlaceBlockMarker()
374 prev(InsertPos)->getOpcode() != WebAssembly::END_BLOCK && in PlaceBlockMarker()
375 prev(InsertPos)->getOpcode() != WebAssembly::END_LOOP) in PlaceBlockMarker()
380 BuildMI(*Header, InsertPos, DebugLoc(), TII.get(WebAssembly::BLOCK)); in PlaceBlockMarker()
385 InsertPos->getOpcode() == WebAssembly::END_LOOP) in PlaceBlockMarker()
387 BuildMI(MBB, InsertPos, DebugLoc(), TII.get(WebAssembly::END_BLOCK)); in PlaceBlockMarker()
423 InsertPos->getOpcode() == WebAssembly::END_LOOP) in PlaceLoopMarker()
425 BuildMI(MBB, InsertPos, DebugLoc(), TII.get(WebAssembly::LOOP)); in PlaceLoopMarker()
429 TII.get(WebAssembly::END_LOOP)); in PlaceLoopMarker()
[all …]
DLLVMBuild.txt1 ;===- ./lib/Target/WebAssembly/LLVMBuild.txt -------------------*- Conf -*--===;
23 name = WebAssembly
31 parent = WebAssembly
33 add_to_library_groups = WebAssembly
DWebAssemblyArgumentMove.cpp70 case WebAssembly::ARGUMENT_I32: in IsArgument()
71 case WebAssembly::ARGUMENT_I64: in IsArgument()
72 case WebAssembly::ARGUMENT_F32: in IsArgument()
73 case WebAssembly::ARGUMENT_F64: in IsArgument()
DWebAssemblyInstrInfo.td1 // WebAssemblyInstrInfo.td-Describe the WebAssembly Instructions-*- tablegen -*-
11 /// \brief WebAssembly Instruction definitions.
16 // WebAssembly Instruction Predicate Definitions.
25 // WebAssembly-specific DAG Node Types.
40 // WebAssembly-specific DAG Nodes.
66 // WebAssembly-specific Operands.
69 let OperandNamespace = "WebAssembly" in {
86 } // OperandNamespace = "WebAssembly"
89 // WebAssembly Instruction Format Definitions.
DWebAssemblyRegNumbering.cpp72 case WebAssembly::ARGUMENT_I32: in runOnMachineFunction()
73 case WebAssembly::ARGUMENT_I64: in runOnMachineFunction()
74 case WebAssembly::ARGUMENT_F32: in runOnMachineFunction()
75 case WebAssembly::ARGUMENT_F64: { in runOnMachineFunction()
DWebAssemblyRegisterInfo.td1 //WebAssemblyRegisterInfo.td-Describe the WebAssembly Registers -*- tablegen -*-
11 /// \brief 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
/external/clang/include/clang/Basic/
DTargetCXXABI.h106 WebAssembly, enumerator
145 case WebAssembly: in isItaniumFamily()
164 case WebAssembly: in isMicrosoft()
184 case WebAssembly: in areMemberFunctionsAligned()
271 case WebAssembly: in canKeyFunctionBeInline()
331 case WebAssembly: in getTailPaddingUseRules()
/external/llvm/lib/Target/WebAssembly/InstPrinter/
DWebAssemblyInstPrinter.cpp71 case WebAssembly::LOOP: { in printInst()
79 case WebAssembly::BLOCK: in printInst()
82 case WebAssembly::END_LOOP: in printInst()
87 case WebAssembly::END_BLOCK: in printInst()
99 ? (Info.OperandType == WebAssembly::OPERAND_BASIC_BLOCK) in printInst()
174 if (Info.OperandType == WebAssembly::OPERAND_FP32IMM) { in printOperand()
179 assert(Info.OperandType == WebAssembly::OPERAND_FP64IMM); in printOperand()
198 if (Imm == WebAssembly::GetDefaultP2Align(MI->getOpcode())) in printWebAssemblyP2AlignOperand()
203 const char *llvm::WebAssembly::TypeToString(MVT Ty) { in TypeToString()
DLLVMBuild.txt1 ;===- ./lib/Target/WebAssembly/InstPrinter/LLVMBuild.txt -------*- Conf -*--===;
21 parent = WebAssembly
23 add_to_library_groups = WebAssembly
/external/llvm/lib/Target/WebAssembly/TargetInfo/
DLLVMBuild.txt1 ;===- ./lib/Target/WebAssembly/TargetInfo/LLVMBuild.txt --------*- Conf -*--===;
21 parent = WebAssembly
23 add_to_library_groups = WebAssembly

123