alias-1.c: New test.

2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.dg/tree-ssa/alias-1.c: New test.
2005-04-11  Andrew Pinski  <pinskia@physics.uc.edu>

        * tree-ssa-alias.c (may_alias_p): If the variable
        is a global variable and the pointer is parameter
        and -fargument-noalias-global is used, then
        the pointer cannot alias the variable.

From-SVN: r97978
This commit is contained in:
Andrew Pinski 2005-04-11 18:25:08 +00:00 committed by Andrew Pinski
parent 78a7dc9032
commit d3010d7286
4 changed files with 37 additions and 0 deletions

View file

@ -1,3 +1,10 @@
2005-04-11 Andrew Pinski <pinskia@physics.uc.edu>
* tree-ssa-alias.c (may_alias_p): If the variable
is a global variable and the pointer is parameter
and -fargument-noalias-global is used, then
the pointer cannot alias the variable.
2005-04-11 James A. Morrison <phython@gcc.gnu.org>
* config/sparc/sparc.c: Use gcc_assert and gcc_unreachable.

View file

@ -1,3 +1,7 @@
2005-04-11 Andrew Pinski <pinskia@physics.uc.edu>
* gcc.dg/tree-ssa/alias-1.c: New test.
2005-04-11 Diego Novillo <dnovillo@redhat.com>
PR tree-optimization/20920

View file

@ -0,0 +1,16 @@
/* { dg-options "-O2 -fargument-noalias-global -fdump-tree-optimizated" } */
int f;
void link_error ();
void g(int *i)
{
*i = 0;
f = 1;
if (*i != 0)
link_error ();
}
/* We should have removed the link_error on the tree level as we told GCC
that *i cannot point to f via the option -fargument-noalias-global. */
/* { dg-final { scan-tree-dump-times "link_error" 0 "optimized"} } */

View file

@ -1708,6 +1708,16 @@ may_alias_p (tree ptr, HOST_WIDE_INT mem_alias_set,
alias_stats.simple_resolved++;
return false;
}
/* If -fargument-noalias-global is >1, pointer arguments may
not point to global variables. */
if (flag_argument_noalias > 1 && is_global_var (var)
&& TREE_CODE (ptr) == PARM_DECL)
{
alias_stats.alias_noalias++;
alias_stats.simple_resolved++;
return false;
}
m_ann = var_ann (mem);