summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/RISCV/RISCVInstrInfo.h
diff options
context:
space:
mode:
authorAlex Bradbury <asb@lowrisc.org>2018-04-26 15:34:27 +0000
committerAlex Bradbury <asb@lowrisc.org>2018-04-26 15:34:27 +0000
commitfda6037e98694b74488614a099b06abffa7f0766 (patch)
tree136702922422e1830d8d4a185e62dd243fbc7259 /llvm/lib/Target/RISCV/RISCVInstrInfo.h
parent7dd437710e821ef76717611f6f23f849d2cf9ca8 (diff)
downloadbcm5719-llvm-fda6037e98694b74488614a099b06abffa7f0766.tar.gz
bcm5719-llvm-fda6037e98694b74488614a099b06abffa7f0766.zip
[RISCV] Implement isLoadFromStackSlot and isStoreToStackSlot
This causes some slight shuffling but no meaningful codegen differences on the corpus I used for testing, but it has a larger impact when combined with e.g. rematerialisation. Regardless, it makes sense to report as accurate target-specific information as possible. llvm-svn: 330949
Diffstat (limited to 'llvm/lib/Target/RISCV/RISCVInstrInfo.h')
-rw-r--r--llvm/lib/Target/RISCV/RISCVInstrInfo.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/RISCV/RISCVInstrInfo.h b/llvm/lib/Target/RISCV/RISCVInstrInfo.h
index 5761d9bedd7..1d3279c3d31 100644
--- a/llvm/lib/Target/RISCV/RISCVInstrInfo.h
+++ b/llvm/lib/Target/RISCV/RISCVInstrInfo.h
@@ -27,6 +27,11 @@ class RISCVInstrInfo : public RISCVGenInstrInfo {
public:
RISCVInstrInfo();
+ unsigned isLoadFromStackSlot(const MachineInstr &MI,
+ int &FrameIndex) const override;
+ unsigned isStoreToStackSlot(const MachineInstr &MI,
+ int &FrameIndex) const override;
+
void copyPhysReg(MachineBasicBlock &MBB, MachineBasicBlock::iterator MBBI,
const DebugLoc &DL, unsigned DstReg, unsigned SrcReg,
bool KillSrc) const override;
OpenPOWER on IntegriCloud