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 ARMBaseInstrInfo &tii, const ARMSubtarget &STI)
const TargetRegisterClassgetLargestLegalSuperClass (const TargetRegisterClass *RC) const
const TargetRegisterClassgetPointerRegClass (const MachineFunction &MF, unsigned Kind=0) const
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
bool rewriteFrameIndex (MachineBasicBlock::iterator II, unsigned FrameRegIdx, unsigned FrameReg, int &Offset, const ARMBaseInstrInfo &TII) const
void resolveFrameIndex (MachineBasicBlock::iterator I, unsigned BaseReg, int64_t Offset) const
bool saveScavengerRegister (MachineBasicBlock &MBB, MachineBasicBlock::iterator I, MachineBasicBlock::iterator &UseMI, const TargetRegisterClass *RC, unsigned Reg) const
void eliminateFrameIndex (MachineBasicBlock::iterator II, int SPAdj, unsigned FIOperandNum, RegScavenger *RS=NULL) const

Detailed Description

Definition at line 26 of file Thumb1RegisterInfo.h.


Constructor & Destructor Documentation

Thumb1RegisterInfo::Thumb1RegisterInfo ( const ARMBaseInstrInfo tii,
const ARMSubtarget STI 
)

Definition at line 43 of file Thumb1RegisterInfo.cpp.


Member Function Documentation

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

Reimplemented from llvm::ARMBaseRegisterInfo.

Definition at line 554 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::MCInstrInfo::get(), llvm::MachineInstr::getDebugLoc(), llvm::MachineFunction::getFrameInfo(), llvm::TargetMachine::getFrameLowering(), llvm::ARMFunctionInfo::getFramePtrSpillOffset(), llvm::ARMBaseRegisterInfo::getFrameRegister(), llvm::ARMFunctionInfo::getGPRCalleeSavedArea1Offset(), llvm::ARMFunctionInfo::getGPRCalleeSavedArea2Offset(), llvm::MachineOperand::getIndex(), llvm::MachineFunction::getInfo(), 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::getTarget(), llvm::ARMBaseRegisterInfo::hasBasePointer(), llvm::TargetFrameLowering::hasFP(), llvm::TargetFrameLowering::hasReservedCallFrame(), llvm::MachineFrameInfo::hasVarSizedObjects(), llvm::MachineInstr::isDebugValue(), llvm::ARMFunctionInfo::isGPRCalleeSavedArea1Frame(), llvm::ARMFunctionInfo::isGPRCalleeSavedArea2Frame(), llvm::MachineInstr::isPredicable(), llvm::RegScavenger::isScavengingFrameIndex(), llvm::ARMFunctionInfo::isThumbFunction(), llvm_unreachable, llvm::MachineInstr::mayLoad(), llvm::MachineInstr::mayStore(), llvm::A64CC::MI, removeOperands(), rewriteFrameIndex(), and llvm::MachineInstr::setDesc().

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 [virtual]
const TargetRegisterClass * Thumb1RegisterInfo::getLargestLegalSuperClass ( const TargetRegisterClass RC) const

Reimplemented from llvm::ARMBaseRegisterInfo.

Definition at line 49 of file Thumb1RegisterInfo.cpp.

const TargetRegisterClass * Thumb1RegisterInfo::getPointerRegClass ( const MachineFunction MF,
unsigned  Kind = 0 
) const

Reimplemented from llvm::ARMBaseRegisterInfo.

Definition at line 57 of file Thumb1RegisterInfo.cpp.

void Thumb1RegisterInfo::resolveFrameIndex ( MachineBasicBlock::iterator  I,
unsigned  BaseReg,
int64_t  Offset 
) const
bool Thumb1RegisterInfo::rewriteFrameIndex ( MachineBasicBlock::iterator  II,
unsigned  FrameRegIdx,
unsigned  FrameReg,
int &  Offset,
const ARMBaseInstrInfo TII 
) const
bool Thumb1RegisterInfo::saveScavengerRegister ( MachineBasicBlock MBB,
MachineBasicBlock::iterator  I,
MachineBasicBlock::iterator UseMI,
const TargetRegisterClass RC,
unsigned  Reg 
) const

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