LLVM API Documentation

Public Member Functions
llvm::Thumb1RegisterInfo Struct Reference

#include <Thumb1RegisterInfo.h>

Inheritance diagram for llvm::Thumb1RegisterInfo:
Inheritance graph
[legend]
Collaboration diagram for llvm::Thumb1RegisterInfo:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Thumb1RegisterInfo (const ARMSubtarget &STI)
const TargetRegisterClassgetLargestLegalSuperClass (const TargetRegisterClass *RC) const override
const TargetRegisterClassgetPointerRegClass (const MachineFunction &MF, unsigned Kind=0) const override
void emitLoadConstPool (MachineBasicBlock &MBB, MachineBasicBlock::iterator &MBBI, DebugLoc dl, unsigned DestReg, unsigned SubIdx, int Val, ARMCC::CondCodes Pred=ARMCC::AL, unsigned PredReg=0, unsigned MIFlags=MachineInstr::NoFlags) const override
bool rewriteFrameIndex (MachineBasicBlock::iterator II, unsigned FrameRegIdx, unsigned FrameReg, int &Offset, const ARMBaseInstrInfo &TII) const
void resolveFrameIndex (MachineInstr &MI, unsigned BaseReg, int64_t Offset) const override
bool saveScavengerRegister (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, MachineBasicBlock::iterator &UseMI, const TargetRegisterClass *RC, unsigned Reg) const override
void eliminateFrameIndex (MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=nullptr) const override

Detailed Description

Definition at line 25 of file Thumb1RegisterInfo.h.


Constructor & Destructor Documentation

Definition at line 41 of file Thumb1RegisterInfo.cpp.


Member Function Documentation

void Thumb1RegisterInfo::eliminateFrameIndex ( MachineBasicBlock::iterator  II,
int  SPAdj,
unsigned  FIOperandNum,
RegScavenger RS = nullptr 
) const [override]

Reimplemented from llvm::ARMBaseRegisterInfo.

Definition at line 557 of file Thumb1RegisterInfo.cpp.

References llvm::AddDefaultPred(), llvm::ARMBaseRegisterInfo::BasePtr, llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), llvm::MachineRegisterInfo::createVirtualRegister(), emitLoadConstPool(), llvm::emitThumbRegPlusImmediate(), emitThumbRegPlusImmInReg(), llvm::MachineInstr::findFirstPredOperandIdx(), llvm::ISD::FrameIndex, llvm::MachineInstr::getDebugLoc(), llvm::MachineFunction::getFrameInfo(), llvm::TargetSubtargetInfo::getFrameLowering(), llvm::ARMFunctionInfo::getFramePtrSpillOffset(), llvm::ARMBaseRegisterInfo::getFrameRegister(), llvm::MachineOperand::getIndex(), llvm::MachineFunction::getInfo(), llvm::TargetSubtargetInfo::getInstrInfo(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), llvm::MachineOperand::getReg(), llvm::MachineFunction::getRegInfo(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFunction::getSubtarget(), llvm::TargetMachine::getSubtargetImpl(), llvm::MachineFunction::getTarget(), llvm::ARMBaseRegisterInfo::hasBasePointer(), llvm::TargetFrameLowering::hasFP(), llvm::TargetFrameLowering::hasReservedCallFrame(), llvm::MachineFrameInfo::hasVarSizedObjects(), llvm::MachineInstr::isDebugValue(), llvm::MachineInstr::isPredicable(), llvm::RegScavenger::isScavengingFrameIndex(), llvm::ARMFunctionInfo::isThumbFunction(), llvm_unreachable, llvm::MachineInstr::mayLoad(), llvm::MachineInstr::mayStore(), llvm::AArch64CC::MI, removeOperands(), rewriteFrameIndex(), llvm::MachineInstr::setDesc(), and TII.

void Thumb1RegisterInfo::emitLoadConstPool ( MachineBasicBlock MBB,
MachineBasicBlock::iterator MBBI,
DebugLoc  dl,
unsigned  DestReg,
unsigned  SubIdx,
int  Val,
ARMCC::CondCodes  Pred = ARMCC::AL,
unsigned  PredReg = 0,
unsigned  MIFlags = MachineInstr::NoFlags 
) const [override, virtual]

Reimplemented from llvm::ARMBaseRegisterInfo.

Definition at line 46 of file Thumb1RegisterInfo.cpp.

Reimplemented from llvm::ARMBaseRegisterInfo.

Definition at line 54 of file Thumb1RegisterInfo.cpp.

void Thumb1RegisterInfo::resolveFrameIndex ( MachineInstr MI,
unsigned  BaseReg,
int64_t  Offset 
) const [override]
bool Thumb1RegisterInfo::rewriteFrameIndex ( MachineBasicBlock::iterator  II,
unsigned  FrameRegIdx,
unsigned  FrameReg,
int Offset,
const ARMBaseInstrInfo TII 
) const

The documentation for this struct was generated from the following files: