================
@@ -596,11 +709,33 @@ void GCNUpwardRPTracker::recede(const MachineInstr &MI) {
CurPressure.inc(U.VRegOrUnit.asVirtualReg(), PrevMask, LiveMask, *MRI);
}
+ if (TrackPhysRegs) {
+ // Physical register handling needs the register directly to avoid
aliasing,
+ // so we need to iterate over all uses.
+ for (const MachineOperand &MO : MI.all_uses()) {
+ if (!MO.isReg() || !MO.getReg().isPhysical() || !MO.readsReg())
----------------
macurtis-amd wrote:
`all_uses()` only returns register operands so MO.isReg() is not needed.
https://github.com/llvm/llvm-project/pull/184275
_______________________________________________
llvm-branch-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-branch-commits