------- 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  <[EMAIL PROTECTED]>

        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

Reply via email to