/external/llvm/lib/Target/WebAssembly/ |
WebAssemblyPeephole.cpp | 1 //===-- WebAssemblyPeephole.cpp - WebAssembly Peephole Optimiztions -------===// 11 /// \brief Late peephole optimizations for WebAssembly. 15 #include "WebAssembly.h" 26 return "WebAssembly late peephole optimizer"; 58 case WebAssembly::STORE8_I32: 59 case WebAssembly::STORE16_I32: 60 case WebAssembly::STORE8_I64: 61 case WebAssembly::STORE16_I64: 62 case WebAssembly::STORE32_I64: 63 case WebAssembly::STORE_F32 [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}) 72 MI.getOperand(2).ChangeToRegister(WebAssembly::SP32, /*IsDef=*/false); 78 unsigned OffsetReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); 79 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(WebAssembly::CONST_I32), OffsetReg) 81 BuildMI(MBB, MI, MI.getDebugLoc(), TII->get(WebAssembly::ADD_I32), OffsetReg [all...] |
WebAssemblyStoreResults.cpp | 13 /// WebAssembly's store instructions return the stored value. This is to enable 22 #include "WebAssembly.h" 43 return "WebAssembly Store Results"; 84 case WebAssembly::STORE8_I32: 85 case WebAssembly::STORE16_I32: 86 case WebAssembly::STORE8_I64: 87 case WebAssembly::STORE16_I64: 88 case WebAssembly::STORE32_I64: 89 case WebAssembly::STORE_F32: 90 case WebAssembly::STORE_F64 [all...] |
WebAssemblyInstrInfo.cpp | 1 //===-- WebAssemblyInstrInfo.cpp - WebAssembly Instruction Information ----===// 11 /// \brief This file contains the WebAssembly implementation of the 31 : WebAssemblyGenInstrInfo(WebAssembly::ADJCALLSTACKDOWN, 32 WebAssembly::ADJCALLSTACKUP), 47 if (RC == &WebAssembly::I32RegClass) 48 CopyLocalOpcode = WebAssembly::COPY_LOCAL_I32; 49 else if (RC == &WebAssembly::I64RegClass) 50 CopyLocalOpcode = WebAssembly::COPY_LOCAL_I64; 51 else if (RC == &WebAssembly::F32RegClass) 52 CopyLocalOpcode = WebAssembly::COPY_LOCAL_F32 [all...] |
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 74 unsigned SPReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); 76 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::CONST_I32), SPReg) 84 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::LOAD_I32), SPReg) 89 unsigned OffsetReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); 90 BuildMI(MBB, InsertPt, DL, TII->get(WebAssembly::CONST_I32), OffsetReg) 93 TII->get(AdjustUp ? WebAssembly::ADD_I32 : WebAssembly::SUB_I32) [all...] |
WebAssemblyRegNumbering.cpp | 11 /// \brief This file implements a pass which assigns WebAssembly register 16 #include "WebAssembly.h" 36 return "WebAssembly Register Numbering"; 68 // WebAssembly argument registers are in the same index space as local 73 case WebAssembly::ARGUMENT_I32: 74 case WebAssembly::ARGUMENT_I64: 75 case WebAssembly::ARGUMENT_F32: 76 case WebAssembly::ARGUMENT_F64: 84 // Then assign regular WebAssembly registers for all remaining used 105 MFI.addPReg(WebAssembly::SP32, CurReg++) [all...] |
Makefile | 1 ##===- lib/Target/WebAssembly/Makefile ---------------------*- Makefile -*-===## 12 TARGET = WebAssembly
|
WebAssemblyArgumentMove.cpp | 29 #include "WebAssembly.h" 48 return "WebAssembly Argument Move"; 70 case WebAssembly::ARGUMENT_I32: 71 case WebAssembly::ARGUMENT_I64: 72 case WebAssembly::ARGUMENT_F32: 73 case WebAssembly::ARGUMENT_F64:
|
WebAssemblyRegStackify.cpp | 23 #include "WebAssembly.h" 24 #include "MCTargetDesc/WebAssemblyMCTargetDesc.h" // for WebAssembly::ARGUMENT_* 39 return "WebAssembly Register Stackify"; 68 if (!MI->definesRegister(WebAssembly::EXPR_STACK)) 69 MI->addOperand(MachineOperand::CreateReg(WebAssembly::EXPR_STACK, 81 if (!MI->readsRegister(WebAssembly::EXPR_STACK)) 82 MI->addOperand(MachineOperand::CreateReg(WebAssembly::EXPR_STACK, 103 // doesn't account for physical register dependencies, because WebAssembly 188 if (Def->getOpcode() == WebAssembly::ARGUMENT_I32 || 189 Def->getOpcode() == WebAssembly::ARGUMENT_I64 | [all...] |
WebAssemblyLowerBrUnless.cpp | 18 #include "WebAssembly.h" 33 return "WebAssembly Lower br_unless"; 66 if (MI->getOpcode() != WebAssembly::BR_UNLESS) 77 using namespace WebAssembly; 109 unsigned ZeroReg = MRI.createVirtualRegister(&WebAssembly::I32RegClass); 111 BuildMI(MBB, MI, MI->getDebugLoc(), TII.get(WebAssembly::CONST_I32), ZeroReg) 113 unsigned Tmp = MRI.createVirtualRegister(&WebAssembly::I32RegClass); 115 BuildMI(MBB, MI, MI->getDebugLoc(), TII.get(WebAssembly::EQ_I32), Tmp) 125 BuildMI(MBB, MI, MI->getDebugLoc(), TII.get(WebAssembly::BR_IF))
|
WebAssemblyAsmPrinter.cpp | 1 //===-- WebAssemblyAsmPrinter.cpp - WebAssembly LLVM assembly writer ------===// 12 /// representation of machine-dependent LLVM code to the WebAssembly assembly 17 #include "WebAssembly.h" 53 return "WebAssembly Assembly Printer"; 116 return WebAssembly::TypeToString(VT); 125 "WebAssembly disables constant pools"); 151 Param.setOpcode(WebAssembly::PARAM); 164 Result.setOpcode(WebAssembly::RESULT); 171 Local.setOpcode(WebAssembly::LOCAL); 204 case WebAssembly::ARGUMENT_I32 [all...] |
WebAssemblyFastISel.cpp | 1 //===-- WebAssemblyFastISel.cpp - WebAssembly FastISel implementation -----===// 11 /// \brief This file defines the WebAssembly-specific support for the FastISel 17 #include "WebAssembly.h" 78 FastISel *WebAssembly::createFastISel(FunctionLoweringInfo &FuncInfo,
|
WebAssemblyMachineFunctionInfo.h | 1 // WebAssemblyMachineFunctionInfo.h-WebAssembly machine function info-*- C++ -*- 11 /// \brief This file declares WebAssembly-specific per-machine-function 25 /// WebAssembly-specific information for each MachineFunction. 31 /// A mapping from CodeGen vreg index to WebAssembly register number. 47 PhysRegs.resize(WebAssembly::NUM_TARGET_REGS, -1U); 81 // this function can be used to add WebAssembly register mappings for them. 88 assert(PReg < WebAssembly::NUM_TARGET_REGS);
|
WebAssemblyCFGStackify.cpp | 19 /// scope boundaries serve as the labels for WebAssembly's control transfers. 22 /// WebAssembly, provided that all loops are single-entry. 28 #include "WebAssembly.h" 47 return "WebAssembly CFG Stackify"; 327 prev(InsertPos)->getOpcode() == WebAssembly::BLOCK) 332 BuildMI(*Header, InsertPos, DebugLoc(), TII.get(WebAssembly::BLOCK)) 363 BuildMI(MBB, MBB.begin(), DebugLoc(), TII.get(WebAssembly::LOOP)) 370 BuildMI(*Bottom, Bottom->end(), DebugLoc(), TII.get(WebAssembly::LOOP_END)); 445 case WebAssembly::LOOP: 449 case WebAssembly::BLOCK [all...] |
WebAssemblyISelLowering.cpp | 1 //=- WebAssemblyISelLowering.cpp - WebAssembly DAG Lowering Implementation -==// 100 // WebAssembly does not produce floating-point exceptions on normal floating 107 Subtarget->hasAddr64() ? WebAssembly::SP64 : WebAssembly::SP32); 109 addRegisterClass(MVT::i32, &WebAssembly::I32RegClass); 110 addRegisterClass(MVT::i64, &WebAssembly::I64RegClass); 111 addRegisterClass(MVT::f32, &WebAssembly::F32RegClass); 112 addRegisterClass(MVT::f64, &WebAssembly::F64RegClass); 179 // WebAssembly doesn't have: 195 return WebAssembly::createFastISel(FuncInfo, LibInfo) [all...] |
WebAssemblyISelLowering.h | 1 //- WebAssemblyISelLowering.h - WebAssembly DAG Lowering Interface -*- C++ -*-// 11 /// \brief This file defines the interfaces that WebAssembly uses to lower LLVM 86 namespace WebAssembly { 89 } // end namespace WebAssembly
|
/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...] |
TargetBuiltins.h | 189 /// \brief WebAssembly builtins 190 namespace WebAssembly {
|
/external/llvm/lib/Target/WebAssembly/InstPrinter/ |
WebAssemblyInstPrinter.cpp | 1 //=- WebAssemblyInstPrinter.cpp - WebAssembly assembly instruction printing -=// 17 #include "WebAssembly.h" 99 case WebAssembly::PARAM: 100 case WebAssembly::RESULT: 101 case WebAssembly::LOCAL: 102 O << WebAssembly::TypeToString(MVT::SimpleValueType(Op.getImm())); 116 const char *llvm::WebAssembly::TypeToString(MVT Ty) {
|
WebAssemblyInstPrinter.h | 11 /// \brief This class prints an WebAssembly MCInst to wasm file syntax. 43 namespace WebAssembly { 47 } // end namespace WebAssembly
|
/external/clang/lib/Driver/ |
ToolChains.cpp | [all...] |
ToolChains.h | [all...] |
Driver.cpp | [all...] |
/external/clang/lib/Basic/ |
Targets.cpp | 742 // WebAssembly target 765 this->TheCXXABI.set(TargetCXXABI::WebAssembly); [all...] |
/external/clang/lib/CodeGen/ |
CodeGenModule.cpp | 72 case TargetCXXABI::WebAssembly: [all...] |