Commit d3010d72 by Andrew Pinski Committed by Andrew Pinski

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
parent 78a7dc90
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.
......
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
......
/* { 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"} } */
......@@ -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);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment