]> granicus.if.org Git - llvm/commitdiff
[X86Subtarget] Use isPositionIndependent(). NFC.
authorDavide Italiano <davide@freebsd.org>
Sat, 18 Jun 2016 00:03:20 +0000 (00:03 +0000)
committerDavide Italiano <davide@freebsd.org>
Sat, 18 Jun 2016 00:03:20 +0000 (00:03 +0000)
Differential Revision:  http://reviews.llvm.org/D21480

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@273071 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86Subtarget.cpp
lib/Target/X86/X86Subtarget.h

index 99adf9c459afbfe5903583d26b33d710102e910d..a1550701de54be77e10ee7b32ee72fa55b4bcb2f 100644 (file)
@@ -66,7 +66,7 @@ X86Subtarget::classifyLocalReference(const GlobalValue *GV) const {
 
   // If this is for a position dependent executable, the static linker can
   // figure it out.
-  if (TM.getRelocationModel() != Reloc::PIC_)
+  if (!isPositionIndependent())
     return X86II::MO_NO_FLAG;
 
   // The COFF dynamic linker just patches the executable sections.
@@ -104,7 +104,7 @@ unsigned char X86Subtarget::classifyGlobalReference(const GlobalValue *GV,
     return X86II::MO_GOTPCREL;
 
   if (isTargetDarwin()) {
-    if (RM != Reloc::PIC_)
+    if (!isPositionIndependent())
       return X86II::MO_DARWIN_NONLAZY;
     return X86II::MO_DARWIN_NONLAZY_PIC_BASE;
   }
@@ -334,7 +334,7 @@ X86Subtarget::X86Subtarget(const Triple &TT, StringRef CPU, StringRef FS,
   } else if (isTargetCOFF()) {
     setPICStyle(PICStyles::None);
   } else if (isTargetDarwin()) {
-    if (TM.getRelocationModel() == Reloc::PIC_)
+    if (isPositionIndependent())
       setPICStyle(PICStyles::StubPIC);
     else {
       assert(TM.getRelocationModel() == Reloc::DynamicNoPIC);
index 51b519c19e1649a0bc2af4a9e6e2cb66bb2aeeca..b0f3d2650e38f58abca16f69974b59c758eb8255 100644 (file)
@@ -533,6 +533,10 @@ public:
            PICStyle == PICStyles::StubPIC;
   }
 
+  bool isPositionIndependent() const {
+    return TM.getRelocationModel() == Reloc::PIC_;
+  }
+
   bool isCallingConvWin64(CallingConv::ID CC) const {
     switch (CC) {
     // On Win64, all these conventions just use the default convention.