aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcse.c
diff options
context:
space:
mode:
authorJan Hubicka <jh@suse.cz>2003-01-25 22:32:42 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2003-01-25 21:32:42 +0000
commit5f0bea72c558bdd22238fffb4ba31d71221c473a (patch)
tree6ee4145d1e976fa3d03f52cdc6f9487377b87883 /gcc/gcse.c
parent1649d92fb3790548b583dbc6a93e0383a90b9fea (diff)
downloadgcc-5f0bea72c558bdd22238fffb4ba31d71221c473a.zip
gcc-5f0bea72c558bdd22238fffb4ba31d71221c473a.tar.gz
gcc-5f0bea72c558bdd22238fffb4ba31d71221c473a.tar.bz2
* gcse.c (local_cprop_pass): Update reg_sets table when needed.
From-SVN: r61799
Diffstat (limited to 'gcc/gcse.c')
-rw-r--r--gcc/gcse.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/gcc/gcse.c b/gcc/gcse.c
index 272e39a..cf724f4 100644
--- a/gcc/gcse.c
+++ b/gcc/gcse.c
@@ -4422,7 +4422,12 @@ local_cprop_pass (alter_jumps)
cselib_finish ();
/* Global analysis may get into infinite loops for unreachable blocks. */
if (changed && alter_jumps)
- delete_unreachable_blocks ();
+ {
+ delete_unreachable_blocks ();
+ free_reg_set_mem ();
+ alloc_reg_set_mem (max_reg_num ());
+ compute_sets (get_insns ());
+ }
}
/* Forward propagate copies. This includes copies and constants. Return