[llvm-commits] CVS: llvm-java/lib/Compiler/Compiler.cpp BasicBlockBuilder.h

Alkis Evlogimenos alkis at cs.uiuc.edu
Fri Feb 11 18:59:12 PST 2005



Changes in directory llvm-java/lib/Compiler:

Compiler.cpp updated: 1.218 -> 1.219
BasicBlockBuilder.h updated: 1.6 -> 1.7
---
Log message:

Separate tableswitch from lookupswitch bytecodes.


---
Diffs of the changes:  (+18 -2)

 BasicBlockBuilder.h |   10 +++++++++-
 Compiler.cpp        |   10 +++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)


Index: llvm-java/lib/Compiler/Compiler.cpp
diff -u llvm-java/lib/Compiler/Compiler.cpp:1.218 llvm-java/lib/Compiler/Compiler.cpp:1.219
--- llvm-java/lib/Compiler/Compiler.cpp:1.218	Mon Feb  7 20:26:32 2005
+++ llvm-java/lib/Compiler/Compiler.cpp	Fri Feb 11 20:59:01 2005
@@ -1948,7 +1948,15 @@
       // FIXME: this is currently a noop.
     }
 
-    void do_switch(unsigned defTarget, const SwitchCases& sw) {
+    void do_tableswitch(unsigned defTarget, const SwitchCases& sw) {
+      do_switch_common(defTarget, sw);
+    }
+
+    void do_lookupswitch(unsigned defTarget, const SwitchCases& sw) {
+      do_switch_common(defTarget, sw);
+    }
+
+    void do_switch_common(unsigned defTarget, const SwitchCases& sw) {
       Value* v = pop(Type::IntTy);
       SwitchInst* in =
         new SwitchInst(v, bbBuilder_->getBasicBlock(defTarget), sw.size(), 


Index: llvm-java/lib/Compiler/BasicBlockBuilder.h
diff -u llvm-java/lib/Compiler/BasicBlockBuilder.h:1.6 llvm-java/lib/Compiler/BasicBlockBuilder.h:1.7
--- llvm-java/lib/Compiler/BasicBlockBuilder.h:1.6	Sat Feb  5 15:10:57 2005
+++ llvm-java/lib/Compiler/BasicBlockBuilder.h	Fri Feb 11 20:59:01 2005
@@ -161,7 +161,7 @@
       getOrCreateBasicBlockAt(t);
     }
 
-    void do_switch(unsigned defTarget, const SwitchCases& sw) {
+    void do_switch_common(unsigned defTarget, const SwitchCases& sw) {
       for (unsigned i = 0, e = sw.size(); i != e; ++i) {
         unsigned target = sw[i].second;
         getOrCreateBasicBlockAt(target);
@@ -169,6 +169,14 @@
       getOrCreateBasicBlockAt(defTarget);
     }
 
+    void do_tableswitch(unsigned defTarget, const SwitchCases& sw) {
+      do_switch_common(defTarget, sw);
+    }
+
+    void do_lookupswitch(unsigned defTarget, const SwitchCases& sw) {
+      do_switch_common(defTarget, sw);
+    }
+
     void do_goto(unsigned target) {
       getOrCreateBasicBlockAt(target);
     }






More information about the llvm-commits mailing list