summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/RISCV/RISCVISelLowering.h
diff options
context:
space:
mode:
authorLewis Revill <lewis.revill@embecosm.com>2019-06-11 12:42:13 +0000
committerLewis Revill <lewis.revill@embecosm.com>2019-06-11 12:42:13 +0000
commit28a5cadb3ae0dfed9530dcbee8a0ec154f3f9f91 (patch)
tree6d82f3352b8bef0dc1c59587be8b0274f84c9372 /llvm/lib/Target/RISCV/RISCVISelLowering.h
parentf63feaf3c2ff9a4360066a374d8345aa18169bca (diff)
downloadbcm5719-llvm-28a5cadb3ae0dfed9530dcbee8a0ec154f3f9f91.tar.gz
bcm5719-llvm-28a5cadb3ae0dfed9530dcbee8a0ec154f3f9f91.zip
[RISCV] Lower inline asm constraints I, J & K for RISC-V
This validates and lowers arguments to inline asm nodes which have the constraints I, J & K, with the following semantics (equivalent to GCC): I: Any 12-bit signed immediate. J: Immediate integer zero only. K: Any 5-bit unsigned immediate. Differential Revision: https://reviews.llvm.org/D54093 llvm-svn: 363054
Diffstat (limited to 'llvm/lib/Target/RISCV/RISCVISelLowering.h')
-rw-r--r--llvm/lib/Target/RISCV/RISCVISelLowering.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/Target/RISCV/RISCVISelLowering.h b/llvm/lib/Target/RISCV/RISCVISelLowering.h
index 8e756a1c522..f3bf4410686 100644
--- a/llvm/lib/Target/RISCV/RISCVISelLowering.h
+++ b/llvm/lib/Target/RISCV/RISCVISelLowering.h
@@ -93,6 +93,10 @@ public:
getRegForInlineAsmConstraint(const TargetRegisterInfo *TRI,
StringRef Constraint, MVT VT) const override;
+ void LowerAsmOperandForConstraint(SDValue Op, std::string &Constraint,
+ std::vector<SDValue> &Ops,
+ SelectionDAG &DAG) const override;
+
MachineBasicBlock *
EmitInstrWithCustomInserter(MachineInstr &MI,
MachineBasicBlock *BB) const override;
OpenPOWER on IntegriCloud