On Mon, Apr 16, 2012 at 2:22 AM, Richard Guenther <rguent...@suse.de> wrote: > > When looking at the code we produce from if-conversion and vectorization > I noticed several things. For one, we are not handling TARGET_MEM_REF > in operand_equal_p which means that DOM does not clean up loads/stores > of that form (to the extent DOM can do that anyway). Also we never > simplify the conditions in VEC_COND_EXPRs because the combining in > forwprop does not handle them. And we do not combine the inverted > COND_EXPRs if-conversion can create - but it's easy to do that in > forwprop. > > The following addresses this two issues. > > Bootstrapped and tested on x86_64-unknown-linux-gnu, applied to trunk. > > Richard. > > 2012-04-16 Richard Guenther <rguent...@suse.de> > > PR tree-optimization/52975 > * tree-ssa-forwprop.c (combine_cond_exprs): New function. > (ssa_forward_propagate_and_combine): Call it for COND_EXPRs > and VEC_COND_EXPRs. Also combine into VEC_COND_EXPRs condition. > * fold-const.c (operand_equal_p): Handle TARGET_MEM_REF. >
This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53032 -- H.J.