[llvm] d2b8969 - [EdgeBundles] Correct MBB label name in output graph when `-view-edge-bundles`. NFC. (#106661)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 30 00:56:30 PDT 2024
Author: Kai Luo
Date: 2024-08-30T15:56:27+08:00
New Revision: d2b8969b7593fd01991a2089828e6256945874cf
URL: https://github.com/llvm/llvm-project/commit/d2b8969b7593fd01991a2089828e6256945874cf
DIFF: https://github.com/llvm/llvm-project/commit/d2b8969b7593fd01991a2089828e6256945874cf.diff
LOG: [EdgeBundles] Correct MBB label name in output graph when `-view-edge-bundles`. NFC. (#106661)
With `-view-edge-bundles`, before the change, the dot file output is
kinda like
```dot
digraph {
"%bb.0" [ shape=box ]
0 -> "%bb.0"
"%bb.0" -> 1
"%bb.0" -> "%bb.1" [ color=lightgray ]
"%bb.0" -> "%bb.6" [ color=lightgray ]
"%bb.1" [ shape=box ]
1 -> "%bb.1"
"%bb.1" -> 1
"%bb.1" -> "%bb.2" [ color=lightgray ]
"%bb.1" -> "%bb.6" [ color=lightgray ]
"%bb.2" [ shape=box ]
1 -> "%bb.2"
"%bb.2" -> 1
"%bb.2" -> "%bb.3" [ color=lightgray ]
"%bb.3" [ shape=box ]
1 -> "%bb.3"
"%bb.3" -> 2
"%bb.3" -> "%bb.4" [ color=lightgray ]
"%bb.4" [ shape=box ]
2 -> "%bb.4"
"%bb.4" -> 2
"%bb.4" -> "%bb.4" [ color=lightgray ]
"%bb.4" -> "%bb.5" [ color=lightgray ]
"%bb.5" [ shape=box ]
2 -> "%bb.5"
"%bb.5" -> 1
"%bb.5" -> "%bb.6" [ color=lightgray ]
"%bb.5" -> "%bb.3" [ color=lightgray ]
"%bb.6" [ shape=box ]
1 -> "%bb.6"
"%bb.6" -> 3
}
```
However, the graph output by graphviz is
![t](https://github.com/user-attachments/assets/24056c0a-3ba9-49c3-a5da-269f3140e619)
The node name corresponding to the MBB is incorrect.
After the change, the node name is consistent with MBB's name.
![s](https://github.com/user-attachments/assets/38c649d1-7222-4de1-971c-56f7721ab64c)
Added:
Modified:
llvm/lib/CodeGen/EdgeBundles.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/EdgeBundles.cpp b/llvm/lib/CodeGen/EdgeBundles.cpp
index 3dd354e8ab7e80..d3d2bfc616eb5c 100644
--- a/llvm/lib/CodeGen/EdgeBundles.cpp
+++ b/llvm/lib/CodeGen/EdgeBundles.cpp
@@ -80,7 +80,8 @@ raw_ostream &WriteGraph<>(raw_ostream &O, const EdgeBundles &G,
O << "digraph {\n";
for (const auto &MBB : *MF) {
unsigned BB = MBB.getNumber();
- O << "\t\"" << printMBBReference(MBB) << "\" [ shape=box ]\n"
+ O << "\t\"" << printMBBReference(MBB) << "\" [ shape=box, label=\""
+ << printMBBReference(MBB) << "\" ]\n"
<< '\t' << G.getBundle(BB, false) << " -> \"" << printMBBReference(MBB)
<< "\"\n"
<< "\t\"" << printMBBReference(MBB) << "\" -> " << G.getBundle(BB, true)
More information about the llvm-commits
mailing list