rename DenseMap to IndexedMap.
[oota-llvm.git] / include / llvm / CodeGen / MachineJumpTableInfo.h
index 2d640a7cb102ddaf3c43f5a0fa070eca2a129a8f..404ed15fd985ef22266aa06034f2e167b1d7267c 100644 (file)
@@ -38,10 +38,12 @@ struct MachineJumpTableEntry {
 };
   
 class MachineJumpTableInfo {
-  const TargetData *TD;
+  unsigned EntrySize;
+  unsigned Alignment;
   std::vector<MachineJumpTableEntry> JumpTables;
 public:
-  MachineJumpTableInfo(const TargetData *td) : TD(td) {}
+  MachineJumpTableInfo(unsigned Size, unsigned Align)
+  : EntrySize(Size), Alignment(Align) {}
     
   /// getJumpTableIndex - Create a new jump table or return an existing one.
   ///
@@ -64,6 +66,7 @@ public:
   /// ReplaceMBBInJumpTables - If Old is the target of any jump tables, update
   /// the jump tables to branch to New instead.
   bool ReplaceMBBInJumpTables(MachineBasicBlock *Old, MachineBasicBlock *New) {
+    assert(Old != New && "Not making a change?");
     bool MadeChange = false;
     for (unsigned i = 0, e = JumpTables.size(); i != e; ++i) {
       MachineJumpTableEntry &JTE = JumpTables[i];
@@ -76,16 +79,18 @@ public:
     return MadeChange;
   }
   
-  /// getEntrySize - returns the size of an individual field in a jump table 
-  unsigned getEntrySize() const;
+  /// getEntrySize - Returns the size of an individual field in a jump table. 
+  ///
+  unsigned getEntrySize() const { return EntrySize; }
   
   /// getAlignment - returns the target's preferred alignment for jump tables
-  unsigned getAlignment() const;
+  unsigned getAlignment() const { return Alignment; }
   
   /// print - Used by the MachineFunction printer to print information about
   /// jump tables.  Implemented in MachineFunction.cpp
   ///
   void print(std::ostream &OS) const;
+  void print(std::ostream *OS) const { if (OS) print(*OS); }
 
   /// dump - Call print(std::cerr) to be called from the debugger.
   ///