[llvm] r298264 - [InstCombine] Print a debug message when we constant fold an operand during worklist creation

Craig Topper via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 20 09:31:15 PDT 2017


Author: ctopper
Date: Mon Mar 20 11:31:14 2017
New Revision: 298264

URL: http://llvm.org/viewvc/llvm-project?rev=298264&view=rev
Log:
[InstCombine] Print a debug message when we constant fold an operand during worklist creation

InstCombine tries to constant fold instruction operands during worklist building, but we don't print that we're doing this.

We also set a change flag here that causes us to rebuild and rerun the worklist one more time even if processing the worklist itself created no additional changes. So in the log I saw two inst combine runs that visited all instructions without printing that anything was changed. I may be submitting another patch to remove the change flag unless I can find some reason why we should be doing that.

Differential Revision: https://reviews.llvm.org/D31091


Modified:
    llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp

Modified: llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp?rev=298264&r1=298263&r2=298264&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp (original)
+++ llvm/trunk/lib/Transforms/InstCombine/InstructionCombining.cpp Mon Mar 20 11:31:14 2017
@@ -3032,6 +3032,8 @@ static bool AddReachableCodeToWorklist(B
           FoldRes = C;
 
         if (FoldRes != C) {
+          DEBUG(dbgs() << "IC: ConstFold operand of: " << *Inst << "\n    Old = " << *C
+                       << "\n    New = " << *FoldRes << '\n');
           *i = FoldRes;
           MadeIRChange = true;
         }




More information about the llvm-commits mailing list