------- Additional Comments From dberlin at gcc dot gnu dot org  2005-03-18 
21:33 -------
Subject: Re:  New: [4.1 Regression] Bootstrap
        failure at -Os

On Fri, 2005-03-18 at 21:21 +0000, rearnsha at gcc dot gnu dot org
wrote:
> Bootstrapping with BOOT_CFLAGS="-Os -g" fails when the stage2 cc1 is used to
> build  crtstuff.o.  The segmentation fault occurs in find_uses_to_rename_use 
> but
> the error really seems to be in its caller find_uses_to_rename_bb
> (tree-ssa-loop-manip.c).  Looking at the tree dumps we have in t49.loopinit
> 
> <L8>:;
>   stmt_35 = bsi_stmt (bsi);
>   get_stmt_operands (stmt_35);
>   var_38 = op_iter_init_tree (&iter, stmt_35, 13);
>   goto <bb 9> (<L10>);
> 
> <L9>:;
>   var_45 = op_iter_next_tree (&iter);
> 
> <L10>:;
>   D.17355_41 = iter.done;
>   D.17353_42 = (int) D.17355_41;
>   D.17347_44 = (unsigned char) D.17353_42;
>   if (D.17347_44 == 0) goto <L9>; else goto <L12>;
> 
> but in t50.lim we have:
> 
> <L8>:;
>   stmt_35 = bsi_stmt (bsi);
>   get_stmt_operands (stmt_35);
>   var_38 = op_iter_init_tree (&iter, stmt_35, 13);
>   lsm_tmp.500_356 = iter.done;
>   goto <bb 9> (<L10>);
> 
> <L9>:;
>   var_45 = op_iter_next_tree (&iter);
> 
> <L10>:;
>   D.17355_41 = lsm_tmp.500_356;
>   D.17353_42 = (int) D.17355_41;
>   D.17347_44 = (unsigned char) D.17353_42;
>   if (D.17347_44 == 0) goto <L9>; else goto <L18>;
> 
> <L18>:;
>   iter.done = lsm_tmp.500_356;
> 
> note that the use of iter.done has been hoisted out of the loop even though 
> the
> call of op_iter_next_tree passes the address of iter.

This is probably because is_call_clobbered_ref is wrong for variables
that have subvars (it checks the base var instead of the SFT's).




-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20542

Reply via email to