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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@298264
91177308-0d34-0410-b5e6-
96231b3b80d8
FoldRes = C;
if (FoldRes != C) {
+ DEBUG(dbgs() << "IC: ConstFold operand of: " << *Inst << "\n Old = " << *C
+ << "\n New = " << *FoldRes << '\n');
*i = FoldRes;
MadeIRChange = true;
}