[llvm-commits] CVS: llvm/lib/Analysis/DataStructure/Printer.cpp

Chris Lattner lattner at cs.uiuc.edu
Sat Mar 19 18:40:24 PST 2005



Changes in directory llvm/lib/Analysis/DataStructure:

Printer.cpp updated: 1.78 -> 1.79
---
Log message:

print out equiv class info.


---
Diffs of the changes:  (+16 -2)

 Printer.cpp |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)


Index: llvm/lib/Analysis/DataStructure/Printer.cpp
diff -u llvm/lib/Analysis/DataStructure/Printer.cpp:1.78 llvm/lib/Analysis/DataStructure/Printer.cpp:1.79
--- llvm/lib/Analysis/DataStructure/Printer.cpp:1.78	Wed Mar 16 16:42:19 2005
+++ llvm/lib/Analysis/DataStructure/Printer.cpp	Sat Mar 19 20:40:11 2005
@@ -75,8 +75,22 @@
     OS << "\n";
   }
 
-  for (unsigned i = 0, e = N->getGlobals().size(); i != e; ++i) {
-    WriteAsOperand(OS, N->getGlobals()[i], false, true, M);
+  EquivalenceClasses<GlobalValue*> *GlobalECs = 0;
+  if (G) GlobalECs = &G->getGlobalECs();
+  
+  for (unsigned i = 0, e = N->getGlobalsList().size(); i != e; ++i) {
+    WriteAsOperand(OS, N->getGlobalsList()[i], false, true, M);
+
+    // Figure out how many globals are equivalent to this one.
+    if (GlobalECs) {
+      EquivalenceClasses<GlobalValue*>::iterator I =
+        GlobalECs->findValue(N->getGlobalsList()[i]);
+      if (I != GlobalECs->end()) {
+        unsigned NumMembers = 
+          std::distance(GlobalECs->member_begin(I), GlobalECs->member_end());
+        if (NumMembers != 1) OS << " + " << (NumMembers-1) << " EC";
+      }
+    }
     OS << "\n";
   }
 






More information about the llvm-commits mailing list