<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 3, 2017 at 1:57 PM, Xinliang David Li via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: davidxl<br>
Date: Fri Feb  3 15:57:51 2017<br>
New Revision: 294055<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=294055&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=294055&view=rev</a><br>
Log:<br>
[PGO] Add select instr profile in graph dump<br>
<br>
Differential Revision: <a href="http://reviews.llvm.org/D29474" rel="noreferrer" target="_blank">http://reviews.llvm.org/D29474</a><br>
<br>
<br>
Modified:<br>
    llvm/trunk/lib/Transforms/<wbr>Instrumentation/<wbr>PGOInstrumentation.cpp<br>
<br>
Modified: llvm/trunk/lib/Transforms/<wbr>Instrumentation/<wbr>PGOInstrumentation.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpp?rev=294055&r1=294054&r2=294055&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/lib/<wbr>Transforms/Instrumentation/<wbr>PGOInstrumentation.cpp?rev=<wbr>294055&r1=294054&r2=294055&<wbr>view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/lib/Transforms/<wbr>Instrumentation/<wbr>PGOInstrumentation.cpp (original)<br>
+++ llvm/trunk/lib/Transforms/<wbr>Instrumentation/<wbr>PGOInstrumentation.cpp Fri Feb  3 15:57:51 2017<br>
@@ -1331,6 +1331,16 @@ template <> struct GraphTraits<PGOUseFun<br>
   }<br>
 };<br>
<br>
+static std::string getSimpleNodeName(const BasicBlock *Node) {<br>
+  if (!Node->getName().empty())<br>
+    return Node->getName();<br>
+<br>
+  std::string SimpleNodeName;<br>
+  raw_string_ostream OS(SimpleNodeName);<br>
+  Node->printAsOperand(OS, false);<br>
+  return OS.str();<br>
+}<br>
+<br>
 template <> struct DOTGraphTraits<PGOUseFunc *> : DefaultDOTGraphTraits {<br>
   explicit DOTGraphTraits(bool isSimple = false)<br>
       : DefaultDOTGraphTraits(<wbr>isSimple) {}<br>
@@ -1342,12 +1352,31 @@ template <> struct DOTGraphTraits<PGOUse<br>
   std::string getNodeLabel(const BasicBlock *Node, const PGOUseFunc *Graph) {<br>
     std::string Result;<br>
     raw_string_ostream OS(Result);<br>
-    OS << Node->getName().str() << " : ";<br>
+<br>
+    OS << getSimpleNodeName(Node) << ":\\l";<br>
     UseBBInfo *BI = Graph->findBBInfo(Node);<br>
+    OS << "Count : ";<br>
     if (BI && BI->CountValid)<br>
-      OS << BI->CountValue;<br>
+      OS << BI->CountValue << "\\l";<br>
     else<br>
-      OS << "Unknown";<br>
+      OS << "Unknown\\l";<br>
+<br>
+    if (!PGOInstrSelect)<br>
+      return Result;<br>
+<br>
+    for (auto BI = Node->begin(); BI != Node->end(); ++BI) {<br>
+      auto *I = &*BI;<br>
+      if (!isa<SelectInst>(I))<br>
+        continue;<br>
+      // Display scaled counts for SELECT instruction:<br>
+      OS << "SELECT : { T = ";<br>
+      uint64_t TC, FC;<br>
+      bool hasProf = I->extractProfMetadata(TC, FC);<br></blockquote><div><br></div><div>s/hasProf/HasProf/</div><div><br></div><div>-- Sean Silva</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+      if (!hasProf)<br>
+        OS << "Unknown, F = Unknown }\\l";<br>
+      else<br>
+        OS << TC << ", F = " << FC << " }\\l";<br>
+    }<br>
     return Result;<br>
   }<br>
 };<br>
<br>
<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div></div>