diff options
| author | Teresa Johnson <tejohnson@google.com> | 2017-05-15 18:28:29 +0000 |
|---|---|---|
| committer | Teresa Johnson <tejohnson@google.com> | 2017-05-15 18:28:29 +0000 |
| commit | 41db92f9ae038a62fa0c8994746ad951e1ab0295 (patch) | |
| tree | 4ffe0196a34d86017b586d89ffef3f718d258e90 /llvm/test | |
| parent | ce4b17fdf3912e955e9ace443a687b9df4e16a7d (diff) | |
| download | bcm5719-llvm-41db92f9ae038a62fa0c8994746ad951e1ab0295.tar.gz bcm5719-llvm-41db92f9ae038a62fa0c8994746ad951e1ab0295.zip | |
Add support for handling ifuncs to GlobalValue::getBaseObject
Summary:
All GlobalIndirectSymbol types (not just GlobalAlias) should return
their base object.
Without this patch LTO would warn "Unable to determine comdat of
alias!" for an ifunc.
Reviewers: pcc
Subscribers: mehdi_amini, inglorion, llvm-commits
Differential Revision: https://reviews.llvm.org/D33202
llvm-svn: 303096
Diffstat (limited to 'llvm/test')
| -rw-r--r-- | llvm/test/LTO/Resolution/X86/ifunc.ll | 15 | ||||
| -rw-r--r-- | llvm/test/Object/X86/nm-ir.ll | 2 |
2 files changed, 16 insertions, 1 deletions
diff --git a/llvm/test/LTO/Resolution/X86/ifunc.ll b/llvm/test/LTO/Resolution/X86/ifunc.ll new file mode 100644 index 00000000000..63723763430 --- /dev/null +++ b/llvm/test/LTO/Resolution/X86/ifunc.ll @@ -0,0 +1,15 @@ +; RUN: opt -module-summary -o %t.bc %s +; RUN: llvm-lto2 run %t.bc -r %t.bc,foo,pl -o %t2 +; RUN: llvm-nm %t2.0 | FileCheck %s +; CHECK: T foo +; CHECK: t foo_ifunc + +target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +@foo = ifunc i32 (i32), i64 ()* @foo_ifunc + +define internal i64 @foo_ifunc() { +entry: + ret i64 0 +} diff --git a/llvm/test/Object/X86/nm-ir.ll b/llvm/test/Object/X86/nm-ir.ll index 29f7a5c7018..c90f67b1516 100644 --- a/llvm/test/Object/X86/nm-ir.ll +++ b/llvm/test/Object/X86/nm-ir.ll @@ -12,7 +12,7 @@ ; CHECK-NEXT: C g3 ; CHECK-NOT: g4 ; CHECK-NEXT: T global_asm_sym -; CHECK-NEXT: D ifunc_f1 +; CHECK-NEXT: T ifunc_f1 ; CHECK-NEXT: t local_asm_sym ; CHECK-NEXT: U undef_asm_sy |

