/external/llvm/lib/Target/WebAssembly/ |
D | WebAssemblySetP2AlignOperands.cpp | 64 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 …]
|
D | WebAssemblyFastISel.cpp | 329 &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 …]
|
D | WebAssemblyPeephole.cpp | 122 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 …]
|
D | WebAssemblyRegStackify.cpp | 77 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 …]
|
D | WebAssemblyInstrInfo.cpp | 32 : 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 …]
|
D | WebAssemblyRegisterInfo.cpp | 48 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 …]
|
D | WebAssemblyFrameLowering.cpp | 94 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 …]
|
D | WebAssemblyStoreResults.cpp | 147 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 …]
|
D | WebAssembly.td | 1 //- 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 {
|
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::EXPR_STACK || PReg == WebAssembly::ARGUMENTS) in runOnMachineFunction() 84 unsigned VReg = WebAssembly::NoRegister; in runOnMachineFunction() 88 if (VReg == WebAssembly::NoRegister) in runOnMachineFunction()
|
D | WebAssemblyAsmPrinter.cpp | 107 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()
|
D | README.txt | 1 //===-- 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 …]
|
D | WebAssemblyCFGStackify.cpp | 366 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 …]
|
D | WebAssemblyPrepareForLiveIntervals.cpp | 64 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()
|
D | WebAssemblyInstrInfo.td | 1 // 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.
|
D | LLVMBuild.txt | 1 ;===- ./lib/Target/WebAssembly/LLVMBuild.txt -------------------*- Conf -*--===; 23 name = WebAssembly 31 parent = WebAssembly 33 add_to_library_groups = WebAssembly
|
D | WebAssemblyArgumentMove.cpp | 70 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()
|
D | WebAssemblyRegNumbering.cpp | 72 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()
|
D | WebAssemblyRegisterInfo.td | 1 //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
|
D | WebAssemblyLowerBrUnless.cpp | 66 if (MI->getOpcode() != WebAssembly::BR_UNLESS) in runOnMachineFunction() 77 using namespace WebAssembly; in runOnMachineFunction() 109 unsigned Tmp = MRI.createVirtualRegister(&WebAssembly::I32RegClass); in runOnMachineFunction() 111 BuildMI(MBB, MI, MI->getDebugLoc(), TII.get(WebAssembly::EQZ_I32), Tmp) in runOnMachineFunction() 120 BuildMI(MBB, MI, MI->getDebugLoc(), TII.get(WebAssembly::BR_IF)) in runOnMachineFunction()
|
/external/llvm/lib/Target/WebAssembly/MCTargetDesc/ |
D | WebAssemblyMCTargetDesc.h | 43 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 …]
|
D | WebAssemblyTargetStreamer.cpp | 45 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/clang/include/clang/Basic/ |
D | TargetCXXABI.h | 106 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/ |
D | WebAssemblyInstPrinter.cpp | 71 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()
|
/external/llvm/lib/Target/WebAssembly/Disassembler/ |
D | WebAssemblyDisassembler.cpp | 75 if (Opcode >= WebAssembly::INSTRUCTION_LIST_END) in getInstruction() 96 case WebAssembly::OPERAND_P2ALIGN: in getInstruction() 97 case WebAssembly::OPERAND_BASIC_BLOCK: { in getInstruction() 113 case WebAssembly::OPERAND_FP32IMM: in getInstruction() 114 case WebAssembly::OPERAND_FP64IMM: { in getInstruction()
|