On Wed, Jun 14, 2017 at 3:07 PM, Bin Cheng <bin.ch...@arm.com> wrote: > Hi, > Loop split forces intermediate computation to gimple operands all the time > when > computing bound information. This is not good since folding opportunities are > missed. This patch fixes the issue by feeding all computation to folder and > only > forcing to gimple operand at last. > > Bootstrap and test on x86_64 and AArch64. Is it OK?
Hm? It uses gimple_build () which should do the same as fold_buildN in terms of simplification. So where does that not work? It is supposed to be the prefered way and no new code should use force_gimple_operand (unless dealing with generic coming from other middle-end infrastructure like SCEV or niter analysis) Richard. > > Thanks, > bin > 2017-06-12 Bin Cheng <bin.ch...@arm.com> > > * tree-ssa-loop-split.c (compute_new_first_bound): Feed bound > computation to folder, rather than force to gimple operands too > early.