diff options
author | Mehdi Amini <mehdi.amini@apple.com> | 2016-04-23 23:38:17 +0000 |
---|---|---|
committer | Mehdi Amini <mehdi.amini@apple.com> | 2016-04-23 23:38:17 +0000 |
commit | 9ab3b3713104e619e4efed3328f6c6089f833ea0 (patch) | |
tree | 19a71be055e95df49d4f37878f99d5e16347f4d4 /test/Bitcode | |
parent | aa73713b9aec739f529ab58b073014d8a2e0d746 (diff) |
Store and emit original name in combined index
Summary:
As discussed in D18298, some local globals can't
be renamed/promoted (because they have a section, or because
they are referenced from inline assembly).
To be able to detect naming collision, we need to keep around
the "GUID" using their original name without taking the linkage
into account.
Reviewers: tejohnson
Subscribers: joker.eph, llvm-commits
Differential Revision: http://reviews.llvm.org/D19454
From: Mehdi Amini <mehdi.amini@apple.com>
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@267304 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Bitcode')
-rw-r--r-- | test/Bitcode/thinlto-function-summary-originalnames.ll | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Bitcode/thinlto-function-summary-originalnames.ll b/test/Bitcode/thinlto-function-summary-originalnames.ll new file mode 100644 index 000000000000..431ce367e9b5 --- /dev/null +++ b/test/Bitcode/thinlto-function-summary-originalnames.ll @@ -0,0 +1,24 @@ +; Test to check the callgraph in summary +; RUN: opt -module-summary %s -o %t.o +; RUN: llvm-lto -thinlto-action=thinlink -o %t.index.bc %t.o +; RUN: llvm-bcanalyzer -dump %t.index.bc | FileCheck %s --check-prefix=COMBINED + +; COMBINED: <GLOBALVAL_SUMMARY_BLOCK +; COMBINED-NEXT: <COMBINED +; COMBINED-NEXT: <COMBINED_ORIGINAL_NAME op0=6699318081062747564/> +; COMBINED-NEXT: <COMBINED_GLOBALVAR_INIT_REFS +; COMBINED-NEXT: <COMBINED_ORIGINAL_NAME op0=-2012135647395072713/> +; COMBINED-NEXT: <COMBINED_ALIAS +; COMBINED-NEXT: <COMBINED_ORIGINAL_NAME op0=-4170563161550796836/> +; COMBINED-NEXT: </GLOBALVAL_SUMMARY_BLOCK> + +; ModuleID = 'thinlto-function-summary-callgraph.ll' +target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128" +target triple = "x86_64-unknown-linux-gnu" + +@bar = internal global i32 0 +@fooalias = internal alias void (...), bitcast (void ()* @foo to void (...)*) + +define internal void @foo() { + ret void +} |