diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2007-12-01 02:07:52 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2007-12-01 02:07:52 +0000 |
| commit | 69fda0a7167048ae647675536fd7b2e4bb02f5a6 (patch) | |
| tree | d1c03a1a47b4bf6b6c5199e5b85394c8a95a8320 /llvm/lib/Target/Sparc | |
| parent | e62b441b516089f04648120d5ed9b4581d4fafe4 (diff) | |
| download | bcm5719-llvm-69fda0a7167048ae647675536fd7b2e4bb02f5a6.tar.gz bcm5719-llvm-69fda0a7167048ae647675536fd7b2e4bb02f5a6.zip | |
Allow some reloads to be folded in multi-use cases. Specifically testl r, r -> cmpl [mem], 0.
llvm-svn: 44479
Diffstat (limited to 'llvm/lib/Target/Sparc')
| -rw-r--r-- | llvm/lib/Target/Sparc/SparcRegisterInfo.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Target/Sparc/SparcRegisterInfo.h b/llvm/lib/Target/Sparc/SparcRegisterInfo.h index dec01e02769..cecbc8a87d9 100644 --- a/llvm/lib/Target/Sparc/SparcRegisterInfo.h +++ b/llvm/lib/Target/Sparc/SparcRegisterInfo.h @@ -63,11 +63,23 @@ struct SparcRegisterInfo : public SparcGenRegisterInfo { int FrameIndex) const; virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, + SmallVectorImpl<unsigned> &UseOps, + int FrameIndex) const { + return 0; + } + + virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, unsigned OpNum, MachineInstr* LoadMI) const { return 0; } + virtual MachineInstr* foldMemoryOperand(MachineInstr* MI, + SmallVectorImpl<unsigned> &UseOps, + MachineInstr* LoadMI) const { + return 0; + } + const unsigned *getCalleeSavedRegs(const MachineFunction *MF = 0) const; const TargetRegisterClass* const* getCalleeSavedRegClasses( |

