diff options
author | Teresa Johnson <tejohnson@google.com> | 2018-06-26 13:56:49 +0000 |
---|---|---|
committer | Teresa Johnson <tejohnson@google.com> | 2018-06-26 13:56:49 +0000 |
commit | 63ee0e73e44e80d4e6d388de734cdb5106c8a6de (patch) | |
tree | 84f4df06ba721af4966e6f527e22e8bf9d094068 /llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll | |
parent | 5915777eca88a8c14c58869219aa6fe1543a70b5 (diff) | |
download | bcm5719-llvm-63ee0e73e44e80d4e6d388de734cdb5106c8a6de.tar.gz bcm5719-llvm-63ee0e73e44e80d4e6d388de734cdb5106c8a6de.zip |
[ThinLTO] Parse module summary index from assembly
Summary:
Adds assembly parsing support for the module summary index (follow on
to r333335 which added the assembly writing support).
I added support to llvm-as to invoke the index parsing, so that it can
create either a bitcode file with a Module and a per-module index, or
a combined index without a Module.
I will send follow on patches soon to do the following:
- add support to tools such as llvm-lto2 to parse the per-module indexes
from assembly instead of bitcode when testing the thin link.
- verification support.
Depends on D47844 and D47842.
Reviewers: pcc, dexonsmith, mehdi_amini
Subscribers: inglorion, eraman, steven_wu, llvm-commits
Differential Revision: https://reviews.llvm.org/D47905
llvm-svn: 335602
Diffstat (limited to 'llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll')
-rw-r--r-- | llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll b/llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll index 9eb63364fe3..fc3c5c90ab9 100644 --- a/llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll +++ b/llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll @@ -6,17 +6,23 @@ ; Make sure the assembler doesn't error when parsing the summary ; RUN: llvm-as %t.o.ll -; RUN: ls %t.o.bc + +; Check assembled summary. +; RUN: llvm-dis %t.o.bc -o - | FileCheck %s --check-prefix=DIS ; RUN: opt -module-summary %p/Inputs/thinlto-function-summary-callgraph-profile-summary.ll -o %t2.o ; RUN: llvm-lto -thinlto -o %t3 %t.o %t2.o ; RUN: llvm-bcanalyzer -dump %t3.thinlto.bc | FileCheck %s --check-prefix=COMBINED ; RUN: llvm-dis %t3.thinlto.bc ; RUN: cat %t3.thinlto.ll | FileCheck %s --check-prefix=COMBINED-DIS +; Round trip it through llvm-as +; RUN: cat %t3.thinlto.ll | llvm-as -o - | llvm-dis -o - | FileCheck %s --check-prefix=COMBINED-DIS ; Make sure the assembler doesn't error when parsing the combined summary ; RUN: llvm-as %t3.thinlto.ll -o %t3.thinlto.o -; RUN: ls %t3.thinlto.o + +; Check assembled combined summary. +; RUN: llvm-dis %t3.thinlto.o -o - | FileCheck %s --check-prefix=COMBINED-DIS ; CHECK: <SOURCE_FILENAME @@ -134,7 +140,7 @@ declare void @none3() #1 !14 = !{i32 999999, i64 1, i32 2} !15 = !{!"branch_weights", i32 100} -; DIS: ^0 = module: (path: "{{.*}}thinlto-function-summary-callgraph-profile-summary.ll.tmp.o", hash: (0, 0, 0, 0, 0)) +; DIS: ^0 = module: (path: "{{.*}}thinlto-function-summary-callgraph-profile-summary.ll.tmp.o{{.*}}", hash: (0, 0, 0, 0, 0)) ; DIS: ^1 = gv: (guid: 123) ; DIS: ^2 = gv: (name: "none2") ; guid = 3741006263754194003 ; DIS: ^3 = gv: (name: "hot3") ; guid = 5026609803865204483 |