[llvm] r271111 - Fix default reloc model on ARM.

Rafael Espindola via llvm-commits llvm-commits at lists.llvm.org
Sat May 28 03:41:36 PDT 2016


Author: rafael
Date: Sat May 28 05:41:15 2016
New Revision: 271111

URL: http://llvm.org/viewvc/llvm-project?rev=271111&view=rev
Log:
Fix default reloc model on ARM.

Added:
    llvm/trunk/test/CodeGen/ARM/default-reloc.ll
Modified:
    llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp?rev=271111&r1=271110&r2=271111&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMTargetMachine.cpp Sat May 28 05:41:15 2016
@@ -175,8 +175,8 @@ static std::string computeDataLayout(con
 static Reloc::Model getEffectiveRelocModel(const Triple &TT,
                                            Optional<Reloc::Model> RM) {
   if (!RM.hasValue())
-    // Default relocation model on Darwin is PIC, not DynamicNoPIC.
-    return TT.isOSDarwin() ? Reloc::PIC_ : Reloc::DynamicNoPIC;
+    // Default relocation model on Darwin is PIC.
+    return TT.isOSBinFormatMachO() ? Reloc::PIC_ : Reloc::Static;
 
   // DynamicNoPIC is only used on darwin.
   if (*RM == Reloc::DynamicNoPIC && !TT.isOSDarwin())

Added: llvm/trunk/test/CodeGen/ARM/default-reloc.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/ARM/default-reloc.ll?rev=271111&view=auto
==============================================================================
--- llvm/trunk/test/CodeGen/ARM/default-reloc.ll (added)
+++ llvm/trunk/test/CodeGen/ARM/default-reloc.ll Sat May 28 05:41:15 2016
@@ -0,0 +1,5 @@
+; RUN: llc -mtriple=armv7-linux-gnu -O0 < %s
+ at a = external global i32
+define i32* @get() {
+  ret i32* @a
+}




More information about the llvm-commits mailing list