[llvm-commits] CVS: llvm/lib/Target/TargetSelectionDAG.td
Nate Begeman
natebegeman at mac.com
Sat Apr 22 11:54:06 PDT 2006
Changes in directory llvm/lib/Target:
TargetSelectionDAG.td updated: 1.66 -> 1.67
---
Log message:
JumpTable support! What this represents is working asm and jit support for
x86 and ppc for 100% dense switch statements when relocations are non-PIC.
This support will be extended and enhanced in the coming days to support
PIC, and less dense forms of jump tables.
---
Diffs of the changes: (+9 -0)
TargetSelectionDAG.td | 9 +++++++++
1 files changed, 9 insertions(+)
Index: llvm/lib/Target/TargetSelectionDAG.td
diff -u llvm/lib/Target/TargetSelectionDAG.td:1.66 llvm/lib/Target/TargetSelectionDAG.td:1.67
--- llvm/lib/Target/TargetSelectionDAG.td:1.66 Wed Apr 19 15:38:28 2006
+++ llvm/lib/Target/TargetSelectionDAG.td Sat Apr 22 13:53:45 2006
@@ -150,6 +150,10 @@
SDTCisInt<0>, SDTCisVT<1, OtherVT>
]>;
+def SDTBrind : SDTypeProfile<0, 1, [ // brind
+ SDTCisPtrTy<0>
+]>;
+
def SDTRet : SDTypeProfile<0, 0, []>; // ret
def SDTLoad : SDTypeProfile<1, 1, [ // load
@@ -217,6 +221,10 @@
"ConstantPoolSDNode">;
def tconstpool : SDNode<"ISD::TargetConstantPool", SDTPtrLeaf, [],
"ConstantPoolSDNode">;
+def jumptable : SDNode<"ISD::JumpTable", SDTPtrLeaf, [],
+ "JumpTableSDNode">;
+def tjumptable : SDNode<"ISD::TargetJumpTable", SDTPtrLeaf, [],
+ "JumpTableSDNode">;
def frameindex : SDNode<"ISD::FrameIndex", SDTPtrLeaf, [],
"FrameIndexSDNode">;
def tframeindex : SDNode<"ISD::TargetFrameIndex", SDTPtrLeaf, [],
@@ -293,6 +301,7 @@
def selectcc : SDNode<"ISD::SELECT_CC" , SDTSelectCC>;
def brcond : SDNode<"ISD::BRCOND" , SDTBrcond, [SDNPHasChain]>;
+def brind : SDNode<"ISD::BRIND" , SDTBrind, [SDNPHasChain]>;
def br : SDNode<"ISD::BR" , SDTBr, [SDNPHasChain]>;
def ret : SDNode<"ISD::RET" , SDTRet, [SDNPHasChain]>;
More information about the llvm-commits
mailing list