From aac123825eb12a40393679bf9ed9c3e3106f2640 Mon Sep 17 00:00:00 2001 From: Rafael Espindola Date: Mon, 27 Jun 2016 21:33:08 +0000 Subject: [PATCH] Convert a few more comparisons to isPositionIndependent(). NFC. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273945 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetMachine.h | 2 ++ lib/Target/TargetMachine.cpp | 4 ++++ lib/Target/X86/X86ISelDAGToDAG.cpp | 2 +- lib/Target/X86/X86InstrInfo.cpp | 4 ++-- lib/Target/X86/X86InstrInfo.td | 2 +- lib/Target/X86/X86Subtarget.h | 4 +--- 6 files changed, 11 insertions(+), 7 deletions(-) diff --git a/include/llvm/Target/TargetMachine.h b/include/llvm/Target/TargetMachine.h index e054dde0e1b..0b521064f21 100644 --- a/include/llvm/Target/TargetMachine.h +++ b/include/llvm/Target/TargetMachine.h @@ -175,6 +175,8 @@ public: /// target default. CodeModel::Model getCodeModel() const; + bool isPositionIndependent() const; + /// Returns the TLS model which should be used for the given global variable. TLSModel::Model getTLSModel(const GlobalValue *GV) const; diff --git a/lib/Target/TargetMachine.cpp b/lib/Target/TargetMachine.cpp index 220f1f3183d..d7617e73245 100644 --- a/lib/Target/TargetMachine.cpp +++ b/lib/Target/TargetMachine.cpp @@ -53,6 +53,10 @@ TargetMachine::~TargetMachine() { delete STI; } +bool TargetMachine::isPositionIndependent() const { + return getRelocationModel() == Reloc::PIC_; +} + /// \brief Reset the target options based on the function's attributes. // FIXME: This function needs to go away for a number of reasons: // a) global state on the TargetMachine is terrible in general, diff --git a/lib/Target/X86/X86ISelDAGToDAG.cpp b/lib/Target/X86/X86ISelDAGToDAG.cpp index cb3b59438a8..cc9fc70c0cd 100644 --- a/lib/Target/X86/X86ISelDAGToDAG.cpp +++ b/lib/Target/X86/X86ISelDAGToDAG.cpp @@ -550,7 +550,7 @@ void X86DAGToDAGISel::PreprocessISelDAG() { (N->getOpcode() == X86ISD::TC_RETURN && // Only does this if load can be folded into TC_RETURN. (Subtarget->is64Bit() || - getTargetMachine().getRelocationModel() != Reloc::PIC_)))) { + !getTargetMachine().isPositionIndependent())))) { /// Also try moving call address load from outside callseq_start to just /// before the call to allow it to be folded. /// diff --git a/lib/Target/X86/X86InstrInfo.cpp b/lib/Target/X86/X86InstrInfo.cpp index 480f544f53b..4a0a57ad426 100644 --- a/lib/Target/X86/X86InstrInfo.cpp +++ b/lib/Target/X86/X86InstrInfo.cpp @@ -6286,7 +6286,7 @@ MachineInstr *X86InstrInfo::foldMemoryOperandImpl( // x86-32 PIC requires a PIC base register for constant pools. unsigned PICBase = 0; - if (MF.getTarget().getRelocationModel() == Reloc::PIC_) { + if (MF.getTarget().isPositionIndependent()) { if (Subtarget.is64Bit()) PICBase = X86::RIP; else @@ -7361,7 +7361,7 @@ namespace { return false; // Only emit a global base reg in PIC mode. - if (TM->getRelocationModel() != Reloc::PIC_) + if (!TM->isPositionIndependent()) return false; X86MachineFunctionInfo *X86FI = MF.getInfo(); diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 51782ef1f07..500c0862192 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -880,7 +880,7 @@ def FarData : Predicate<"TM.getCodeModel() != CodeModel::Small &&" "TM.getCodeModel() != CodeModel::Kernel">; def NearData : Predicate<"TM.getCodeModel() == CodeModel::Small ||" "TM.getCodeModel() == CodeModel::Kernel">; -def IsNotPIC : Predicate<"TM.getRelocationModel() != Reloc::PIC_">; +def IsNotPIC : Predicate<"!TM.isPositionIndependent()">; def OptForSize : Predicate<"OptForSize">; def OptForMinSize : Predicate<"OptForMinSize">; def OptForSpeed : Predicate<"!OptForSize">; diff --git a/lib/Target/X86/X86Subtarget.h b/lib/Target/X86/X86Subtarget.h index c3967c41406..a274b797ca8 100644 --- a/lib/Target/X86/X86Subtarget.h +++ b/lib/Target/X86/X86Subtarget.h @@ -523,9 +523,7 @@ public: return PICStyle == PICStyles::StubPIC; } - bool isPositionIndependent() const { - return TM.getRelocationModel() == Reloc::PIC_; - } + bool isPositionIndependent() const { return TM.isPositionIndependent(); } bool isCallingConvWin64(CallingConv::ID CC) const { switch (CC) { -- 2.11.0