Skip to content

Commit e35fbf5

Browse files
committed
[MachineCopyPropagation] Pass DestSourcePair to isBackwardPropagatableCopy. NFC
Instead of calling isCopyInstr again, just pass the DestSourcePair from the isCopyInstr call from the caller.
1 parent bae6f8f commit e35fbf5

File tree

1 file changed

+10
-16
lines changed

1 file changed

+10
-16
lines changed

llvm/lib/CodeGen/MachineCopyPropagation.cpp

Lines changed: 10 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -899,24 +899,19 @@ void MachineCopyPropagation::ForwardCopyPropagateBlock(MachineBasicBlock &MBB) {
899899
Tracker.clear();
900900
}
901901

902-
static bool isBackwardPropagatableCopy(MachineInstr &MI,
902+
static bool isBackwardPropagatableCopy(const DestSourcePair &CopyOperands,
903903
const MachineRegisterInfo &MRI,
904-
const TargetInstrInfo &TII,
905-
bool UseCopyInstr) {
906-
std::optional<DestSourcePair> CopyOperands =
907-
isCopyInstr(MI, TII, UseCopyInstr);
908-
assert(CopyOperands && "MI is expected to be a COPY");
909-
910-
Register Def = CopyOperands->Destination->getReg();
911-
Register Src = CopyOperands->Source->getReg();
904+
const TargetInstrInfo &TII) {
905+
Register Def = CopyOperands.Destination->getReg();
906+
Register Src = CopyOperands.Source->getReg();
912907

913908
if (!Def || !Src)
914909
return false;
915910

916911
if (MRI.isReserved(Def) || MRI.isReserved(Src))
917912
return false;
918913

919-
return CopyOperands->Source->isRenamable() && CopyOperands->Source->isKill();
914+
return CopyOperands.Source->isRenamable() && CopyOperands.Source->isKill();
920915
}
921916

922917
void MachineCopyPropagation::propagateDefs(MachineInstr &MI) {
@@ -991,14 +986,13 @@ void MachineCopyPropagation::BackwardCopyPropagateBlock(
991986
Register SrcReg = CopyOperands->Source->getReg();
992987

993988
if (!TRI->regsOverlap(DefReg, SrcReg)) {
994-
MCRegister Def = DefReg.asMCReg();
995-
MCRegister Src = SrcReg.asMCReg();
996-
997989
// Unlike forward cp, we don't invoke propagateDefs here,
998990
// just let forward cp do COPY-to-COPY propagation.
999-
if (isBackwardPropagatableCopy(MI, *MRI, *TII, UseCopyInstr)) {
1000-
Tracker.invalidateRegister(Src, *TRI, *TII, UseCopyInstr);
1001-
Tracker.invalidateRegister(Def, *TRI, *TII, UseCopyInstr);
991+
if (isBackwardPropagatableCopy(*CopyOperands, *MRI, *TII)) {
992+
Tracker.invalidateRegister(SrcReg.asMCReg(), *TRI, *TII,
993+
UseCopyInstr);
994+
Tracker.invalidateRegister(DefReg.asMCReg(), *TRI, *TII,
995+
UseCopyInstr);
1002996
Tracker.trackCopy(&MI, *TRI, *TII, UseCopyInstr);
1003997
continue;
1004998
}

0 commit comments

Comments
 (0)