add a ReplaceMBBInJumpTables method
authorChris Lattner <sabre@nondot.org>
Mon, 16 Oct 2006 20:41:42 +0000 (20:41 +0000)
committerChris Lattner <sabre@nondot.org>
Mon, 16 Oct 2006 20:41:42 +0000 (20:41 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30983 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/MachineJumpTableInfo.h

index c0f4af34c226b4845e6996a051aba334518c59d5..7f6c965d7cd22c3919994ee4e0afccde96c8bb56 100644 (file)
@@ -26,6 +26,7 @@
 namespace llvm {
 
 class MachineBasicBlock;
+class TargetData;
 
 /// MachineJumpTableEntry - One jump table in the jump table info.
 ///
@@ -54,6 +55,17 @@ public:
     return JumpTables;
   }
   
+  /// ReplaceMBBInJumpTables - If Old is the target of any jump tables, update
+  /// the jump tables to branch to New instead.
+  void ReplaceMBBInJumpTables(MachineBasicBlock *Old, MachineBasicBlock *New) {
+    for (unsigned i = 0, e = JumpTables.size(); i != e; ++i) {
+      MachineJumpTableEntry &JTE = JumpTables[i];
+      for (unsigned j = 0, e = JTE.MBBs.size(); j != e; ++j)
+        if (JTE.MBBs[j] == Old)
+          JTE.MBBs[j] = New;
+    }
+  }
+  
   /// getEntrySize - returns the size of an individual field in a jump table 
   unsigned getEntrySize() const;