[Bug tree-optimization/19217] [4.0 Regression] ICE: verify_stmts failed: address taken, but ADDRESSABLE bit not set

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Jan 1 07:38:00 GMT 2005


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-01-01 07:38 -------
(In reply to comment #2)
> Confirmed, reduced testcase:
> void flexto(int *current,int instance_count)
> {
>   int *end, temp, j;
>   for ( j=0; j<instance_count; ++j )
>     end = &temp;
>   *current = *end;
> }

Just a note, this is broken before the loop optimizations are run and it looks like it was caused by (my 
patch):
2004-11-30  Andrew Pinski  <pinskia@physics.uc.edu>

        PR tree-opt/18298
        * tree-optimize.c (init_tree_optimization_passes): Add a may_alias
        pass right after fold builtins.

But It just exposes a latent bug in may_alias as we don't keep temp marked as a non gimple register 
even though the variable has its address taken still  (yes adding a dce pass right before may_alias will 
work around the problem but that does not fix the other problem, we should be able to call may_alias 
even without calling dce).

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |dnovillo at gcc dot gnu dot
                   |                            |org


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



More information about the Gcc-bugs mailing list