Commit bb1058e4 by James E Wilson Committed by Jim Wilson

Fix aliasing bug that also caused memory usage problems.

* tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
DECL_EXTERNAL check.

From-SVN: r87057
parent ca83de6b
2004-09-03 James E Wilson <wilson@specifixinc.com>
* tree-ssa-alias.c (may_be_aliased): Move TREE_STATIC check after
DECL_EXTERNAL check.
2004-09-03 Eric Botcazou <ebotcazou@libertysurf.fr>
* final.c (output_in_slot): New global variable.
......
......@@ -2467,15 +2467,17 @@ may_be_aliased (tree var)
if (TREE_ADDRESSABLE (var))
return true;
/* Automatic variables can't have their addresses escape any other way. */
if (!TREE_STATIC (var))
return false;
/* Globally visible variables can have their addresses taken by other
translation units. */
if (DECL_EXTERNAL (var) || TREE_PUBLIC (var))
return true;
/* Automatic variables can't have their addresses escape any other way.
This must be after the check for global variables, as extern declarations
do not have TREE_STATIC set. */
if (!TREE_STATIC (var))
return false;
/* If we're in unit-at-a-time mode, then we must have seen all occurrences
of address-of operators, and so we can trust TREE_ADDRESSABLE. Otherwise
we can only be sure the variable isn't addressable if it's local to the
......
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