[PATCH] D41297: [ThinLTO] Implement summary visualizer
Eugene Leviant via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 19 06:01:30 PST 2018
evgeny777 updated this revision to Diff 130598.
evgeny777 added a comment.
Addressed review comments
Here is what test case dot file looks like:
digraph Summary {
// Module: /home/evgeny/work/llvm_out/build_ninja_Debug/test/ThinLTO/X86/Output/dot-dumper.ll.tmp1.bc
subgraph cluster_0 {
style = filled;
color = lightgrey;
label = "dot-dumper.ll.tmp1.bc";
node [style=filled,fillcolor=lightblue];
M0_9247563407992198212 [style="dotted,filled",shape="box",label="main_alias",fillcolor="red"]; // alias, dead
M0_15822663052811949562 [shape="record",label="main|extern (inst: 4, ffl: 0000)}"]; // function
// Edges:
M0_9247563407992198212 -> M0_15822663052811949562 [style=dotted]; // alias
}
// Module: /home/evgeny/work/llvm_out/build_ninja_Debug/test/ThinLTO/X86/Output/dot-dumper.ll.tmp2.bc
subgraph cluster_1 {
style = filled;
color = lightgrey;
label = "dot-dumper.ll.tmp2.bc";
node [style=filled,fillcolor=lightblue];
M1_12110082535487358335 [shape="Mrecord",label="A|extern}"]; // variable
M1_6699318081062747564 [shape="record",label="foo|extern (inst: 4, ffl: 0000)}",fillcolor="yellow"]; // function, not eligible to import
M1_14608648041743670941 [shape="Mrecord",label="B|extern}"]; // variable
M1_16434608426314478903 [shape="record",label="bar|extern (inst: 1, ffl: 0000)}",fillcolor="red"]; // function, dead
// Edges:
M1_6699318081062747564 -> M1_14608648041743670941 [style=dashed]; // ref
M1_6699318081062747564 -> M1_12110082535487358335 [style=dashed]; // ref
}
M0_15822663052811949562 -> M1_12110082535487358335 [style=dashed]; // ref
M0_15822663052811949562 -> M1_6699318081062747564 // call (hotness : Unknown)
}
Here is the picture
F5772619: 1.png <https://reviews.llvm.org/F5772619>
https://reviews.llvm.org/D41297
Files:
include/llvm/IR/ModuleSummaryIndex.h
lib/Analysis/ModuleSummaryAnalysis.cpp
lib/Bitcode/Reader/BitcodeReader.cpp
lib/IR/ModuleSummaryIndex.cpp
lib/LTO/LTO.cpp
lib/LTO/LTOBackend.cpp
lib/LTO/ThinLTOCodeGenerator.cpp
lib/Transforms/IPO/FunctionImport.cpp
lib/Transforms/IPO/LowerTypeTests.cpp
lib/Transforms/IPO/WholeProgramDevirt.cpp
test/ThinLTO/X86/Inputs/dot-dumper.ll
test/ThinLTO/X86/dot-dumper.ll
tools/llvm-lto/llvm-lto.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D41297.130598.patch
Type: text/x-patch
Size: 23966 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180119/bf9e2f13/attachment.bin>
More information about the llvm-commits
mailing list