Currently InstCombine does not report dead code elimination or constant folding during the worklist building up to the pass manager or preserved analysis reporting. With one caveat, constant folding operands does report as a change and forces another iteration of the InstCombine pass. Since the return flag is currently based on iteration count being greater than 1, those modifications would be reported.
This patch adds a change flag to DCE and constant folding in the worklist build. Additionally we no longer treat changes during worklist building as a reason to run another iteration. Now the return value is based on a change flag instead of the iteration count.