diff options
author | Reid Kleckner <rnk@google.com> | 2018-07-23 21:14:35 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2018-07-23 21:14:35 +0000 |
commit | 980c4df037649b375f952f4ee786582c6c8eb750 (patch) | |
tree | e039b03214ae6ba76bec312f254ffe70d85663cd /llvm/test/CodeGen/X86/fast-isel-call-cleanup.ll | |
parent | 07dee81a68fcf7e27e2e03e9c1dc2a0bdfd3a6d0 (diff) | |
download | bcm5719-llvm-980c4df037649b375f952f4ee786582c6c8eb750.tar.gz bcm5719-llvm-980c4df037649b375f952f4ee786582c6c8eb750.zip |
Re-land r335297 "[X86] Implement more of x86-64 large and medium PIC code models"
Don't try to generate large PIC code for non-ELF targets. Neither COFF
nor MachO have relocations for large position independent code, and
users have been using "large PIC" code models to JIT 64-bit code for a
while now. With this change, if they are generating ELF code, their
JITed code will truly be PIC, but if they target MachO or COFF, it will
contain 64-bit immediates that directly reference external symbols. For
a JIT, that's perfectly fine.
llvm-svn: 337740
Diffstat (limited to 'llvm/test/CodeGen/X86/fast-isel-call-cleanup.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/fast-isel-call-cleanup.ll | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/test/CodeGen/X86/fast-isel-call-cleanup.ll b/llvm/test/CodeGen/X86/fast-isel-call-cleanup.ll index 27e42416ef8..1f7a59efa69 100644 --- a/llvm/test/CodeGen/X86/fast-isel-call-cleanup.ll +++ b/llvm/test/CodeGen/X86/fast-isel-call-cleanup.ll @@ -1,4 +1,4 @@ -; RUN: llc -fast-isel-sink-local-values -fast-isel -O0 -code-model=large -mcpu=generic -mtriple=x86_64-apple-darwin10 -relocation-model=pic < %s | FileCheck %s +; RUN: llc -fast-isel-sink-local-values -fast-isel -O0 -code-model=large -mcpu=generic -mtriple=x86_64-linux -relocation-model=static < %s | FileCheck %s ; Check that fast-isel cleans up when it fails to lower a call instruction. define void @fastiselcall() { @@ -9,7 +9,7 @@ entry: ; FastISel's local value code was dead, so it's gone. ; CHECK-NOT: movl $42, ; SDag-ISel's arg mov: -; CHECK: movabsq $_targetfn, %[[REG:[^ ]*]] +; CHECK: movabsq $targetfn, %[[REG:[^ ]*]] ; CHECK: movl $42, %edi ; CHECK: callq *%[[REG]] |