Changes in directory llvm/include/llvm:

Instructions.h updated: 1.40 -> 1.41
---
Log message:

Add a new helper method to SwitchInst. Useful when you've got a BB from
somewhere (like the dominator graph) and would like to know which case it
came from.


---
Diffs of the changes:  (+13 -0)

 Instructions.h |   13 +++++++++++++
 1 files changed, 13 insertions(+)


Index: llvm/include/llvm/Instructions.h
diff -u llvm/include/llvm/Instructions.h:1.40 
llvm/include/llvm/Instructions.h:1.41
--- llvm/include/llvm/Instructions.h:1.40       Sun Sep 17 23:54:57 2006
+++ llvm/include/llvm/Instructions.h    Mon Sep 18 14:03:59 2006
@@ -1310,6 +1310,19 @@
     return 0;
   }
 
+  /// findCaseDest - Finds the unique case value for a given successor. Returns
+  /// null if the successor is not found, not unique, or is the default case.
+  ConstantInt *findCaseDest(BasicBlock *BB) {
+    ConstantInt *CI = NULL;
+    for (unsigned i = 1, e = getNumCases(); i != e; ++i) {
+      if (getSuccessor(i) == BB) {
+        if (CI) return NULL;   // Multiple cases lead to BB.
+        else CI = getCaseValue(i);
+      }
+    }
+    return CI;
+  }
+
   /// addCase - Add an entry to the switch instruction...
   ///
   void addCase(ConstantInt *OnVal, BasicBlock *Dest);



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to