LLVM 20.0.0git
|
#include "Target/ARM/ThumbRegisterInfo.h"
Additional Inherited Members | |
Protected Member Functions inherited from llvm::ARMBaseRegisterInfo | |
ARMBaseRegisterInfo () | |
Protected Attributes inherited from llvm::ARMBaseRegisterInfo | |
unsigned | BasePtr = ARM::R6 |
BasePtr - ARM physical register used as a base ptr in complex stack frames. | |
Definition at line 25 of file ThumbRegisterInfo.h.
|
default |
|
override |
Definition at line 541 of file ThumbRegisterInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addReg(), llvm::ARMCC::AL, assert(), llvm::BuildMI(), contains(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::ARMBaseRegisterInfo::eliminateFrameIndex(), emitLoadConstPool(), llvm::emitThumbRegPlusImmediate(), emitThumbRegPlusImmInReg(), llvm::MachineFunction::getFrameInfo(), llvm::ARMSubtarget::getFrameLowering(), llvm::MachineFunction::getInfo(), llvm::ARMSubtarget::getInstrInfo(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), llvm::ARMFrameLowering::hasReservedCallFrame(), llvm::MachineFrameInfo::hasVarSizedObjects(), II, llvm::RegScavenger::isScavengingFrameIndex(), llvm::ARMSubtarget::isThumb1Only(), llvm::ARMFunctionInfo::isThumbFunction(), llvm_unreachable, MBB, MI, llvm::Offset, llvm::predOps(), removeOperands(), llvm::ARMFrameLowering::ResolveFrameIndexReference(), rewriteFrameIndex(), and TII.
|
overridevirtual |
emitLoadConstPool - Emits a load from constpool to materialize the specified immediate.
Reimplemented from llvm::ARMBaseRegisterInfo.
Definition at line 103 of file ThumbRegisterInfo.cpp.
References assert(), emitThumb1LoadConstPool(), emitThumb2LoadConstPool(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getSubtarget(), llvm::isARMLowRegister(), llvm::ARMSubtarget::isThumb1Only(), llvm::Register::isVirtual(), MBB, and MBBI.
Referenced by eliminateFrameIndex().
|
override |
Definition at line 43 of file ThumbRegisterInfo.cpp.
References llvm::ARMBaseRegisterInfo::getLargestLegalSuperClass(), llvm::MachineFunction::getSubtarget(), and llvm::ARMSubtarget::isThumb1Only().
|
override |
Definition at line 54 of file ThumbRegisterInfo.cpp.
References llvm::ARMBaseRegisterInfo::getPointerRegClass(), llvm::MachineFunction::getSubtarget(), and llvm::ARMSubtarget::isThumb1Only().
|
override |
Definition at line 521 of file ThumbRegisterInfo.cpp.
References assert(), llvm::Done, llvm::ARMSubtarget::getInstrInfo(), llvm::MachineFunction::getSubtarget(), llvm::ARMSubtarget::isThumb1Only(), MI, llvm::Offset, llvm::ARMBaseRegisterInfo::resolveFrameIndex(), rewriteFrameIndex(), and TII.
bool ThumbRegisterInfo::rewriteFrameIndex | ( | MachineBasicBlock::iterator | II, |
unsigned | FrameRegIdx, | ||
Register | FrameReg, | ||
int & | Offset, | ||
const ARMBaseInstrInfo & | TII | ||
) | const |
Definition at line 424 of file ThumbRegisterInfo.cpp.
References llvm::MachineInstrBuilder::add(), llvm::MachineInstrBuilder::addReg(), llvm::ARMII::AddrModeMask, llvm::ARMII::AddrModeT1_s, llvm::ARMCC::AL, assert(), llvm::BuildMI(), llvm::MachineOperand::ChangeToImmediate(), contains(), convertToNonSPOpcode(), llvm::MachineRegisterInfo::createVirtualRegister(), llvm::emitThumbRegPlusImmediate(), llvm::MachineBasicBlock::erase(), llvm::MachineBasicBlock::getParent(), llvm::MachineFunction::getRegInfo(), llvm::MachineFunction::getSubtarget(), II, llvm::ARMSubtarget::isThumb1Only(), llvm_unreachable, MBB, MI, llvm::Offset, llvm::predOps(), and TII.
Referenced by eliminateFrameIndex(), and resolveFrameIndex().
|
override |
Definition at line 683 of file ThumbRegisterInfo.cpp.
References llvm::MachineFunction::getSubtarget(), and llvm::ARMSubtarget::isThumb1Only().