diff options
author | Dan Gohman <gohman@apple.com> | 2009-06-03 00:37:20 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-06-03 00:37:20 +0000 |
commit | b36f9f864883a16cda0c18cf73d9ed4956c7fd47 (patch) | |
tree | a69d9441feb9a2a7ea7387f1eb82cda516464c6c | |
parent | a300261c326a90bc01e22e6af1baeabf22188672 (diff) | |
download | external_llvm-b36f9f864883a16cda0c18cf73d9ed4956c7fd47.zip external_llvm-b36f9f864883a16cda0c18cf73d9ed4956c7fd47.tar.gz external_llvm-b36f9f864883a16cda0c18cf73d9ed4956c7fd47.tar.bz2 |
Revert r72734. The Darwin assembler doesn't support the static
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
-rw-r--r-- | lib/Target/X86/X86Instr64bit.td | 8 | ||||
-rw-r--r-- | lib/Target/X86/X86InstrInfo.td | 1 | ||||
-rw-r--r-- | test/CodeGen/X86/abi-isel.ll | 4 | ||||
-rw-r--r-- | test/CodeGen/X86/ga-offset.ll | 2 | ||||
-rw-r--r-- | test/CodeGen/X86/x86-store-gv-addr.ll | 2 |
5 files changed, 8 insertions, 9 deletions
diff --git a/lib/Target/X86/X86Instr64bit.td b/lib/Target/X86/X86Instr64bit.td index d4e298e..dc15e4a 100644 --- a/lib/Target/X86/X86Instr64bit.td +++ b/lib/Target/X86/X86Instr64bit.td @@ -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 diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index c3f82a5..50ae417 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -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. diff --git a/test/CodeGen/X86/abi-isel.ll b/test/CodeGen/X86/abi-isel.ll index 5decbcf..f1fec3f 100644 --- a/test/CodeGen/X86/abi-isel.ll +++ b/test/CodeGen/X86/abi-isel.ll @@ -146,7 +146,7 @@ ; 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 @@ -160,7 +160,7 @@ ; 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 diff --git a/test/CodeGen/X86/ga-offset.ll b/test/CodeGen/X86/ga-offset.ll index 40787cb..cc93b4c 100644 --- a/test/CodeGen/X86/ga-offset.ll +++ b/test/CodeGen/X86/ga-offset.ll @@ -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 diff --git a/test/CodeGen/X86/x86-store-gv-addr.ll b/test/CodeGen/X86/x86-store-gv-addr.ll index 53d6a91..799340d 100644 --- a/test/CodeGen/X86/x86-store-gv-addr.ll +++ b/test/CodeGen/X86/x86-store-gv-addr.ll @@ -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 |