diff options
| author | Alex Bradbury <asb@lowrisc.org> | 2018-04-26 15:34:27 +0000 |
|---|---|---|
| committer | Alex Bradbury <asb@lowrisc.org> | 2018-04-26 15:34:27 +0000 |
| commit | fda6037e98694b74488614a099b06abffa7f0766 (patch) | |
| tree | 136702922422e1830d8d4a185e62dd243fbc7259 /llvm/lib/Target/RISCV/RISCVInstrInfo.h | |
| parent | 7dd437710e821ef76717611f6f23f849d2cf9ca8 (diff) | |
| download | bcm5719-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.h | 5 |
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; |

