On Mon, Jun 11, 2012 at 1:37 PM, William J. Schmidt <wschm...@linux.vnet.ibm.com> wrote: > OK, once more with feeling... :) > > This patch differs from the previous one in two respects: It disables > the optimization when either the then or else edge is well-predicted; > and it now uses the existing l1-cache-line-size parameter instead of a > new one (with updated commentary). > > Bootstraps and tests with no new regressions on > powerpc64-unknown-linux-gnu. One last performance run is underway, but > I don't expect any surprises since both changes are more conservative. > The original benchmark issue is still resolved. > > Is this version ok for trunk? > > Thanks, > Bill > > > 2012-06-11 Bill Schmidt <wschm...@linux.vnet.ibm.com> > > * opts.c: Add -fhoist-adjacent-loads to -O2 and above. > * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Add argument to forward > declaration. > (hoist_adjacent_loads, gate_hoist_loads): New forward declarations. > (tree_ssa_phiopt): Call gate_hoist_loads. > (tree_ssa_cs_elim): Add parm to tree_ssa_phiopt_worker call. > (tree_ssa_phiopt_worker): Add do_hoist_loads to formal arg list; call > hoist_adjacent_loads. > (local_mem_dependence): New function. > (hoist_adjacent_loads): Likewise. > (gate_hoist_loads): Likewise. > * common.opt (fhoist-adjacent-loads): New switch. > * Makefile.in (tree-ssa-phiopt.o): Added dependencies. > >
This may have caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53647 H.J.