summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2006-10-30 07:59:36 +0000
committerEvan Cheng <evan.cheng@apple.com>2006-10-30 07:59:36 +0000
commitc3e695137dc98bb8238d9c06b9305cccfd735dff (patch)
treeb73927e4799c5b68e58c72021d6706c017a7fea7
parentcf8dc24305a9e748e155874b7e1a5fcb079c50b0 (diff)
downloadbcm5719-llvm-c3e695137dc98bb8238d9c06b9305cccfd735dff.tar.gz
bcm5719-llvm-c3e695137dc98bb8238d9c06b9305cccfd735dff.zip
Added a new SDNode type: BR_JT for jumptable branch.
llvm-svn: 31292
-rw-r--r--llvm/include/llvm/CodeGen/SelectionDAGNodes.h4
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp1
2 files changed, 5 insertions, 0 deletions
diff --git a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h b/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
index cd09777be31..c3e6dee2328 100644
--- a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
+++ b/llvm/include/llvm/CodeGen/SelectionDAGNodes.h
@@ -406,6 +406,10 @@ namespace ISD {
// is the value to branch to, which must be of the same type as the target's
// pointer type.
BRIND,
+
+ // BR_JT - Jumptable branch. The first operand is the chain, the second
+ // is the jumptable index, the last one is the jumptable entry index.
+ BR_JT,
// BRCOND - Conditional branch. The first operand is the chain,
// the second is the condition, the third is the block to branch
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 4b2f28396b2..3d8441c5124 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -2734,6 +2734,7 @@ const char *SDNode::getOperationName(const SelectionDAG *G) const {
// Control flow instructions
case ISD::BR: return "br";
case ISD::BRIND: return "brind";
+ case ISD::BR_JT: return "br_jt";
case ISD::BRCOND: return "brcond";
case ISD::BR_CC: return "br_cc";
case ISD::RET: return "ret";
OpenPOWER on IntegriCloud