|
LLVM
3.7.0
|
#include <HexagonRegisterInfo.h>
Definition at line 40 of file HexagonRegisterInfo.h.
| HexagonRegisterInfo::HexagonRegisterInfo | ( | ) |
Definition at line 42 of file HexagonRegisterInfo.cpp.
|
override |
Definition at line 111 of file HexagonRegisterInfo.cpp.
References llvm::BP, llvm::MachineOperand::ChangeToImmediate(), llvm::MachineOperand::ChangeToRegister(), llvm::dbgs(), F(), llvm::MachineFunction::getFrameInfo(), getFrameRegister(), llvm::MachineFunction::getFunction(), llvm::MachineOperand::getImm(), llvm::MachineOperand::getIndex(), llvm::HexagonSubtarget::getInstrInfo(), llvm::Value::getName(), llvm::MachineBasicBlock::getNumber(), llvm::MachineFrameInfo::getObjectOffset(), llvm::MachineInstr::getOpcode(), llvm::MachineInstr::getOperand(), llvm::MachineInstr::getParent(), llvm::MachineBasicBlock::getParent(), getStackRegister(), llvm::MachineFrameInfo::getStackSize(), llvm::MachineFunction::getSubtarget(), llvm::MachineFrameInfo::hasVarSizedObjects(), llvm::MachineInstr::isDebugValue(), llvm::MachineFrameInfo::isFixedObjectIndex(), llvm::MachineInstr::isInlineAsm(), llvm::MachineFrameInfo::isObjectPreAllocated(), llvm_unreachable, llvm::AArch64CC::MI, needsStackRealignment(), llvm::MachineInstr::RemoveOperand(), llvm::MachineInstr::setDesc(), and llvm::SP.
|
override |
Code Generation virtual methods...
Definition at line 77 of file HexagonRegisterInfo.cpp.
References llvm::HexagonSubtarget::getHexagonArchVersion(), llvm::MachineFunction::getSubtarget(), llvm_unreachable, llvm::HexagonSubtarget::V4, and llvm::HexagonSubtarget::V5.
Referenced by llvm::HexagonFrameLowering::determineCalleeSaves().
| const MCPhysReg * HexagonRegisterInfo::getCallerSavedRegs | ( | const MachineFunction * | MF | ) | const |
Definition at line 57 of file HexagonRegisterInfo.cpp.
References llvm::MachineFunction::getSubtarget(), llvm_unreachable, R2, R4, R6, llvm::HexagonSubtarget::V4, and llvm::HexagonSubtarget::V5.
Referenced by needToReserveScavengingSpillSlots().
| unsigned HexagonRegisterInfo::getFirstCallerSavedNonParamReg | ( | ) | const |
Definition at line 255 of file HexagonRegisterInfo.cpp.
References R6.
|
override |
Definition at line 222 of file HexagonRegisterInfo.cpp.
References llvm::HexagonFrameLowering::hasFP().
Referenced by llvm::HexagonInstrInfo::expandPostRAPseudo(), and llvm::HexagonTargetLowering::LowerFRAMEADDR().
| unsigned HexagonRegisterInfo::getFrameRegister | ( | ) | const |
Definition at line 231 of file HexagonRegisterInfo.cpp.
Referenced by eliminateFrameIndex().
| unsigned HexagonRegisterInfo::getRARegister | ( | ) | const |
Definition at line 217 of file HexagonRegisterInfo.cpp.
Referenced by llvm::HexagonTargetLowering::LowerINLINEASM(), and llvm::HexagonTargetLowering::LowerRETURNADDR().
|
override |
Definition at line 93 of file HexagonRegisterInfo.cpp.
References HEXAGON_RESERVED_REG_1, HEXAGON_RESERVED_REG_2, llvm::Reserved, and llvm::BitVector::set().
| unsigned HexagonRegisterInfo::getStackRegister | ( | ) | const |
Definition at line 236 of file HexagonRegisterInfo.cpp.
Referenced by eliminateFrameIndex().
Definition at line 51 of file HexagonRegisterInfo.cpp.
Definition at line 46 of file HexagonRegisterInfo.cpp.
References R2.
|
override |
Definition at line 249 of file HexagonRegisterInfo.cpp.
References llvm::MachineFunction::getFrameInfo(), and llvm::MachineFrameInfo::getMaxAlignment().
Referenced by eliminateFrameIndex().
|
inlineoverride |
Returns true.
Spill code for predicate registers might need an extra register.
Definition at line 62 of file HexagonRegisterInfo.h.
|
inlineoverride |
Returns true since we may need scavenging for a temporary register when generating hardware loop instructions.
Definition at line 56 of file HexagonRegisterInfo.h.
|
inlineoverride |
Definition at line 71 of file HexagonRegisterInfo.h.
|
override |
Returns true if the frame pointer is valid.
Definition at line 242 of file HexagonRegisterInfo.cpp.
References llvm::HexagonFrameLowering::hasFP().
1.8.6