http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49352
Ira Rosen <irar at il dot ibm.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |irar at il dot ibm.com --- Comment #4 from Ira Rosen <irar at il dot ibm.com> 2011-06-10 12:22:17 UTC --- (In reply to comment #3) > Created attachment 24486 [details] > gcc47-pr49352.patch > > Rough patch I've been playing with. There is no point testing gimple_code > of use_stmt if it is GIMPLE_PHI, because phi is known to be a PHI. Right :) > The patch > attempts to only allow exactly one loop use stmt and use that stmt. I had to > drop the use_stmt != first_stmt test, otherwise the transformation wouldn't > ever happen, not sure if you want to allow in that case another loop use (if > yes, which one of the two do you want as loop_use_stmt?). I think it's ok. Sorry, I can't remember why I added this condition. It doesn't make sense to me now. > > I also wonder if vect_is_slp_reduction should just return false; early if code > is COND_EXPR, if for COND_EXPR def1 is not equal to phi I'm afraid it could be > called. Yes, probably a good idea. Thanks, Ira