summaryrefslogtreecommitdiffstats
path: root/llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2018-06-26 13:56:49 +0000
committerTeresa Johnson <tejohnson@google.com>2018-06-26 13:56:49 +0000
commit63ee0e73e44e80d4e6d388de734cdb5106c8a6de (patch)
tree84f4df06ba721af4966e6f527e22e8bf9d094068 /llvm/test/Bitcode/thinlto-function-summary-callgraph-profile-summary.ll
parent5915777eca88a8c14c58869219aa6fe1543a70b5 (diff)
downloadbcm5719-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.ll12
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
OpenPOWER on IntegriCloud