diff options
author | Daniel Sanders <daniel_l_sanders@apple.com> | 2018-12-12 21:32:01 +0000 |
---|---|---|
committer | Daniel Sanders <daniel_l_sanders@apple.com> | 2018-12-12 21:32:01 +0000 |
commit | 91dfdd5734e1c0a603e17bae0dd7723d775c485a (patch) | |
tree | 6aa0700733f665b7b1701c5f69e87f4fec547d7a /llvm/lib/CodeGen | |
parent | d1c61861ddc94457b08a5a653d3908b7b38ebb22 (diff) | |
download | bcm5719-llvm-91dfdd5734e1c0a603e17bae0dd7723d775c485a.tar.gz bcm5719-llvm-91dfdd5734e1c0a603e17bae0dd7723d775c485a.zip |
[globalisel] Rename GISelChangeObserver's erasedInstr() to erasingInstr() and related nits. NFC
Summary:
There's little of interest that can be done to an already-erased instruction.
You can't inspect it, write it to a debug log, etc. It ought to be notification
that we're about to erase it. Rename the function to clarify the timing of the
event and reflect current usage.
Also fixed one case where we were trying to print an erased instruction.
Reviewers: aditya_nandakumar
Reviewed By: aditya_nandakumar
Subscribers: rovka, kristof.beyls, llvm-commits
Differential Revision: https://reviews.llvm.org/D55611
llvm-svn: 348976
Diffstat (limited to 'llvm/lib/CodeGen')
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/Combiner.cpp | 2 | ||||
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp | 5 | ||||
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/Legalizer.cpp | 9 |
3 files changed, 7 insertions, 9 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/Combiner.cpp b/llvm/lib/CodeGen/GlobalISel/Combiner.cpp index 8f7431d9d61..f944b5a8b7e 100644 --- a/llvm/lib/CodeGen/GlobalISel/Combiner.cpp +++ b/llvm/lib/CodeGen/GlobalISel/Combiner.cpp @@ -43,7 +43,7 @@ public: WorkListMaintainer(WorkListTy &WorkList) : WorkList(WorkList) {} virtual ~WorkListMaintainer() {} - void erasedInstr(MachineInstr &MI) override { + void erasingInstr(MachineInstr &MI) override { LLVM_DEBUG(dbgs() << "Erased: "; MI.print(dbgs()); dbgs() << "\n"); WorkList.remove(&MI); } diff --git a/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp index 179c073e9b4..6018c59da77 100644 --- a/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp +++ b/llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp @@ -23,9 +23,6 @@ CombinerHelper::CombinerHelper(GISelChangeObserver &Observer, MachineIRBuilder &B) : Builder(B), MRI(Builder.getMF().getRegInfo()), Observer(Observer) {} -void CombinerHelper::eraseInstr(MachineInstr &MI) { - Observer.erasedInstr(MI); -} void CombinerHelper::scheduleForVisit(MachineInstr &MI) { Observer.createdInstr(MI); } @@ -299,8 +296,8 @@ bool CombinerHelper::tryCombineExtendingLoads(MachineInstr &MI) { Observer.createdInstr(*NewMI); } for (auto &EraseMI : ScheduleForErase) { + Observer.erasingInstr(*EraseMI); EraseMI->eraseFromParent(); - Observer.erasedInstr(*EraseMI); } MI.getOperand(0).setReg(ChosenDstReg); diff --git a/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp b/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp index 9f4d2aa8e4a..c4de312cc8f 100644 --- a/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp +++ b/llvm/lib/CodeGen/GlobalISel/Legalizer.cpp @@ -94,7 +94,8 @@ public: LLVM_DEBUG(dbgs() << ".. .. New MI: " << MI;); } - void erasedInstr(MachineInstr &MI) override { + void erasingInstr(MachineInstr &MI) override { + LLVM_DEBUG(dbgs() << ".. .. Erasing: " << MI;); InstList.remove(&MI); ArtifactList.remove(&MI); } @@ -146,7 +147,7 @@ bool Legalizer::runOnMachineFunction(MachineFunction &MF) { const LegalizerInfo &LInfo(Helper.getLegalizerInfo()); LegalizationArtifactCombiner ArtCombiner(Helper.MIRBuilder, MF.getRegInfo(), LInfo); auto RemoveDeadInstFromLists = [&WorkListObserver](MachineInstr *DeadMI) { - WorkListObserver.erasedInstr(*DeadMI); + WorkListObserver.erasingInstr(*DeadMI); }; bool Changed = false; do { @@ -175,7 +176,7 @@ bool Legalizer::runOnMachineFunction(MachineFunction &MF) { MachineInstr &MI = *ArtifactList.pop_back_val(); assert(isPreISelGenericOpcode(MI.getOpcode()) && "Expecting generic opcode"); if (isTriviallyDead(MI, MRI)) { - LLVM_DEBUG(dbgs() << MI << "Is dead; erasing.\n"); + LLVM_DEBUG(dbgs() << MI << "Is dead\n"); RemoveDeadInstFromLists(&MI); MI.eraseFromParentAndMarkDBGValuesForRemoval(); continue; @@ -183,7 +184,7 @@ bool Legalizer::runOnMachineFunction(MachineFunction &MF) { SmallVector<MachineInstr *, 4> DeadInstructions; if (ArtCombiner.tryCombineInstruction(MI, DeadInstructions)) { for (auto *DeadMI : DeadInstructions) { - LLVM_DEBUG(dbgs() << ".. Erasing Dead Instruction " << *DeadMI); + LLVM_DEBUG(dbgs() << *DeadMI << "Is dead\n"); RemoveDeadInstFromLists(DeadMI); DeadMI->eraseFromParentAndMarkDBGValuesForRemoval(); } |