diff options
author | Evan Cheng <evan.cheng@apple.com> | 2007-10-18 22:40:57 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2007-10-18 22:40:57 +0000 |
commit | f0a0cddbcda344a90b7217b744c78dccec71851c (patch) | |
tree | cfcdda0c59b826a9cc81f0b5b49ef5f0d401892f /include/llvm/Target | |
parent | 58184e6878fdab651bc7c9a59dab2687ca82ede2 (diff) | |
download | external_llvm-f0a0cddbcda344a90b7217b744c78dccec71851c.zip external_llvm-f0a0cddbcda344a90b7217b744c78dccec71851c.tar.gz external_llvm-f0a0cddbcda344a90b7217b744c78dccec71851c.tar.bz2 |
- Added getOpcodeAfterMemoryUnfold(). It doesn't unfold an instruction, but only returns the opcode of the instruction post unfolding.
- Fix some copy+paste bugs.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@43153 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/Target')
-rw-r--r-- | include/llvm/Target/MRegisterInfo.h | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/include/llvm/Target/MRegisterInfo.h b/include/llvm/Target/MRegisterInfo.h index 12b022e..dd24f37 100644 --- a/include/llvm/Target/MRegisterInfo.h +++ b/include/llvm/Target/MRegisterInfo.h @@ -508,7 +508,7 @@ public: const TargetRegisterClass *RC) const = 0; virtual void storeRegToAddr(MachineFunction &MF, unsigned SrcReg, - SmallVectorImpl<MachineOperand> Addr, + SmallVectorImpl<MachineOperand> &Addr, const TargetRegisterClass *RC, SmallVectorImpl<MachineInstr*> &NewMIs) const = 0; @@ -518,7 +518,7 @@ public: const TargetRegisterClass *RC) const = 0; virtual void loadRegFromAddr(MachineFunction &MF, unsigned DestReg, - SmallVectorImpl<MachineOperand> Addr, + SmallVectorImpl<MachineOperand> &Addr, const TargetRegisterClass *RC, SmallVectorImpl<MachineInstr*> &NewMIs) const =0; @@ -577,6 +577,14 @@ public: return false; } + /// getOpcodeAfterMemoryUnfold - Returns the opcode of the would be new + /// instruction after load / store are unfolded from the specified opcode. + /// It returns zero if the specified unfolding is impossible. + virtual unsigned getOpcodeAfterMemoryUnfold(unsigned Opc, + bool UnfoldLoad, bool UnfoldStore) const { + return 0; + } + /// targetHandlesStackFrameRounding - Returns true if the target is /// responsible for rounding up the stack frame (probably at emitPrologue /// time). |