------- 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

Reply via email to