mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-02 07:11:49 +00:00
Swap parameters of isSafeToMove and isSafeToReMat for consistency.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@97578 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
c5bbba1e49
commit
ac1abde05b
@ -331,13 +331,13 @@ public:
|
||||
/// isSafeToMove - Return true if it is safe to move this instruction. If
|
||||
/// SawStore is set to true, it means that there is a store (or call) between
|
||||
/// the instruction's location and its intended destination.
|
||||
bool isSafeToMove(const TargetInstrInfo *TII, bool &SawStore,
|
||||
AliasAnalysis *AA) const;
|
||||
bool isSafeToMove(const TargetInstrInfo *TII, AliasAnalysis *AA,
|
||||
bool &SawStore) const;
|
||||
|
||||
/// isSafeToReMat - Return true if it's safe to rematerialize the specified
|
||||
/// instruction which defined the specified register instead of copying it.
|
||||
bool isSafeToReMat(const TargetInstrInfo *TII, unsigned DstReg,
|
||||
AliasAnalysis *AA) const;
|
||||
bool isSafeToReMat(const TargetInstrInfo *TII, AliasAnalysis *AA,
|
||||
unsigned DstReg) const;
|
||||
|
||||
/// hasVolatileMemoryRef - Return true if this instruction may have a
|
||||
/// volatile memory reference, or if the information describing the
|
||||
|
@ -55,7 +55,7 @@ FunctionPass *llvm::createDeadMachineInstructionElimPass() {
|
||||
bool DeadMachineInstructionElim::isDead(const MachineInstr *MI) const {
|
||||
// Don't delete instructions with side effects.
|
||||
bool SawStore = false;
|
||||
if (!MI->isSafeToMove(TII, SawStore, 0) && !MI->isPHI())
|
||||
if (!MI->isSafeToMove(TII, 0, SawStore) && !MI->isPHI())
|
||||
return false;
|
||||
|
||||
// Examine each operand.
|
||||
|
@ -959,8 +959,8 @@ void MachineInstr::copyPredicates(const MachineInstr *MI) {
|
||||
/// SawStore is set to true, it means that there is a store (or call) between
|
||||
/// the instruction's location and its intended destination.
|
||||
bool MachineInstr::isSafeToMove(const TargetInstrInfo *TII,
|
||||
bool &SawStore,
|
||||
AliasAnalysis *AA) const {
|
||||
AliasAnalysis *AA,
|
||||
bool &SawStore) const {
|
||||
// Ignore stuff that we obviously can't move.
|
||||
if (TID->mayStore() || TID->isCall()) {
|
||||
SawStore = true;
|
||||
@ -985,11 +985,11 @@ bool MachineInstr::isSafeToMove(const TargetInstrInfo *TII,
|
||||
/// isSafeToReMat - Return true if it's safe to rematerialize the specified
|
||||
/// instruction which defined the specified register instead of copying it.
|
||||
bool MachineInstr::isSafeToReMat(const TargetInstrInfo *TII,
|
||||
unsigned DstReg,
|
||||
AliasAnalysis *AA) const {
|
||||
AliasAnalysis *AA,
|
||||
unsigned DstReg) const {
|
||||
bool SawStore = false;
|
||||
if (!TII->isTriviallyReMaterializable(this, AA) ||
|
||||
!isSafeToMove(TII, SawStore, AA))
|
||||
!isSafeToMove(TII, AA, SawStore))
|
||||
return false;
|
||||
for (unsigned i = 0, e = getNumOperands(); i != e; ++i) {
|
||||
const MachineOperand &MO = getOperand(i);
|
||||
|
@ -149,7 +149,7 @@ bool MachineSinking::ProcessBlock(MachineBasicBlock &MBB) {
|
||||
/// instruction out of its current block into a successor.
|
||||
bool MachineSinking::SinkInstruction(MachineInstr *MI, bool &SawStore) {
|
||||
// Check if it's safe to move the instruction.
|
||||
if (!MI->isSafeToMove(TII, SawStore, AA))
|
||||
if (!MI->isSafeToMove(TII, AA, SawStore))
|
||||
return false;
|
||||
|
||||
// FIXME: This should include support for sinking instructions within the
|
||||
|
@ -662,7 +662,7 @@ bool SimpleRegisterCoalescing::ReMaterializeTrivialDef(LiveInterval &SrcInt,
|
||||
if (!tii_->isTriviallyReMaterializable(DefMI, AA))
|
||||
return false;
|
||||
bool SawStore = false;
|
||||
if (!DefMI->isSafeToMove(tii_, SawStore, AA))
|
||||
if (!DefMI->isSafeToMove(tii_, AA, SawStore))
|
||||
return false;
|
||||
if (TID.getNumDefs() != 1)
|
||||
return false;
|
||||
|
@ -160,7 +160,7 @@ bool TwoAddressInstructionPass::Sink3AddrInstruction(MachineBasicBlock *MBB,
|
||||
MachineBasicBlock::iterator OldPos) {
|
||||
// Check if it's safe to move this instruction.
|
||||
bool SeenStore = true; // Be conservative.
|
||||
if (!MI->isSafeToMove(TII, SeenStore, AA))
|
||||
if (!MI->isSafeToMove(TII, AA, SeenStore))
|
||||
return false;
|
||||
|
||||
unsigned DefReg = 0;
|
||||
@ -1028,7 +1028,7 @@ bool TwoAddressInstructionPass::runOnMachineFunction(MachineFunction &MF) {
|
||||
// copying it.
|
||||
if (DefMI &&
|
||||
DefMI->getDesc().isAsCheapAsAMove() &&
|
||||
DefMI->isSafeToReMat(TII, regB, AA) &&
|
||||
DefMI->isSafeToReMat(TII, AA, regB) &&
|
||||
isProfitableToReMat(regB, rc, mi, DefMI, mbbi, Dist)){
|
||||
DEBUG(dbgs() << "2addr: REMATTING : " << *DefMI << "\n");
|
||||
unsigned regASubIdx = mi->getOperand(DstIdx).getSubReg();
|
||||
|
Loading…
Reference in New Issue
Block a user