LLVM
8.0.1
|
#include "Target/WebAssembly/WebAssemblyRegisterInfo.h"
Public Member Functions | |
WebAssemblyRegisterInfo (const Triple &TT) | |
const MCPhysReg * | getCalleeSavedRegs (const MachineFunction *MF) const override |
BitVector | getReservedRegs (const MachineFunction &MF) const override |
void | eliminateFrameIndex (MachineBasicBlock::iterator MI, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override |
unsigned | getFrameRegister (const MachineFunction &MF) const override |
const TargetRegisterClass * | getPointerRegClass (const MachineFunction &MF, unsigned Kind=0) const override |
const uint32_t * | getNoPreservedMask () const override |
Definition at line 29 of file WebAssemblyRegisterInfo.h.
Definition at line 36 of file WebAssemblyRegisterInfo.cpp.
|
override |
Definition at line 54 of file WebAssemblyRegisterInfo.cpp.
References llvm::MachineInstrBuilder::addReg(), assert(), llvm::BuildMI(), llvm::MachineOperand::ChangeToRegister(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::tgtok::Def, llvm::ISD::FrameIndex, llvm::MachineFunction::getFrameInfo(), getFrameRegister(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineFrameInfo::getObjectSize(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineBasicBlock::getParent(), llvm::MachineInstr::getParent(), llvm::TargetRegisterInfo::getPointerRegClass(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFunction::getSubtarget(), llvm::MachineRegisterInfo::getTargetRegisterInfo(), llvm::MachineRegisterInfo::getUniqueVRegDef(), llvm::MachineRegisterInfo::hasOneNonDBGUse(), llvm::MachineOperand::isReg(), llvm::TargetRegisterInfo::isVirtualRegister(), llvm::WebAssembly::LoadAddressOperandNo, llvm::max(), llvm::MachineInstr::mayLoad(), llvm::MachineInstr::mayStore(), MI, MRI, llvm::MachineOperand::setImm(), llvm::WebAssembly::StoreAddressOperandNo, and TII.
|
override |
Definition at line 40 of file WebAssemblyRegisterInfo.cpp.
|
override |
Definition at line 132 of file WebAssemblyRegisterInfo.cpp.
References llvm::WebAssemblyFrameLowering::hasFP(), and llvm::Triple::isArch64Bit().
Referenced by CallingConvSupported(), and eliminateFrameIndex().
Definition at line 49 of file WebAssemblyRegisterInfo.h.
|
override |
Definition at line 142 of file WebAssemblyRegisterInfo.cpp.
References assert(), llvm::MachineFunction::getSubtarget(), and llvm::WebAssemblySubtarget::hasAddr64().
|
override |
Definition at line 46 of file WebAssemblyRegisterInfo.cpp.
References Reg, and llvm::BitVector::set().