[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