[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