summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/GlobalISel/Combiner.cpp
diff options
context:
space:
mode:
authorDaniel Sanders <daniel_l_sanders@apple.com>2018-10-01 22:32:08 +0000
committerDaniel Sanders <daniel_l_sanders@apple.com>2018-10-01 22:32:08 +0000
commit33f42f97afb180030ad3aeb3e03d08a7dcc29200 (patch)
tree9e8a5fa89031e94a1cc3b95a55e3e7ba7a1fb357 /llvm/lib/CodeGen/GlobalISel/Combiner.cpp
parent7fd4513920d2fed533ad420976529ef43eb42a35 (diff)
downloadbcm5719-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.cpp31
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);
OpenPOWER on IntegriCloud