------- Comment #8 from hjl dot tools at gmail dot com 2010-09-03 15:37 ------- (In reply to comment #5) > Hmhm, IVOPTs expands crap into arguments. > > Index: gcc/tree-ssa-loop-ivopts.c > =================================================================== > --- gcc/tree-ssa-loop-ivopts.c (revision 163817) > +++ gcc/tree-ssa-loop-ivopts.c (working copy) > @@ -1023,6 +1023,11 @@ find_bivs (struct ivopts_data *data) > > type = TREE_TYPE (PHI_RESULT (phi)); > base = fold_convert (type, base); > + STRIP_USELESS_TYPE_CONVERSION (base); > + if (CONVERT_EXPR_P (base) > + && (POINTER_TYPE_P (TREE_TYPE (base)) > + != POINTER_TYPE_P (TREE_OPERAND (base, 0)))) > + continue; > if (step) > { > if (POINTER_TYPE_P (type)) > > > fixes the testcase, I am bootstrapping and testing this on x86_64 as a > short-term fix but have to think about it some more. > > Can you check if 32bit bootstrap succeeds with that? >
I can bootstrap C with this one on Linux/x86. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45519