Skip to content

Commit 306e13e

Browse files
committed
[RISCV][GISel] Remove unnecessary Observer notifications from legalizeVAStart.
MIRBuilder already tells the observer when an instruction is created. No other legalizer code on any target tells the observer when it erases the instruction it was asked to legalize.
1 parent 2eff36b commit 306e13e

File tree

2 files changed

+5
-9
lines changed

2 files changed

+5
-9
lines changed

llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -331,8 +331,7 @@ bool RISCVLegalizerInfo::legalizeShlAshrLshr(
331331
}
332332

333333
bool RISCVLegalizerInfo::legalizeVAStart(MachineInstr &MI,
334-
MachineIRBuilder &MIRBuilder,
335-
GISelChangeObserver &Observer) const {
334+
MachineIRBuilder &MIRBuilder) const {
336335
// Stores the address of the VarArgsFrameIndex slot into the memory location
337336
assert(MI.getOpcode() == TargetOpcode::G_VASTART);
338337
MachineFunction *MF = MI.getParent()->getParent();
@@ -341,10 +340,8 @@ bool RISCVLegalizerInfo::legalizeVAStart(MachineInstr &MI,
341340
LLT AddrTy = MIRBuilder.getMRI()->getType(MI.getOperand(0).getReg());
342341
auto FINAddr = MIRBuilder.buildFrameIndex(AddrTy, FI);
343342
assert(MI.hasOneMemOperand());
344-
MachineInstr *LoweredMI = MIRBuilder.buildStore(
345-
MI.getOperand(0).getReg(), FINAddr, *MI.memoperands()[0]);
346-
Observer.createdInstr(*LoweredMI);
347-
Observer.erasingInstr(MI);
343+
MIRBuilder.buildStore(MI.getOperand(0).getReg(), FINAddr,
344+
*MI.memoperands()[0]);
348345
MI.eraseFromParent();
349346
return true;
350347
}
@@ -390,7 +387,7 @@ bool RISCVLegalizerInfo::legalizeCustom(LegalizerHelper &Helper,
390387
return true;
391388
}
392389
case TargetOpcode::G_VASTART:
393-
return legalizeVAStart(MI, MIRBuilder, Observer);
390+
return legalizeVAStart(MI, MIRBuilder);
394391
}
395392

396393
llvm_unreachable("expected switch to return");

llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,7 @@ class RISCVLegalizerInfo : public LegalizerInfo {
3636
bool legalizeShlAshrLshr(MachineInstr &MI, MachineIRBuilder &MIRBuilder,
3737
GISelChangeObserver &Observer) const;
3838

39-
bool legalizeVAStart(MachineInstr &MI, MachineIRBuilder &MIRBuilder,
40-
GISelChangeObserver &Observer) const;
39+
bool legalizeVAStart(MachineInstr &MI, MachineIRBuilder &MIRBuilder) const;
4140
};
4241
} // end namespace llvm
4342
#endif

0 commit comments

Comments
 (0)