Skip to content

Commit 399d7cc

Browse files
[CodeGen] Use MachineInstr::all_defs (NFC) (#106017)
1 parent 11ba2ee commit 399d7cc

File tree

6 files changed

+19
-31
lines changed

6 files changed

+19
-31
lines changed

llvm/include/llvm/CodeGen/LiveVariables.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -253,8 +253,8 @@ class LiveVariables {
253253
return false;
254254

255255
bool Removed = false;
256-
for (MachineOperand &MO : MI.operands()) {
257-
if (MO.isReg() && MO.isDef() && MO.getReg() == Reg) {
256+
for (MachineOperand &MO : MI.all_defs()) {
257+
if (MO.getReg() == Reg) {
258258
MO.setIsDead(false);
259259
Removed = true;
260260
break;

llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -402,8 +402,7 @@ void AggressiveAntiDepBreaker::PrescanInstruction(
402402

403403
// Scan the register defs for this instruction and update
404404
// live-ranges.
405-
for (const MachineOperand &MO : MI.operands()) {
406-
if (!MO.isReg() || !MO.isDef()) continue;
405+
for (const MachineOperand &MO : MI.all_defs()) {
407406
Register Reg = MO.getReg();
408407
if (Reg == 0) continue;
409408
// Ignore KILLs and passthru registers for liveness...

llvm/lib/CodeGen/MachineInstr.cpp

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2125,19 +2125,15 @@ bool MachineInstr::addRegisterDead(Register Reg,
21252125
}
21262126

21272127
void MachineInstr::clearRegisterDeads(Register Reg) {
2128-
for (MachineOperand &MO : operands()) {
2129-
if (!MO.isReg() || !MO.isDef() || MO.getReg() != Reg)
2130-
continue;
2131-
MO.setIsDead(false);
2132-
}
2128+
for (MachineOperand &MO : all_defs())
2129+
if (MO.getReg() == Reg)
2130+
MO.setIsDead(false);
21332131
}
21342132

21352133
void MachineInstr::setRegisterDefReadUndef(Register Reg, bool IsUndef) {
2136-
for (MachineOperand &MO : operands()) {
2137-
if (!MO.isReg() || !MO.isDef() || MO.getReg() != Reg || MO.getSubReg() == 0)
2138-
continue;
2139-
MO.setIsUndef(IsUndef);
2140-
}
2134+
for (MachineOperand &MO : all_defs())
2135+
if (MO.getReg() == Reg && MO.getSubReg() != 0)
2136+
MO.setIsUndef(IsUndef);
21412137
}
21422138

21432139
void MachineInstr::addRegisterDefined(Register Reg,
@@ -2147,9 +2143,8 @@ void MachineInstr::addRegisterDefined(Register Reg,
21472143
if (MO)
21482144
return;
21492145
} else {
2150-
for (const MachineOperand &MO : operands()) {
2151-
if (MO.isReg() && MO.getReg() == Reg && MO.isDef() &&
2152-
MO.getSubReg() == 0)
2146+
for (const MachineOperand &MO : all_defs()) {
2147+
if (MO.getReg() == Reg && MO.getSubReg() == 0)
21532148
return;
21542149
}
21552150
}

llvm/lib/CodeGen/ModuloSchedule.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2667,8 +2667,8 @@ void ModuloScheduleExpanderMVE::calcNumUnroll() {
26672667
void ModuloScheduleExpanderMVE::updateInstrDef(MachineInstr *NewMI,
26682668
ValueMapTy &VRMap,
26692669
bool LastDef) {
2670-
for (MachineOperand &MO : NewMI->operands()) {
2671-
if (!MO.isReg() || !MO.getReg().isVirtual() || !MO.isDef())
2670+
for (MachineOperand &MO : NewMI->all_defs()) {
2671+
if (!MO.getReg().isVirtual())
26722672
continue;
26732673
Register Reg = MO.getReg();
26742674
const TargetRegisterClass *RC = MRI.getRegClass(Reg);

llvm/lib/CodeGen/RegAllocFast.cpp

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1329,9 +1329,8 @@ void RegAllocFastImpl::findAndSortDefOperandIndexes(const MachineInstr &MI) {
13291329
// we assign these.
13301330
SmallVector<unsigned> RegClassDefCounts(TRI->getNumRegClasses(), 0);
13311331

1332-
for (const MachineOperand &MO : MI.operands())
1333-
if (MO.isReg() && MO.isDef())
1334-
addRegClassDefCounts(RegClassDefCounts, MO.getReg());
1332+
for (const MachineOperand &MO : MI.all_defs())
1333+
addRegClassDefCounts(RegClassDefCounts, MO.getReg());
13351334

13361335
llvm::sort(DefOperandIndexes, [&](unsigned I0, unsigned I1) {
13371336
const MachineOperand &MO0 = MI.getOperand(I0);
@@ -1481,9 +1480,7 @@ void RegAllocFastImpl::allocateInstruction(MachineInstr &MI) {
14811480
// Assign virtual register defs.
14821481
while (ReArrangedImplicitOps) {
14831482
ReArrangedImplicitOps = false;
1484-
for (MachineOperand &MO : MI.operands()) {
1485-
if (!MO.isReg() || !MO.isDef())
1486-
continue;
1483+
for (MachineOperand &MO : MI.all_defs()) {
14871484
Register Reg = MO.getReg();
14881485
if (Reg.isVirtual()) {
14891486
ReArrangedImplicitOps =
@@ -1499,10 +1496,7 @@ void RegAllocFastImpl::allocateInstruction(MachineInstr &MI) {
14991496
// Free registers occupied by defs.
15001497
// Iterate operands in reverse order, so we see the implicit super register
15011498
// defs first (we added them earlier in case of <def,read-undef>).
1502-
for (MachineOperand &MO : reverse(MI.operands())) {
1503-
if (!MO.isReg() || !MO.isDef())
1504-
continue;
1505-
1499+
for (MachineOperand &MO : reverse(MI.all_defs())) {
15061500
Register Reg = MO.getReg();
15071501

15081502
// subreg defs don't free the full register. We left the subreg number

llvm/lib/CodeGen/RegisterCoalescer.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3230,8 +3230,8 @@ void JoinVals::pruneValues(JoinVals &Other,
32303230
// Also remove dead flags since the joined live range will
32313231
// continue past this instruction.
32323232
for (MachineOperand &MO :
3233-
Indexes->getInstructionFromIndex(Def)->operands()) {
3234-
if (MO.isReg() && MO.isDef() && MO.getReg() == Reg) {
3233+
Indexes->getInstructionFromIndex(Def)->all_defs()) {
3234+
if (MO.getReg() == Reg) {
32353235
if (MO.getSubReg() != 0 && MO.isUndef() && !EraseImpDef)
32363236
MO.setIsUndef(false);
32373237
MO.setIsDead(false);

0 commit comments

Comments
 (0)