[llvm-commits] [llvm] r86747 -	/llvm/trunk/include/llvm/Analysis/CFGPrinter.h
    Chris Lattner 
    sabre at nondot.org
       
    Tue Nov 10 14:56:15 PST 2009
    
    
  
Author: lattner
Date: Tue Nov 10 16:56:15 2009
New Revision: 86747
URL: http://llvm.org/viewvc/llvm-project?rev=86747&view=rev
Log:
in -dot-cfg and -dot-cfg-only, when rendering switch instructions,
put the switch value in the successor boxes like we put T/F for branches.
Modified:
    llvm/trunk/include/llvm/Analysis/CFGPrinter.h
Modified: llvm/trunk/include/llvm/Analysis/CFGPrinter.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/CFGPrinter.h?rev=86747&r1=86746&r2=86747&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Analysis/CFGPrinter.h (original)
+++ llvm/trunk/include/llvm/Analysis/CFGPrinter.h Tue Nov 10 16:56:15 2009
@@ -71,6 +71,18 @@
     if (const BranchInst *BI = dyn_cast<BranchInst>(Node->getTerminator()))
       if (BI->isConditional())
         return (I == succ_begin(Node)) ? "T" : "F";
+    
+    // Label source of conditional branches with "T" or "F"
+    if (const SwitchInst *SI = dyn_cast<SwitchInst>(Node->getTerminator())) {
+      unsigned SuccNo = I.getSuccessorIndex();
+
+      if (SuccNo == 0) return "def";
+      
+      std::string Str;
+      raw_string_ostream OS(Str);
+      OS << SI->getCaseValue(SuccNo)->getValue();
+      return OS.str();
+    }    
     return "";
   }
 };
    
    
More information about the llvm-commits
mailing list