diff options
author | Daniel Berlin <dberlin@dberlin.org> | 2006-04-08 21:50:04 +0000 |
---|---|---|
committer | Daniel Berlin <dberlin@gcc.gnu.org> | 2006-04-08 21:50:04 +0000 |
commit | 9ccfe0cda479d1f5feae5a1cd20896dfe0c9a04a (patch) | |
tree | 32fe72df7eca620b267dafba776d6c8ce0e1432a /gcc/tree-ssa-alias.c | |
parent | e0f931d27f9e0b7daee2d05a89ccf99c814f0429 (diff) | |
download | gcc-9ccfe0cda479d1f5feae5a1cd20896dfe0c9a04a.zip gcc-9ccfe0cda479d1f5feae5a1cd20896dfe0c9a04a.tar.gz gcc-9ccfe0cda479d1f5feae5a1cd20896dfe0c9a04a.tar.bz2 |
tree.h (tree_memory_tag): Add old_used_alone.
2006-04-08 Daniel Berlin <dberlin@dberlin.org>
* tree.h (tree_memory_tag): Add old_used_alone.
(SMT_OLD_USED_ALONE): New macro.
* tree-ssa-alias.c (recalculate_used_alone): Stop
marking things for renaming unnecessarily.
From-SVN: r112789
Diffstat (limited to 'gcc/tree-ssa-alias.c')
-rw-r--r-- | gcc/tree-ssa-alias.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/gcc/tree-ssa-alias.c b/gcc/tree-ssa-alias.c index f0d16d4..3ad4b0f 100644 --- a/gcc/tree-ssa-alias.c +++ b/gcc/tree-ssa-alias.c @@ -443,7 +443,10 @@ recalculate_used_alone (void) updating_used_alone = true; FOR_EACH_REFERENCED_VAR (var, rvi) if (TREE_CODE (var) == SYMBOL_MEMORY_TAG) - SMT_USED_ALONE (var) = 0; + { + SMT_OLD_USED_ALONE (var) = SMT_USED_ALONE (var); + SMT_USED_ALONE (var) = 0; + } /* Walk all the statements. Calls get put into a list of statements to update, since we will @@ -476,7 +479,11 @@ recalculate_used_alone (void) if (!SMT_USED_ALONE (svar)) { SMT_USED_ALONE (svar) = true; - mark_sym_for_renaming (svar); + + /* Only need to mark for renaming if it wasn't + used alone before. */ + if (!SMT_OLD_USED_ALONE (svar)) + mark_sym_for_renaming (svar); } } } |