summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target
diff options
context:
space:
mode:
authorRichard Osborne <richard@xmos.com>2010-03-11 14:58:56 +0000
committerRichard Osborne <richard@xmos.com>2010-03-11 14:58:56 +0000
commit29ffbf123fc5ffe9ef3cf3cdb17cf8ff20bd0a78 (patch)
treeeaa43da60a18d6ead0cca3e5fae75e701253a732 /llvm/lib/Target
parent6d3e92dfee073a0964411daa85dd0cb4db53bfc9 (diff)
downloadbcm5719-llvm-29ffbf123fc5ffe9ef3cf3cdb17cf8ff20bd0a78.tar.gz
bcm5719-llvm-29ffbf123fc5ffe9ef3cf3cdb17cf8ff20bd0a78.zip
Switch XCore over to using inline jump table entries.
llvm-svn: 98256
Diffstat (limited to 'llvm/lib/Target')
-rw-r--r--llvm/lib/Target/XCore/XCoreISelLowering.cpp4
-rw-r--r--llvm/lib/Target/XCore/XCoreISelLowering.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/llvm/lib/Target/XCore/XCoreISelLowering.cpp b/llvm/lib/Target/XCore/XCoreISelLowering.cpp
index 3b3bb6d7dae..7cbfe3edc69 100644
--- a/llvm/lib/Target/XCore/XCoreISelLowering.cpp
+++ b/llvm/lib/Target/XCore/XCoreISelLowering.cpp
@@ -324,6 +324,10 @@ LowerConstantPool(SDValue Op, SelectionDAG &DAG)
return DAG.getNode(XCoreISD::CPRelativeWrapper, dl, MVT::i32, Res);
}
+unsigned XCoreTargetLowering::getJumpTableEncoding() const {
+ return MachineJumpTableInfo::EK_Inline;
+}
+
SDValue XCoreTargetLowering::
LowerBR_JT(SDValue Op, SelectionDAG &DAG)
{
diff --git a/llvm/lib/Target/XCore/XCoreISelLowering.h b/llvm/lib/Target/XCore/XCoreISelLowering.h
index f597780d691..3ccdeec141b 100644
--- a/llvm/lib/Target/XCore/XCoreISelLowering.h
+++ b/llvm/lib/Target/XCore/XCoreISelLowering.h
@@ -80,6 +80,8 @@ namespace llvm {
explicit XCoreTargetLowering(XCoreTargetMachine &TM);
+ virtual unsigned getJumpTableEncoding() const;
+
/// LowerOperation - Provide custom lowering hooks for some operations.
virtual SDValue LowerOperation(SDValue Op, SelectionDAG &DAG);
OpenPOWER on IntegriCloud