[PATCH] D18155: Instcombine: try to avoid wasted work in ConstantFold

Philip Reames via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 15 18:46:47 PDT 2016

reames added a comment.

You're correct, I got confused by the changes to the ConstantFolding interface.

What happens if you *only* reorder the two steps?  (i.e. do we see cases where we have non-foldable constant exprs?)  What performance impact do you see there?

What's really confusing me about this code is that my expectation would be that constant expressions were fully folded *at construction* and that there would be very few places (linking two modules?) which would introduce new foldable constructs in a previously fully folded constant expr.  If that's correct, why aren't we conicalizing in those presumable very rare places?  (i.e. why is this code in ConstantFoldingInstruction at *all*?)



More information about the llvm-commits mailing list