From: Nick Lewycky Date: Mon, 18 Sep 2006 19:03:59 +0000 (+0000) Subject: Add a new helper method to SwitchInst. Useful when you've got a BB from X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=011f1846013e6c0c55e6e583a9ca1bc5e7e7fc1e;p=oota-llvm.git 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. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30466 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Instructions.h b/include/llvm/Instructions.h index 03ce2467a50..5973addf6a4 100644 --- a/include/llvm/Instructions.h +++ b/include/llvm/Instructions.h @@ -1310,6 +1310,19 @@ public: 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);