[PATCH] D59311: [ELF] Print symbols ordered by profiled guided section layout with verbose.
Tiancong Wang via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 13 11:24:19 PDT 2019
tcwang updated this revision to Diff 190457.
tcwang marked 4 inline comments as done.
tcwang added a comment.
Fixing the comments.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D59311/new/
https://reviews.llvm.org/D59311
Files:
lld/ELF/CallGraphSort.cpp
lld/test/ELF/cgprofile-print.s
Index: lld/test/ELF/cgprofile-print.s
===================================================================
--- /dev/null
+++ lld/test/ELF/cgprofile-print.s
@@ -0,0 +1,37 @@
+# REQUIRES: x86
+
+# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
+# RUN: echo "A B 5" > %t.call_graph
+# RUN: echo "B C 50" >> %t.call_graph
+# RUN: echo "C D 40" >> %t.call_graph
+# RUN: echo "D B 10" >> %t.call_graph
+# RUN: ld.lld -e A %t --call-graph-ordering-file %t.call_graph -o %t2 --verbose | FileCheck %s
+
+# CHECK: Symbols ordered by call-chain clustering:
+# CHECK-NEXT: .text.B
+# CHECK-NEXT: .text.C
+# CHECK-NEXT: .text.D
+# CHECK-NEXT: .text.A
+
+.section .text.A,"ax", at progbits
+.globl A
+A:
+ nop
+
+.section .text.B,"ax", at progbits
+.globl B
+B:
+ nop
+
+.section .text.C,"ax", at progbits
+.globl C
+C:
+ nop
+
+.section .text.D,"ax", at progbits
+.globl D
+D:
+ nop
+
+
+
Index: lld/ELF/CallGraphSort.cpp
===================================================================
--- lld/ELF/CallGraphSort.cpp
+++ lld/ELF/CallGraphSort.cpp
@@ -226,6 +226,15 @@
for (int SecIndex : C.Sections)
OrderMap[Sections[SecIndex]] = CurOrder++;
+ if (errorHandler().Verbose) {
+ outs() << "Symbols ordered by call-chain clustering:\n";
+ // Print the symbols ordered by C3, in the order of increasing CurOrder
+ // Instead of sorting all the OrderMap, just repeat the loops above.
+ for (const Cluster &C : Clusters)
+ for (int SecIndex : C.Sections)
+ outs() << Sections[SecIndex]->Name << "\n";
+ }
+
return OrderMap;
}
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D59311.190457.patch
Type: text/x-patch
Size: 1577 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20190313/c6657bb7/attachment.bin>
More information about the llvm-commits
mailing list