diff options
author | Daniel Sanders <daniel_l_sanders@apple.com> | 2018-10-01 22:32:08 +0000 |
---|---|---|
committer | Daniel Sanders <daniel_l_sanders@apple.com> | 2018-10-01 22:32:08 +0000 |
commit | 33f42f97afb180030ad3aeb3e03d08a7dcc29200 (patch) | |
tree | 9e8a5fa89031e94a1cc3b95a55e3e7ba7a1fb357 /llvm/lib/CodeGen/GlobalISel/Combiner.cpp | |
parent | 7fd4513920d2fed533ad420976529ef43eb42a35 (diff) | |
download | bcm5719-llvm-33f42f97afb180030ad3aeb3e03d08a7dcc29200.tar.gz bcm5719-llvm-33f42f97afb180030ad3aeb3e03d08a7dcc29200.zip |
Revert: r343521 and r343541: [globalisel] Add a combiner helpers for extending loads and use them in a pre-legalize combiner for AArch64
There's a strange assertion on two of the Green Dragon bots that goes away when
this is reverted. The assertion is in RegBankAlloc and if it is this commit then
-verify-machine-instrs should have caught it earlier in the pipeline.
llvm-svn: 343546
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/Combiner.cpp')
-rw-r--r-- | llvm/lib/CodeGen/GlobalISel/Combiner.cpp | 31 |
1 files changed, 1 insertions, 30 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/Combiner.cpp b/llvm/lib/CodeGen/GlobalISel/Combiner.cpp index f3f075af486..0bc5b87de15 100644 --- a/llvm/lib/CodeGen/GlobalISel/Combiner.cpp +++ b/llvm/lib/CodeGen/GlobalISel/Combiner.cpp @@ -25,34 +25,6 @@ using namespace llvm; -namespace { -/// This class acts as the glue the joins the CombinerHelper to the overall -/// Combine algorithm. The CombinerHelper is intended to report the -/// modifications it makes to the MIR to the CombinerChangeObserver and the -/// observer subclass will act on these events. In this case, instruction -/// erasure will cancel any future visits to the erased instruction and -/// instruction creation will schedule that instruction for a future visit. -/// Other Combiner implementations may require more complex behaviour from -/// their CombinerChangeObserver subclass. -class WorkListMaintainer : public CombinerChangeObserver { - using WorkListTy = GISelWorkList<512>; - WorkListTy &WorkList; - -public: - WorkListMaintainer(WorkListTy &WorkList) : WorkList(WorkList) {} - virtual ~WorkListMaintainer() {} - - void erasedInstr(MachineInstr &MI) override { - LLVM_DEBUG(dbgs() << "Erased: "; MI.print(dbgs()); dbgs() << "\n"); - WorkList.remove(&MI); - } - void createdInstr(MachineInstr &MI) override { - LLVM_DEBUG(dbgs() << "Created: "; MI.print(dbgs()); dbgs() << "\n"); - WorkList.insert(&MI); - } -}; -} - Combiner::Combiner(CombinerInfo &Info, const TargetPassConfig *TPC) : CInfo(Info), TPC(TPC) { (void)this->TPC; // FIXME: Remove when used. @@ -81,7 +53,6 @@ bool Combiner::combineMachineInstrs(MachineFunction &MF) { // down RPOT. Changed = false; GISelWorkList<512> WorkList; - WorkListMaintainer Observer(WorkList); for (MachineBasicBlock *MBB : post_order(&MF)) { if (MBB->empty()) continue; @@ -101,7 +72,7 @@ bool Combiner::combineMachineInstrs(MachineFunction &MF) { while (!WorkList.empty()) { MachineInstr *CurrInst = WorkList.pop_back_val(); LLVM_DEBUG(dbgs() << "Try combining " << *CurrInst << "\n";); - Changed |= CInfo.combine(Observer, *CurrInst, Builder); + Changed |= CInfo.combine(*CurrInst, Builder); } MFChanged |= Changed; } while (Changed); |