/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/WebAssembly/MCTargetDesc/ |
WebAssemblyMCTargetDesc.h | 1 //==- WebAssemblyMCTargetDesc.h - WebAssembly Target Descriptions -*- C++ -*-=// 11 /// This file provides WebAssembly-specific target descriptions. 46 namespace WebAssembly { 73 } // end namespace WebAssembly 88 // Defines symbolic names for WebAssembly registers. This defines a mapping from 94 // Defines symbolic names for the WebAssembly instructions. 103 namespace WebAssembly { 108 case WebAssembly::LOAD8_S_I32: 109 case WebAssembly::LOAD8_S_I32_S: 110 case WebAssembly::LOAD8_U_I32 [all...] |
WebAssemblyFixupKinds.h | 1 //=- WebAssemblyFixupKinds.h - WebAssembly Specific Fixup Entries -*- C++ -*-=// 16 namespace WebAssembly { 28 } // end namespace WebAssembly
|
WebAssemblyMCCodeEmitter.cpp | 1 //=- WebAssemblyMCCodeEmitter.cpp - Convert WebAssembly code to machine code -// 77 if (MI.getOpcode() == WebAssembly::BR_TABLE_I32 || 78 MI.getOpcode() == WebAssembly::BR_TABLE_I64) 89 "WebAssembly non-variable_ops don't use TSFlags"); 93 if (Info.OperandType == WebAssembly::OPERAND_I32IMM) { 95 } else if (Info.OperandType == WebAssembly::OPERAND_OFFSET32) { 97 } else if (Info.OperandType == WebAssembly::OPERAND_I64IMM) { 99 } else if (Info.OperandType == WebAssembly::OPERAND_GLOBAL) { 101 } else if (Info.OperandType == WebAssembly::OPERAND_SIGNATURE) { 115 "WebAssembly variable_ops floating point ops don't use TSFlags") [all...] |
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/WebAssembly/ |
WebAssemblySetP2AlignOperands.cpp | 16 #include "WebAssembly.h" 34 return "WebAssembly Set p2align Operands"; 50 "Set the p2align operands for WebAssembly loads and stores", 64 << WebAssembly::GetDefaultP2Align(MI.getOpcode())) && 67 WebAssembly::OPERAND_P2ALIGN && 71 // WebAssembly does not currently support supernatural alignment. 73 P2Align, uint64_t(WebAssembly::GetDefaultP2Align(MI.getOpcode()))); 89 case WebAssembly::LOAD_I32: 90 case WebAssembly::LOAD_I64: 91 case WebAssembly::LOAD_F32 [all...] |
WebAssemblyUtilities.cpp | 1 //===-- WebAssemblyUtilities.cpp - WebAssembly Utility Functions ----------===// 11 /// This file implements several utility functions for WebAssembly. 21 const char *const WebAssembly::ClangCallTerminateFn = "__clang_call_terminate"; 22 const char *const WebAssembly::CxaBeginCatchFn = "__cxa_begin_catch"; 23 const char *const WebAssembly::CxaRethrowFn = "__cxa_rethrow"; 24 const char *const WebAssembly::StdTerminateFn = "_ZSt9terminatev"; 25 const char *const WebAssembly::PersonalityWrapperFn = 28 bool WebAssembly::isArgument(const MachineInstr &MI) { 30 case WebAssembly::ARGUMENT_I32: 31 case WebAssembly::ARGUMENT_I64 [all...] |
WebAssemblyInstrInfo.cpp | 1 //===-- WebAssemblyInstrInfo.cpp - WebAssembly Instruction Information ----===// 11 /// This file contains the WebAssembly implementation of the 32 : WebAssemblyGenInstrInfo(WebAssembly::ADJCALLSTACKDOWN, 33 WebAssembly::ADJCALLSTACKUP, 34 WebAssembly::CATCHRET), 40 case WebAssembly::CONST_I32: 41 case WebAssembly::CONST_I64: 42 case WebAssembly::CONST_F32: 43 case WebAssembly::CONST_F64: 65 if (RC == &WebAssembly::I32RegClass [all...] |
WebAssemblyExplicitLocals.cpp | 11 /// This file converts any remaining registers into WebAssembly locals. 20 #include "WebAssembly.h" 35 // which is not valid WebAssembly, though it may be more convenient for writing 39 cl::desc("WebAssembly: Disable emission of get_local/set_local."), 45 return "WebAssembly Explicit Locals"; 64 "Convert registers to WebAssembly locals", false, false) 82 if (RC == &WebAssembly::I32RegClass) 83 return WebAssembly::DROP_I32; 84 if (RC == &WebAssembly::I64RegClass) 85 return WebAssembly::DROP_I64 [all...] |
WebAssemblyPeephole.cpp | 1 //===-- WebAssemblyPeephole.cpp - WebAssembly Peephole Optimiztions -------===// 11 /// Late peephole optimizations for WebAssembly. 16 #include "WebAssembly.h" 29 cl::desc("WebAssembly: Disable fallthrough-return optimizations."), 35 return "WebAssembly late peephole optimizer"; 54 "WebAssembly peephole optimizations", false, false) 89 assert(End->getOpcode() == WebAssembly::END_FUNCTION); 94 if (FallthroughOpc != WebAssembly::FALLTHROUGH_RETURN_VOID) { 132 case WebAssembly::CALL_I32: 133 case WebAssembly::CALL_I64: [all...] |
WebAssemblyRegisterInfo.cpp | 1 //===-- WebAssemblyRegisterInfo.cpp - WebAssembly Register Information ----===// 11 /// This file contains the WebAssembly implementation of the 48 for (auto Reg : {WebAssembly::SP32, WebAssembly::SP64, WebAssembly::FP32, 49 WebAssembly::FP64}) 74 if ((MI.mayLoad() && FIOperandNum == WebAssembly::LoadAddressOperandNo) || 75 (MI.mayStore() && FIOperandNum == WebAssembly::StoreAddressOperandNo)) { 89 if (MI.getOpcode() == WebAssembly::ADD_I32) { 98 if (Def && Def->getOpcode() == WebAssembly::CONST_I32 & [all...] |
WebAssemblyReplacePhysRegs.cpp | 15 /// WebAssembly doesn't actually have such physical registers. This pass is run 23 #include "WebAssembly.h" 43 return "WebAssembly Replace Physical Registers"; 80 for (unsigned PReg = WebAssembly::NoRegister + 1; 81 PReg < WebAssembly::NUM_TARGET_REGS; ++PReg) { 83 if (PReg == WebAssembly::VALUE_STACK || PReg == WebAssembly::ARGUMENTS) 88 unsigned VReg = WebAssembly::NoRegister; 92 if (VReg == WebAssembly::NoRegister)
|
WebAssemblyFastISel.cpp | 1 //===-- WebAssemblyFastISel.cpp - WebAssembly FastISel implementation -----===// 11 /// This file defines the WebAssembly-specific support for the FastISel 20 #include "WebAssembly.h" 378 &WebAssembly::I64RegClass : 379 &WebAssembly::I32RegClass); 381 WebAssembly::CONST_I64 : 382 WebAssembly::CONST_I32; 458 unsigned Imm = createResultReg(&WebAssembly::I32RegClass); 460 TII.get(WebAssembly::CONST_I32), Imm) 463 unsigned Result = createResultReg(&WebAssembly::I32RegClass) [all...] |
WebAssemblyFrameLowering.cpp | 1 //===-- WebAssemblyFrameLowering.cpp - WebAssembly Frame Lowering ----------==// 11 /// This file contains the WebAssembly implementation of 14 /// On WebAssembly, there aren't a lot of things to do here. There are no 109 BuildMI(MBB, InsertStore, DL, TII->get(WebAssembly::SET_GLOBAL_I32)) 124 writeSPToMemory(WebAssembly::SP32, MF, MBB, I, I, DL); 134 "WebAssembly should not have callee-saved registers"); 143 while (InsertPt != MBB.end() && WebAssembly::isArgument(*InsertPt)) 149 unsigned SPReg = WebAssembly::SP32; 155 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::GET_GLOBAL_I32), SPReg) 163 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::COPY), BasePtr [all...] |
WebAssemblyCFGStackify.cpp | 14 /// scope boundaries serve as the labels for WebAssembly's control transfers. 17 /// WebAssembly, provided that all loops are single-entry. 22 #include "WebAssembly.h" 40 StringRef getPassName() const override { return "WebAssembly CFG Stackify"; } 61 "Insert BLOCK and LOOP markers for WebAssembly scopes", 131 MBB.getNumber() > WebAssembly::getBottom(HeaderLoop)->getNumber()) { 135 while (InsertPos->getOpcode() == WebAssembly::END_BLOCK || 136 InsertPos->getOpcode() == WebAssembly::END_LOOP) 143 WebAssembly::isChild(*std::prev(InsertPos), MFI) && 144 std::prev(InsertPos)->getOpcode() != WebAssembly::LOOP & [all...] |
/external/llvm/lib/Target/WebAssembly/MCTargetDesc/ |
WebAssemblyMCTargetDesc.h | 1 //==- WebAssemblyMCTargetDesc.h - WebAssembly Target Descriptions -*- C++ -*-=// 11 /// \brief This file provides WebAssembly-specific target descriptions. 43 namespace WebAssembly { 55 /// WebAssembly-specific directive identifiers. 64 } // end namespace WebAssembly 79 // Defines symbolic names for WebAssembly registers. This defines a mapping from 85 // Defines symbolic names for the WebAssembly instructions. 94 namespace WebAssembly { 99 case WebAssembly::LOAD8_S_I32: 100 case WebAssembly::LOAD8_U_I32 [all...] |
WebAssemblyTargetStreamer.cpp | 1 //==-- WebAssemblyTargetStreamer.cpp - WebAssembly Target Streamer Methods --=// 11 /// \brief This file defines WebAssembly-specific target streamer classes. 45 OS << WebAssembly::TypeToString(Type); 72 OS << ", " << WebAssembly::TypeToString(Ty); 86 Streamer.EmitIntValue(WebAssembly::DotParam, sizeof(uint64_t)); 91 Streamer.EmitIntValue(WebAssembly::DotResult, sizeof(uint64_t)); 96 Streamer.EmitIntValue(WebAssembly::DotLocal, sizeof(uint64_t)); 101 Streamer.EmitIntValue(WebAssembly::DotEndFunc, sizeof(uint64_t));
|
/external/llvm/lib/Target/WebAssembly/ |
WebAssemblySetP2AlignOperands.cpp | 15 #include "WebAssembly.h" 34 return "WebAssembly Set p2align Operands"; 64 case WebAssembly::LOAD_I32: 65 case WebAssembly::LOAD_I64: 66 case WebAssembly::LOAD_F32: 67 case WebAssembly::LOAD_F64: 68 case WebAssembly::LOAD8_S_I32: 69 case WebAssembly::LOAD8_U_I32: 70 case WebAssembly::LOAD16_S_I32: 71 case WebAssembly::LOAD16_U_I32 [all...] |
WebAssemblyInstrInfo.cpp | 1 //===-- WebAssemblyInstrInfo.cpp - WebAssembly Instruction Information ----===// 11 /// \brief This file contains the WebAssembly implementation of the 32 : WebAssemblyGenInstrInfo(WebAssembly::ADJCALLSTACKDOWN, 33 WebAssembly::ADJCALLSTACKUP), 39 case WebAssembly::CONST_I32: 40 case WebAssembly::CONST_I64: 41 case WebAssembly::CONST_F32: 42 case WebAssembly::CONST_F64: 64 if (RC == &WebAssembly::I32RegClass) 65 CopyLocalOpcode = WebAssembly::COPY_LOCAL_I32 [all...] |
WebAssemblyRegisterInfo.cpp | 1 //===-- WebAssemblyRegisterInfo.cpp - WebAssembly Register Information ----===// 11 /// \brief This file contains the WebAssembly implementation of the 48 for (auto Reg : {WebAssembly::SP32, WebAssembly::SP64, WebAssembly::FP32, 49 WebAssembly::FP64}) 69 if (MI.mayLoadOrStore() && FIOperandNum == WebAssembly::MemOpAddressOperandNo) { 76 .ChangeToRegister(WebAssembly::SP32, /*IsDef=*/false); 83 if (MI.getOpcode() == WebAssembly::ADD_I32) { 92 if (Def && Def->getOpcode() == WebAssembly::CONST_I32 & [all...] |
WebAssemblyFastISel.cpp | 1 //===-- WebAssemblyFastISel.cpp - WebAssembly FastISel implementation -----===// 11 /// \brief This file defines the WebAssembly-specific support for the FastISel 19 #include "WebAssembly.h" 329 &WebAssembly::I64RegClass : 330 &WebAssembly::I32RegClass); 332 WebAssembly::CONST_I64 : 333 WebAssembly::CONST_I32; 402 unsigned Imm = createResultReg(&WebAssembly::I32RegClass); 404 TII.get(WebAssembly::CONST_I32), Imm) 407 unsigned Result = createResultReg(&WebAssembly::I32RegClass) [all...] |
WebAssemblyPeephole.cpp | 1 //===-- WebAssemblyPeephole.cpp - WebAssembly Peephole Optimiztions -------===// 11 /// \brief Late peephole optimizations for WebAssembly. 16 #include "WebAssembly.h" 29 cl::desc("WebAssembly: Disable fallthrough-return optimizations."), 35 return "WebAssembly late peephole optimizer"; 122 case WebAssembly::STORE8_I32: 123 case WebAssembly::STORE16_I32: 124 case WebAssembly::STORE8_I64: 125 case WebAssembly::STORE16_I64: 126 case WebAssembly::STORE32_I64 [all...] |
WebAssemblyReplacePhysRegs.cpp | 15 /// WebAssembly doesn't actually have such physical registers. This pass is run 22 #include "WebAssembly.h" 43 return "WebAssembly Replace Physical Registers"; 76 for (unsigned PReg = WebAssembly::NoRegister + 1; 77 PReg < WebAssembly::NUM_TARGET_REGS; ++PReg) { 79 if (PReg == WebAssembly::EXPR_STACK || PReg == WebAssembly::ARGUMENTS) 84 unsigned VReg = WebAssembly::NoRegister; 88 if (VReg == WebAssembly::NoRegister)
|
WebAssemblyFrameLowering.cpp | 1 //===-- WebAssemblyFrameLowering.cpp - WebAssembly Frame Lowering ----------==// 11 /// \brief This file contains the WebAssembly implementation of 14 /// On WebAssembly, there aren't a lot of things to do here. There are no 94 BuildMI(MBB, InsertAddr, DL, TII->get(WebAssembly::CONST_I32), Zero) 99 BuildMI(MBB, InsertStore, DL, TII->get(WebAssembly::STORE_I32), Drop) 117 writeSPToMemory(WebAssembly::SP32, MF, MBB, I, I, DL); 127 "WebAssembly should not have callee-saved registers"); 144 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::CONST_I32), Zero) 150 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::LOAD_I32), 151 StackSize ? SPReg : (unsigned)WebAssembly::SP32 [all...] |
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/WebAssembly/InstPrinter/ |
WebAssemblyInstPrinter.cpp | 1 //=- WebAssemblyInstPrinter.cpp - WebAssembly assembly instruction printing -=// 17 #include "WebAssembly.h" 61 (MI->getOpcode() != WebAssembly::CALL_INDIRECT_VOID || 76 case WebAssembly::LOOP: { 81 case WebAssembly::BLOCK: 84 case WebAssembly::END_LOOP: 89 case WebAssembly::END_BLOCK: 101 WebAssembly::OPERAND_BASIC_BLOCK) 146 "WebAssembly variable_ops register ops don't use TSFlags"); 176 "WebAssembly variable_ops floating point ops don't use TSFlags") [all...] |
/external/clang/include/clang/Basic/ |
TargetCXXABI.h | 93 /// The WebAssembly ABI is a modified version of the Itanium ABI. 104 /// TODO: At present the WebAssembly ABI is not considered stable, so none 106 WebAssembly, 145 case WebAssembly: 164 case WebAssembly: 184 case WebAssembly: 185 // WebAssembly doesn't require any special alignment for member functions. 271 case WebAssembly: 328 // iOS on ARM64 and WebAssembly use the C++11 POD rules. They do not honor 331 case WebAssembly [all...] |
/external/swiftshader/third_party/llvm-7.0/llvm/lib/Target/WebAssembly/Disassembler/ |
WebAssemblyDisassembler.cpp | 1 //==- WebAssemblyDisassembler.cpp - Disassembler for WebAssembly -*- C++ -*-==// 11 /// This file is part of the WebAssembly Disassembler. 19 #include "WebAssembly.h" 141 case WebAssembly::OPERAND_BASIC_BLOCK: 142 case WebAssembly::OPERAND_LOCAL: 143 case WebAssembly::OPERAND_GLOBAL: 144 case WebAssembly::OPERAND_FUNCTION32: 145 case WebAssembly::OPERAND_OFFSET32: 146 case WebAssembly::OPERAND_P2ALIGN: 147 case WebAssembly::OPERAND_TYPEINDEX [all...] |