Revert r72734. The Darwin assembler doesn't support the static
authorDan Gohman <gohman@apple.com>
Wed, 3 Jun 2009 00:37:20 +0000 (00:37 +0000)
committerDan Gohman <gohman@apple.com>
Wed, 3 Jun 2009 00:37:20 +0000 (00:37 +0000)
relocation model on x86-64. Higher level logic should override
the relocation model to PIC on x86_64-apple-darwin.

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

lib/Target/X86/X86Instr64bit.td
lib/Target/X86/X86InstrInfo.td
test/CodeGen/X86/abi-isel.ll
test/CodeGen/X86/ga-offset.ll
test/CodeGen/X86/x86-store-gv-addr.ll

index d4e298e9ca12604d8d41090aad5a0941e710af0e..dc15e4aa4ee9974956ab4282031e84c4c8184eab 100644 (file)
@@ -1399,16 +1399,16 @@ def : Pat<(i64 (X86Wrapper texternalsym:$dst)),
 
 def : Pat<(store (i64 (X86Wrapper tconstpool:$src)), addr:$dst),
           (MOV64mi32 addr:$dst, tconstpool:$src)>,
-          Requires<[SmallCode, IsStatic, IsNotDarwin]>;
+          Requires<[SmallCode, IsStatic]>;
 def : Pat<(store (i64 (X86Wrapper tjumptable:$src)), addr:$dst),
           (MOV64mi32 addr:$dst, tjumptable:$src)>,
-          Requires<[SmallCode, IsStatic, IsNotDarwin]>;
+          Requires<[SmallCode, IsStatic]>;
 def : Pat<(store (i64 (X86Wrapper tglobaladdr:$src)), addr:$dst),
           (MOV64mi32 addr:$dst, tglobaladdr:$src)>,
-          Requires<[SmallCode, IsStatic, IsNotDarwin]>;
+          Requires<[SmallCode, IsStatic]>;
 def : Pat<(store (i64 (X86Wrapper texternalsym:$src)), addr:$dst),
           (MOV64mi32 addr:$dst, texternalsym:$src)>,
-          Requires<[SmallCode, IsStatic, IsNotDarwin]>;
+          Requires<[SmallCode, IsStatic]>;
 
 // Calls
 // Direct PC relative function call for small code model. 32-bit displacement
index c3f82a52f1ce35239603fc75c8cbad30cb94a2ce..50ae41764151bc6136f6fd56a4fa543f81f31967 100644 (file)
@@ -237,7 +237,6 @@ def IsStatic     : Predicate<"TM.getRelocationModel() == Reloc::Static">;
 def OptForSpeed  : Predicate<"!OptForSize">;
 def FastBTMem    : Predicate<"!Subtarget->isBTMemSlow()">;
 def CallImmAddr  : Predicate<"Subtarget->IsLegalToCallImmediateAddr(TM)">;
-def IsNotDarwin  : Predicate<"!Subtarget->isTargetDarwin()">;
 
 //===----------------------------------------------------------------------===//
 // X86 Instruction Format Definitions.
index 5decbcff92ce3cf3ba64011486ea845b6aec816d..f1fec3f8b94da7bb20709e05169eafa82fef13eb 100644 (file)
 ; RUN: grep movl %t | count 91
 ; RUN: not grep addl %t
 ; RUN: not grep subl %t
-; RUN: grep leaq %t | count 81
+; RUN: grep leaq %t | count 70
 ; RUN: grep movq %t | count 56
 ; RUN: grep addq %t | count 20
 ; RUN: grep subq %t | count 14
 ; RUN: not grep @PLT %t
 ; RUN: not grep @PLTOFF %t
 ; RUN: grep {call      \\\*} %t | count 10
-; RUN: grep {%rip} %t | count 150
+; RUN: grep {%rip} %t | count 139
 ; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin -march=x86-64 -relocation-model=dynamic-no-pic -code-model=small > %t
 ; RUN: not grep leal %t
 ; RUN: grep movl %t | count 95
index 40787cb9463cb9556d61f61e1922ab204b6bb97a..cc93b4c2eeff3695efff24f1030595da6dda7a0d 100644 (file)
@@ -2,7 +2,7 @@
 ; RUN: not grep lea %t
 ; RUN: not grep add %t
 ; RUN: grep mov %t | count 1
-; RUN: llvm-as < %s | llc -mtriple=x86_64-unknown-linux-gnu -relocation-model=static > %t
+; RUN: llvm-as < %s | llc -march=x86-64 -relocation-model=static > %t
 ; RUN: not grep lea %t
 ; RUN: not grep add %t
 ; RUN: grep mov %t | count 1
index 53d6a91e2a334c365b7270ff6f685dfd5554904d..799340d35dd2bb36f5ba2f5beedb8e6234549d78 100644 (file)
@@ -1,4 +1,4 @@
-; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin -relocation-model=static | grep lea
+; RUN: llvm-as < %s | llc -mtriple=x86_64-apple-darwin -relocation-model=static | not grep lea
 ; RUN: llvm-as < %s | llc -mtriple=x86_64-pc-linux-gnu -relocation-model=static | not grep lea
 
 @v = external global i32, align 8