[InstCombine] Revisit user of newly one-use instructions
Many folds in InstCombine are limited to one-use instructions. For that reason, if the use-count of an instruction drops to one, it makes sense to revisit that one user. This is one of the most common reasons why InstCombine fails to finish in a single iteration. Doing this revisit actually slightly improves compile-time, because we save an extra InstCombine iteration in enough cases to make a visible difference. This is conceptually NFC, but not NFC in practice, because differences in worklist order can result in slightly different folding behavior. The regressed tests in or-shifted-masks.ll now require a sequence of instcombine,early-cse,instcombine to fold fully. D152876 would make these fold in a single instcombine run again. Differential Revision: https://reviews.llvm.org/D151807
Loading
Please sign in to comment