diff options
author | Jan Hubicka <jh@suse.cz> | 2006-12-30 13:02:09 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2006-12-30 12:02:09 +0000 |
commit | d586d6d1f6afb26b105aca56336217594549bf80 (patch) | |
tree | a1ec2dcdcfc29c5e53fc7abed01106497d065f6b /gcc/tree-ssa-operands.c | |
parent | 4b73962b7e164ed118806f9c70bc75a4799df467 (diff) | |
download | gcc-d586d6d1f6afb26b105aca56336217594549bf80.zip gcc-d586d6d1f6afb26b105aca56336217594549bf80.tar.gz gcc-d586d6d1f6afb26b105aca56336217594549bf80.tar.bz2 |
tree-ssa-alias.c (create_structure_vars): When in SSA, update operand caches.
* tree-ssa-alias.c (create_structure_vars): When in SSA, update operand
caches.
* tree-ssa-operands.c (build_ssa_operands): Recompute addresses_taken
bitmap.
From-SVN: r120284
Diffstat (limited to 'gcc/tree-ssa-operands.c')
-rw-r--r-- | gcc/tree-ssa-operands.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/tree-ssa-operands.c b/gcc/tree-ssa-operands.c index d47d19c..9d4b84c 100644 --- a/gcc/tree-ssa-operands.c +++ b/gcc/tree-ssa-operands.c @@ -2337,6 +2337,9 @@ build_ssa_operands (tree stmt) makes no memory references. */ ann->has_volatile_ops = false; ann->references_memory = false; + /* Just clear the bitmap so we don't end up reallocating it over and over. */ + if (ann->addresses_taken) + bitmap_clear (ann->addresses_taken); start_ssa_stmt_operands (); parse_ssa_operands (stmt); @@ -2344,6 +2347,8 @@ build_ssa_operands (tree stmt) operand_build_sort_virtual (build_vdefs); finalize_ssa_stmt_operands (stmt); + if (ann->addresses_taken && bitmap_empty_p (ann->addresses_taken)) + ann->addresses_taken = NULL; /* For added safety, assume that statements with volatile operands also reference memory. */ if (ann->has_volatile_ops) |