| /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/MCTargetDesc/ |
| WebAssemblyMCTargetDesc.h | 1 //==- WebAssemblyMCTargetDesc.h - WebAssembly Target Descriptions -*- C++ -*-=// 10 /// This file provides WebAssembly-specific target descriptions. 39 namespace WebAssembly { 84 } // end namespace WebAssembly 118 // Defines symbolic names for WebAssembly registers. This defines a mapping from 124 // Defines symbolic names for the WebAssembly instructions. 130 namespace WebAssembly { 140 case WebAssembly::NAME##_A32: \ 141 case WebAssembly::NAME##_A64: \ 142 case WebAssembly::NAME##_A32_S: [all...] |
| WebAssemblyMCCodeEmitter.cpp | 1 //=- WebAssemblyMCCodeEmitter.cpp - Convert WebAssembly code to machine code -// 80 if (MI.getOpcode() == WebAssembly::BR_TABLE_I32_S || 81 MI.getOpcode() == WebAssembly::BR_TABLE_I64_S) 83 if (MI.getOpcode() == WebAssembly::BR_TABLE_I32 || 84 MI.getOpcode() == WebAssembly::BR_TABLE_I64) 99 case WebAssembly::OPERAND_I32IMM: 102 case WebAssembly::OPERAND_OFFSET32: 105 case WebAssembly::OPERAND_I64IMM: 108 case WebAssembly::OPERAND_SIGNATURE: 109 case WebAssembly::OPERAND_HEAPTYPE [all...] |
| WebAssemblyFixupKinds.h | 1 //=- WebAssemblyFixupKinds.h - WebAssembly Specific Fixup Entries -*- C++ -*-=// 15 namespace WebAssembly { 26 } // end namespace WebAssembly
|
| WebAssemblyInstPrinter.cpp | 1 //=- WebAssemblyInstPrinter.cpp - WebAssembly assembly instruction printing -=// 18 #include "WebAssembly.h" 53 case WebAssembly::CALL_INDIRECT_S: 54 case WebAssembly::RET_CALL_INDIRECT_S: { 97 if (MI->getOpcode() == WebAssembly::CALL_INDIRECT && 121 case WebAssembly::LOOP: 122 case WebAssembly::LOOP_S: 127 case WebAssembly::BLOCK: 128 case WebAssembly::BLOCK_S: 132 case WebAssembly::TRY [all...] |
| WebAssemblyAsmBackend.cpp | 1 //===-- WebAssemblyAsmBackend.cpp - WebAssembly Assembler Backend ---------===// 42 return WebAssembly::NumTargetFixupKinds; 67 const static MCFixupKindInfo Infos[WebAssembly::NumTargetFixupKinds] = { 89 OS << char(WebAssembly::Nop); 101 assert(Info.Flags == 0 && "WebAssembly does not use MCFixupKindInfo flags");
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/Utils/ |
| WebAssemblyUtilities.cpp | 1 //===-- WebAssemblyUtilities.cpp - WebAssembly Utility Functions ----------===// 10 /// This file implements several utility functions for WebAssembly. 21 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, 39 bool WebAssembly::mayThrow(const MachineInstr &MI) { 41 case WebAssembly::THROW: 42 case WebAssembly::THROW_S [all...] |
| WebAssemblyTypeUtilities.cpp | 1 //===-- WebAssemblyTypeUtilities.cpp - WebAssembly Type Utility Functions -===// 10 /// This file implements several utility functions for WebAssembly type parsing. 19 Optional<wasm::ValType> WebAssembly::parseType(StringRef Type) { 40 WebAssembly::HeapType WebAssembly::parseHeapType(StringRef Type) { 41 return StringSwitch<WebAssembly::HeapType>(Type) 42 .Case("extern", WebAssembly::HeapType::Externref) 43 .Case("func", WebAssembly::HeapType::Funcref) 44 .Default(WebAssembly::HeapType::Invalid); 47 WebAssembly::BlockType WebAssembly::parseBlockType(StringRef Type) [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/ |
| WebAssemblyExplicitLocals.cpp | 10 /// This file converts any remaining registers into WebAssembly locals. 20 #include "WebAssembly.h" 37 return "WebAssembly Explicit Locals"; 56 "Convert registers to WebAssembly locals", false, false) 89 if (RC == &WebAssembly::I32RegClass) 90 return WebAssembly::DROP_I32; 91 if (RC == &WebAssembly::I64RegClass) 92 return WebAssembly::DROP_I64; 93 if (RC == &WebAssembly::F32RegClass) 94 return WebAssembly::DROP_F32 [all...] |
| WebAssemblyInstrInfo.cpp | 1 //===-- WebAssemblyInstrInfo.cpp - WebAssembly Instruction Information ----===// 10 /// This file contains the WebAssembly implementation of the 17 #include "WebAssembly.h" 31 // defines WebAssembly::getNamedOperandIdx 36 : WebAssemblyGenInstrInfo(WebAssembly::ADJCALLSTACKDOWN, 37 WebAssembly::ADJCALLSTACKUP, 38 WebAssembly::CATCHRET), 44 case WebAssembly::CONST_I32: 45 case WebAssembly::CONST_I64: 46 case WebAssembly::CONST_F32 [all...] |
| WebAssemblyPeephole.cpp | 1 //===-- WebAssemblyPeephole.cpp - WebAssembly Peephole Optimiztions -------===// 10 /// Late peephole optimizations for WebAssembly. 15 #include "WebAssembly.h" 28 cl::desc("WebAssembly: Disable fallthrough-return optimizations."), 34 return "WebAssembly late peephole optimizer"; 53 "WebAssembly peephole optimizations", false, false) 86 assert(End->getOpcode() == WebAssembly::END_FUNCTION); 99 case WebAssembly::I32RegClassID: 100 CopyLocalOpc = WebAssembly::COPY_I32; 102 case WebAssembly::I64RegClassID [all...] |
| WebAssemblyFastISel.cpp | 1 //===-- WebAssemblyFastISel.cpp - WebAssembly FastISel implementation -----===// 10 /// This file defines the WebAssembly-specific support for the FastISel 20 #include "WebAssembly.h" 383 Reg = createResultReg(Subtarget->hasAddr64() ? &WebAssembly::I64RegClass 384 : &WebAssembly::I32RegClass); 385 unsigned Opc = Subtarget->hasAddr64() ? WebAssembly::CONST_I64 386 : WebAssembly::CONST_I32; 461 unsigned Imm = createResultReg(&WebAssembly::I32RegClass); 463 TII.get(WebAssembly::CONST_I32), Imm) 466 unsigned Result = createResultReg(&WebAssembly::I32RegClass) [all...] |
| WebAssemblyRegisterInfo.cpp | 1 //===-- WebAssemblyRegisterInfo.cpp - WebAssembly Register Information ----===// 10 /// This file contains the WebAssembly implementation of the 47 for (auto Reg : {WebAssembly::SP32, WebAssembly::SP64, WebAssembly::FP32, 48 WebAssembly::FP64}) 73 unsigned AddrOperandNum = WebAssembly::getNamedOperandIdx( 74 MI.getOpcode(), WebAssembly::OpName::addr); 76 unsigned OffsetOperandNum = WebAssembly::getNamedOperandIdx( 77 MI.getOpcode(), WebAssembly::OpName::off) [all...] |
| WebAssemblySetP2AlignOperands.cpp | 15 #include "WebAssembly.h" 34 return "WebAssembly Set p2align Operands"; 50 "Set the p2align operands for WebAssembly loads and stores", 63 (UINT64_C(1) << WebAssembly::GetDefaultP2Align(MI.getOpcode())) && 66 WebAssembly::OPERAND_P2ALIGN && 70 // WebAssembly does not currently support supernatural alignment. 72 uint64_t(WebAssembly::GetDefaultP2Align(MI.getOpcode()))); 87 int16_t P2AlignOpNum = WebAssembly::getNamedOperandIdx( 88 MI.getOpcode(), WebAssembly::OpName::p2align);
|
| WebAssemblyCFGStackify.cpp | 13 /// since scope boundaries serve as the labels for WebAssembly's control 17 /// WebAssembly, provided that all loops are single-entry. 26 #include "WebAssembly.h" 39 using WebAssembly::SortRegionInfo; 48 StringRef getPassName() const override { return "WebAssembly CFG Stackify"; } 151 "Insert BLOCK/LOOP/TRY markers for WebAssembly scopes", false, 305 if (MI.getOpcode() == WebAssembly::LOOP) { 319 if (MI.getOpcode() == WebAssembly::BLOCK || 320 MI.getOpcode() == WebAssembly::TRY) { 331 if (MI.getOpcode() == WebAssembly::END_BLOCK | [all...] |
| WebAssemblyReplacePhysRegs.cpp | 14 /// WebAssembly doesn't actually have such physical registers. This pass is run 22 #include "WebAssembly.h" 42 return "WebAssembly Replace Physical Registers"; 79 for (unsigned PReg = WebAssembly::NoRegister + 1; 80 PReg < WebAssembly::NUM_TARGET_REGS; ++PReg) { 82 if (PReg == WebAssembly::VALUE_STACK || PReg == WebAssembly::ARGUMENTS) 87 unsigned VReg = WebAssembly::NoRegister; 91 if (VReg == WebAssembly::NoRegister) {
|
| WebAssemblyRegStackify.cpp | 22 #include "MCTargetDesc/WebAssemblyMCTargetDesc.h" // for WebAssembly::ARGUMENT_* 24 #include "WebAssembly.h" 47 return "WebAssembly Register Stackify"; 73 "Reorder instructions to use the WebAssembly value stack", 85 if (!MI->definesRegister(WebAssembly::VALUE_STACK)) 86 MI->addOperand(MachineOperand::CreateReg(WebAssembly::VALUE_STACK, 91 if (!MI->readsRegister(WebAssembly::VALUE_STACK)) 92 MI->addOperand(MachineOperand::CreateReg(WebAssembly::VALUE_STACK, 107 if (RegClass == &WebAssembly::I32RegClass) { 108 MI->setDesc(TII->get(WebAssembly::CONST_I32)) [all...] |
| WebAssemblyFrameLowering.cpp | 1 //===-- WebAssemblyFrameLowering.cpp - WebAssembly Frame Lowering ----------==// 10 /// This file contains the WebAssembly implementation of 13 /// On WebAssembly, there aren't a lot of things to do here. There are no 23 #include "WebAssembly.h" 128 ? WebAssembly::SP64 129 : WebAssembly::SP32; 134 ? WebAssembly::FP64 135 : WebAssembly::FP32; 141 ? WebAssembly::CONST_I64 142 : WebAssembly::CONST_I32 [all...] |
| WebAssemblyLateEHPrepare.cpp | 1 //=== WebAssemblyLateEHPrepare.cpp - WebAssembly Exception Preparation -===// 16 #include "WebAssembly.h" 31 return "WebAssembly Late Prepare Exception"; 54 "WebAssembly Late Exception Preparation", false, false) 158 if (TI->getOpcode() == WebAssembly::CATCHRET) 180 if (WebAssembly::isCatch(MI.getOpcode())) 215 !WebAssembly::isCatch(InsertPos->getOpcode())) { 219 TII.get(WebAssembly::CATCH_ALL)); 238 case WebAssembly::CATCHRET: { 242 BuildMI(MBB, TI, TI->getDebugLoc(), TII.get(WebAssembly::BR) [all...] |
| WebAssemblyAsmPrinter.cpp | 1 //===-- WebAssemblyAsmPrinter.cpp - WebAssembly LLVM assembly writer ------===// 11 /// representation of machine-dependent LLVM code to the WebAssembly assembly 22 #include "WebAssembly.h" 162 WebAssembly::signatureToString(Sig); 174 if (!WebAssembly::isWasmVarAddressSpace(GV->getAddressSpace())) { 193 wasm::ValType Type = WebAssembly::toValType(VT); 301 WebAssembly::getOrCreateFunctionTableSymbol(OutContext, Subtarget); 307 !WebAssembly::isWasmVarAddressSpace(G.getAddressSpace()) && 448 "WebAssembly disables constant pools"); 488 case WebAssembly::ARGUMENT_i32 [all...] |
| WebAssemblyFixBrTableDefaults.cpp | 18 #include "WebAssembly.h" 32 return "WebAssembly Fix br_table Defaults"; 57 assert(MI.getDesc().getOpcode() == WebAssembly::BR_TABLE_I64 && 62 if (ExtMI->getOpcode() == WebAssembly::I64_EXTEND_U_I32) { 70 MF.getRegInfo().createVirtualRegister(&WebAssembly::I32RegClass); 72 WST.getInstrInfo()->get(WebAssembly::I32_WRAP_I64), Reg32) 79 MI.setDesc(WST.getInstrInfo()->get(WebAssembly::BR_TABLE_I32)); 125 if (RangeCheck->getOpcode() != WebAssembly::GT_U_I32) 165 if (WebAssembly::isBrTable(MI)) {
|
| WebAssemblyISelDAGToDAG.cpp | 1 //- WebAssemblyISelDAGToDAG.cpp - A dag to dag inst selector for WebAssembly -// 10 /// This file defines an instruction selector for the WebAssembly target. 15 #include "WebAssembly.h" 30 /// WebAssembly-specific code to select WebAssembly machine instructions for 46 return "WebAssembly Instruction Selection"; 81 auto GlobalGetIns = PtrVT == MVT::i64 ? WebAssembly::GLOBAL_GET_I64 82 : WebAssembly::GLOBAL_GET_I32; 100 Fence = CurDAG->getMachineNode(WebAssembly::COMPILER_FENCE, 110 WebAssembly::ATOMIC_FENCE [all...] |
| WebAssemblyMCInstLower.cpp | 1 // WebAssemblyMCInstLower.cpp - Convert WebAssembly MachineInstr to an MCInst // 10 /// This file contains code to lower WebAssembly MachineInstrs to their 38 cl::desc("WebAssembly: output stack registers in" 53 // GlobalValue is actually a WebAssembly global, then ensure the symbol is a 55 if (WebAssembly::isWasmVarAddressSpace(Global->getAddressSpace()) && 66 wasm::ValType Type = WebAssembly::toValType(VTs[0]); 209 // Return the WebAssembly type associated with the given register class. 211 if (RC == &WebAssembly::I32RegClass) 213 if (RC == &WebAssembly::I64RegClass) 215 if (RC == &WebAssembly::F32RegClass [all...] |
| /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/TargetInfo/ |
| WebAssemblyTargetInfo.h | 1 //===-- WebAssemblyTargetInfo.h - WebAssembly Target Impl -------*- C++ -*-===// 10 /// This file registers the WebAssembly target. 24 namespace WebAssembly { 29 } // namespace WebAssembly
|
| /src/external/apache2/llvm/dist/llvm/lib/Target/WebAssembly/Disassembler/ |
| WebAssemblyDisassembler.cpp | 1 //==- WebAssemblyDisassembler.cpp - Disassembler for WebAssembly -*- C++ -*-==// 10 /// This file is part of the WebAssembly Disassembler. 150 outs() << WebAssembly::anyTypeToString(Type); 197 case WebAssembly::OPERAND_BASIC_BLOCK: 198 case WebAssembly::OPERAND_LOCAL: 199 case WebAssembly::OPERAND_GLOBAL: 200 case WebAssembly::OPERAND_FUNCTION32: 201 case WebAssembly::OPERAND_TABLE: 202 case WebAssembly::OPERAND_OFFSET32: 203 case WebAssembly::OPERAND_OFFSET64 [all...] |
| /src/external/apache2/llvm/dist/clang/lib/Driver/ToolChains/ |
| WebAssembly.cpp | 1 //===--- WebAssembly.cpp - WebAssembly ToolChain Implementation -*- C++ -*-===// 9 #include "WebAssembly.h" 29 std::string WebAssembly::getMultiarchTriple(const Driver &D, 167 WebAssembly::WebAssembly(const Driver &D, const llvm::Triple &Triple, 196 bool WebAssembly::IsMathErrnoDefault() const { return false; } 198 bool WebAssembly::IsObjCNonFragileABIDefault() const { return true; } 200 bool WebAssembly::UseObjCMixedDispatch() const { return true; } 202 bool WebAssembly::isPICDefault() const { return false; [all...] |