diff options
author | Steven Wu <stevenwu@apple.com> | 2019-04-17 17:38:09 +0000 |
---|---|---|
committer | Steven Wu <stevenwu@apple.com> | 2019-04-17 17:38:09 +0000 |
commit | 05a358cdcd55d1ee0a0d92383aa49489479c6362 (patch) | |
tree | 57f42ce4fb1e42147599b47628fea5274857ed02 /llvm/test/Bitcode | |
parent | 88679717ce44dc31dcb87dc5f0206e9e3348001a (diff) | |
download | bcm5719-llvm-05a358cdcd55d1ee0a0d92383aa49489479c6362.tar.gz bcm5719-llvm-05a358cdcd55d1ee0a0d92383aa49489479c6362.zip |
[ThinLTO] Fix ThinLTOCodegenerator to export llvm.used symbols
Summary:
Reapply r357931 with fixes to ThinLTO testcases and llvm-lto tool.
ThinLTOCodeGenerator currently does not preserve llvm.used symbols and
it can internalize them. In order to pass the necessary information to the
legacy ThinLTOCodeGenerator, the input to the code generator is
rewritten to be based on lto::InputFile.
Now ThinLTO using the legacy LTO API will requires data layout in
Module.
"internalize" thinlto action in llvm-lto is updated to run both
"promote" and "internalize" with the same configuration as
ThinLTOCodeGenerator. The old "promote" + "internalize" option does not
produce the same output as ThinLTOCodeGenerator.
This fixes: PR41236
rdar://problem/49293439
Reviewers: tejohnson, pcc, kromanova, dexonsmith
Reviewed By: tejohnson
Subscribers: ormris, bd1976llvm, mehdi_amini, inglorion, eraman, hiraditya, jkorous, dexonsmith, arphaman, dang, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D60421
llvm-svn: 358601
Diffstat (limited to 'llvm/test/Bitcode')
-rw-r--r-- | llvm/test/Bitcode/Inputs/module_hash.ll | 2 | ||||
-rw-r--r-- | llvm/test/Bitcode/module_hash.ll | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/llvm/test/Bitcode/Inputs/module_hash.ll b/llvm/test/Bitcode/Inputs/module_hash.ll index 1d422c6e817..367b4d00ab0 100644 --- a/llvm/test/Bitcode/Inputs/module_hash.ll +++ b/llvm/test/Bitcode/Inputs/module_hash.ll @@ -1,4 +1,6 @@ ; Needs a function for the combined index to be populated +target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" + define void @bar() { ret void } diff --git a/llvm/test/Bitcode/module_hash.ll b/llvm/test/Bitcode/module_hash.ll index b24819fe6fd..62a121def19 100644 --- a/llvm/test/Bitcode/module_hash.ll +++ b/llvm/test/Bitcode/module_hash.ll @@ -28,6 +28,7 @@ ; COMBINED-DAG: <HASH abbrevid={{[0-9]*}} op0=[[HASH1_1]] op1=[[HASH1_2]] op2=[[HASH1_3]] op3=[[HASH1_4]] op4=[[HASH1_5]]/> ; COMBINED-DAG: <HASH abbrevid={{[0-9]*}} op0=[[HASH2_1]] op1=[[HASH2_2]] op2=[[HASH2_3]] op3=[[HASH2_4]] op4=[[HASH2_5]]/> +target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128" ; Need a function for the combined index to be populated. define void @foo() { |