GlobalISel: Fix double printing new instructions in legalizer
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 9 Jun 2020 12:21:03 +0000 (08:21 -0400)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Tue, 9 Jun 2020 19:02:31 +0000 (15:02 -0400)
New instructions were getting printed both in createdInstr, and in the
final printNewInstrs, so it made it look like the same instructions
were created twice. This overall made reading the debug output
harder. Stop printing the initial construction and only print new
instructions in the summary at the end. This avoids printing the less
useful case where instructions are sometimes initially created with no
operands.

I'm not sure this is the correct instance to remove; now the visible
ordering is different. Now you will typically see the one erased
instruction message before all the new instructions in order. I think
this is the more logical view of typical legalization changes,
although it's mechanically backwards from the normal
insert-new-erase-old pattern.

llvm/lib/CodeGen/GlobalISel/Legalizer.cpp

index 0a2d71c..a9bfc11 100644 (file)
@@ -133,7 +133,6 @@ public:
   }
 
   void createdInstr(MachineInstr &MI) override {
-    LLVM_DEBUG(dbgs() << ".. .. New MI: " << MI);
     LLVM_DEBUG(NewMIs.push_back(&MI));
     createdOrChangedInstr(MI);
   }