forked from OSchip/llvm-project
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. llvm-svn: 72746
This commit is contained in:
parent
b003dd907f
commit
fc262babc3
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue