Use isPositionIndependent in a few more places.
I think this converts all the simple cases that really just care about the generated code being position independent or not. The remaining uses are a bit more complicated and are checking things like "is this a library or executable" or "can this symbol be preempted". llvm-svn: 274055
This commit is contained in:
parent
2012d744f4
commit
b1556c42ce
|
@ -125,7 +125,7 @@ AsmPrinter::~AsmPrinter() {
|
|||
}
|
||||
|
||||
bool AsmPrinter::isPositionIndependent() const {
|
||||
return TM.getRelocationModel() == Reloc::PIC_;
|
||||
return TM.isPositionIndependent();
|
||||
}
|
||||
|
||||
/// getFunctionNumber - Return a unique ID for the current function.
|
||||
|
|
|
@ -3510,7 +3510,7 @@ bool SelectionDAGLegalize::ExpandNode(SDNode *Node) {
|
|||
MachinePointerInfo::getJumpTable(DAG.getMachineFunction()), MemVT,
|
||||
false, false, false, 0);
|
||||
Addr = LD;
|
||||
if (TM.getRelocationModel() == Reloc::PIC_) {
|
||||
if (TM.isPositionIndependent()) {
|
||||
// For PIC, the sequence is:
|
||||
// BRIND(load(Jumptable + index) + RelocBase)
|
||||
// RelocBase can be JumpTable, GOT or some sort of global base.
|
||||
|
|
|
@ -45,7 +45,7 @@ const char *TargetLowering::getTargetNodeName(unsigned Opcode) const {
|
|||
}
|
||||
|
||||
bool TargetLowering::isPositionIndependent() const {
|
||||
return getTargetMachine().getRelocationModel() == Reloc::PIC_;
|
||||
return getTargetMachine().isPositionIndependent();
|
||||
}
|
||||
|
||||
/// Check whether a given call node is in tail position within its function. If
|
||||
|
|
|
@ -1058,7 +1058,7 @@ bool HexagonFrameLowering::insertCSRSpillsInBlock(MachineBasicBlock &MBB,
|
|||
const char *SpillFun = getSpillFunctionFor(MaxReg, SK_ToMem,
|
||||
StkOvrFlowEnabled);
|
||||
auto &HTM = static_cast<const HexagonTargetMachine&>(MF.getTarget());
|
||||
bool IsPIC = HTM.getRelocationModel() == Reloc::PIC_;
|
||||
bool IsPIC = HTM.isPositionIndependent();
|
||||
|
||||
// Call spill function.
|
||||
DebugLoc DL = MI != MBB.end() ? MI->getDebugLoc() : DebugLoc();
|
||||
|
@ -1112,7 +1112,7 @@ bool HexagonFrameLowering::insertCSRRestoresInBlock(MachineBasicBlock &MBB,
|
|||
SpillKind Kind = HasTC ? SK_FromMemTailcall : SK_FromMem;
|
||||
const char *RestoreFn = getSpillFunctionFor(MaxR, Kind);
|
||||
auto &HTM = static_cast<const HexagonTargetMachine&>(MF.getTarget());
|
||||
bool IsPIC = HTM.getRelocationModel() == Reloc::PIC_;
|
||||
bool IsPIC = HTM.isPositionIndependent();
|
||||
|
||||
// Call spill function.
|
||||
DebugLoc DL = MI != MBB.end() ? MI->getDebugLoc()
|
||||
|
|
|
@ -260,7 +260,7 @@ BitVector PPCRegisterInfo::getReservedRegs(const MachineFunction &MF) const {
|
|||
if (TFI->needsFP(MF))
|
||||
Reserved.set(PPC::R31);
|
||||
|
||||
bool IsPositionIndependent = TM.getRelocationModel() == Reloc::PIC_;
|
||||
bool IsPositionIndependent = TM.isPositionIndependent();
|
||||
if (hasBasePointer(MF)) {
|
||||
if (Subtarget.isSVR4ABI() && !TM.isPPC64() && IsPositionIndependent)
|
||||
Reserved.set(PPC::R29);
|
||||
|
@ -934,8 +934,7 @@ unsigned PPCRegisterInfo::getBaseRegister(const MachineFunction &MF) const {
|
|||
if (TM.isPPC64())
|
||||
return PPC::X30;
|
||||
|
||||
if (Subtarget.isSVR4ABI() &&
|
||||
TM.getRelocationModel() == Reloc::PIC_)
|
||||
if (Subtarget.isSVR4ABI() && TM.isPositionIndependent())
|
||||
return PPC::R29;
|
||||
|
||||
return PPC::R30;
|
||||
|
|
Loading…
Reference in New Issue