mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-13 20:32:21 +00:00
Rename ConvertToSetZeroFlag to something more general.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@113670 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
3665661a57
commit
a65568676d
@ -585,10 +585,11 @@ public:
|
||||
return false;
|
||||
}
|
||||
|
||||
/// ConvertToSetZeroFlag - Convert the instruction supplying the argument to
|
||||
/// the comparison into one that sets the zero bit in the flags
|
||||
/// register. Update the iterator *only* if a transformation took place.
|
||||
virtual bool ConvertToSetZeroFlag(MachineInstr * /*CmpInstr*/,
|
||||
/// OptimizeCompareInstr - See if the comparison instruction can be converted
|
||||
/// into something more efficient. E.g., on ARM most instructions can set the
|
||||
/// flags register, obviating the need for a separate CMP. Update the iterator
|
||||
/// *only* if a transformation took place.
|
||||
virtual bool OptimizeCompareInstr(MachineInstr * /*CmpInstr*/,
|
||||
unsigned /*SrcReg*/, int /*CmpValue*/,
|
||||
MachineBasicBlock::iterator &) const {
|
||||
return false;
|
||||
|
@ -243,8 +243,8 @@ bool PeepholeOptimizer::OptimizeCmpInstr(MachineInstr *MI,
|
||||
TargetRegisterInfo::isPhysicalRegister(SrcReg))
|
||||
return false;
|
||||
|
||||
// Attempt to convert the defining instruction to set the "zero" flag.
|
||||
if (TII->ConvertToSetZeroFlag(MI, SrcReg, CmpValue, NextIter)) {
|
||||
// Attempt to optimize the comparison instruction.
|
||||
if (TII->OptimizeCompareInstr(MI, SrcReg, CmpValue, NextIter)) {
|
||||
++NumEliminated;
|
||||
return true;
|
||||
}
|
||||
|
@ -1377,11 +1377,11 @@ AnalyzeCompare(const MachineInstr *MI, unsigned &SrcReg, int &CmpValue) const {
|
||||
return false;
|
||||
}
|
||||
|
||||
/// ConvertToSetZeroFlag - Convert the instruction supplying the argument to the
|
||||
/// OptimizeCompareInstr - Convert the instruction supplying the argument to the
|
||||
/// comparison into one that sets the zero bit in the flags register. Update the
|
||||
/// iterator *only* if a transformation took place.
|
||||
bool ARMBaseInstrInfo::
|
||||
ConvertToSetZeroFlag(MachineInstr *CmpInstr, unsigned SrcReg, int CmpValue,
|
||||
OptimizeCompareInstr(MachineInstr *CmpInstr, unsigned SrcReg, int CmpValue,
|
||||
MachineBasicBlock::iterator &MII) const {
|
||||
if (CmpValue != 0)
|
||||
return false;
|
||||
|
@ -344,9 +344,9 @@ public:
|
||||
virtual bool AnalyzeCompare(const MachineInstr *MI, unsigned &SrcReg,
|
||||
int &CmpValue) const;
|
||||
|
||||
/// ConvertToSetZeroFlag - Convert the instruction to set the zero flag so
|
||||
/// OptimizeCompareInstr - Convert the instruction to set the zero flag so
|
||||
/// that we can remove a "comparison with zero".
|
||||
virtual bool ConvertToSetZeroFlag(MachineInstr *CmpInstr, unsigned SrcReg,
|
||||
virtual bool OptimizeCompareInstr(MachineInstr *CmpInstr, unsigned SrcReg,
|
||||
int CmpValue,
|
||||
MachineBasicBlock::iterator &MII) const;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user