summaryrefslogtreecommitdiff
path: root/lib/Target/RISCV
diff options
context:
space:
mode:
authorAlex Bradbury <asb@lowrisc.org>2017-12-11 12:38:17 +0000
committerAlex Bradbury <asb@lowrisc.org>2017-12-11 12:38:17 +0000
commitd001eea165090d3b24301b6419ad3fdfc06e1edc (patch)
tree710d3e7cab745fd2e8e303d2b4e2c35c11e82902 /lib/Target/RISCV
parentdcfcbe7bdc35f4d620d1270f7789e4489b8b19af (diff)
[RISCV] Allow lowering of dynamic_stackalloc, stacksave, stackrestore
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@320358 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/RISCV')
-rw-r--r--lib/Target/RISCV/RISCVISelLowering.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Target/RISCV/RISCVISelLowering.cpp b/lib/Target/RISCV/RISCVISelLowering.cpp
index 4801884e242..58817533925 100644
--- a/lib/Target/RISCV/RISCVISelLowering.cpp
+++ b/lib/Target/RISCV/RISCVISelLowering.cpp
@@ -53,11 +53,16 @@ RISCVTargetLowering::RISCVTargetLowering(const TargetMachine &TM,
setLoadExtAction(N, XLenVT, MVT::i1, Promote);
// TODO: add all necessary setOperationAction calls.
+ setOperationAction(ISD::DYNAMIC_STACKALLOC, XLenVT, Expand);
+
setOperationAction(ISD::BR_JT, MVT::Other, Expand);
setOperationAction(ISD::BR_CC, XLenVT, Expand);
setOperationAction(ISD::SELECT, XLenVT, Custom);
setOperationAction(ISD::SELECT_CC, XLenVT, Expand);
+ setOperationAction(ISD::STACKSAVE, MVT::Other, Expand);
+ setOperationAction(ISD::STACKRESTORE, MVT::Other, Expand);
+
for (auto VT : {MVT::i1, MVT::i8, MVT::i16})
setOperationAction(ISD::SIGN_EXTEND_INREG, VT, Expand);