diff options
author | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-03-05 17:20:26 +0000 |
---|---|---|
committer | aldyh <aldyh@138bc75d-0d04-0410-961f-82ee72b054a4> | 2008-03-05 17:20:26 +0000 |
commit | d03ba86f0cc373f30e8838c73e598cc767491b92 (patch) | |
tree | 581bbd0f679ef1aaf0ad42e7d8f0b56620d3e34a /gcc/cfg.c | |
parent | 7dfd128a2ffae583f0348aabdabb7eab57d6d6f3 (diff) | |
download | gcc-d03ba86f0cc373f30e8838c73e598cc767491b92.tar.gz |
* cfg.c: Include tree-flow.h.
(remove_edge_raw): Call redirect_edge_var_map_clear.
(redirect_edge_succ_nodup): Call redirect_edge_var_map_dup.
* tree-flow-inline.h (redirect_edge_var_map_def): New.
(redirect_edge_var_map_result): New.
* tree-cfgcleanup.c (remove_forwarder_block_with_phi): Replace
PENDING_STMT use with redirect_edge_var_map_*.
* tree-ssa.c (edge_var_maps): New definition.
(redirect_edge_var_map_add): New.
(redirect_edge_var_map_clear): New.
(redirect_edge_var_map_dup): New.
(redirect_edge_var_map_vector): New.
(redirect_edge_var_map_destroy): New.
(ssa_redirect_edge): Replace PENDING_STMT use with
redirect_edge_var_map_*.
(flush_pending_stmts): Same.
(delete_tree_ssa): Destroy edge var map.
* tree-flow.h (struct _edge_var_map): New.
Define edge_var_map vector type.
Declare redirect_edge_var_map_* prototypes.
* Makefile.in (cfg.o): Depend on TREE_FLOW_H.
* tree-cfg.c (reinstall_phi_args): Replace
PENDING_STMT use with redirect_edge_var_map_*.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@132903 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cfg.c')
-rw-r--r-- | gcc/cfg.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/cfg.c b/gcc/cfg.c index 8a83137aaa5..fe8dba984cf 100644 --- a/gcc/cfg.c +++ b/gcc/cfg.c @@ -67,6 +67,7 @@ along with GCC; see the file COPYING3. If not see #include "alloc-pool.h" #include "df.h" #include "cfgloop.h" +#include "tree-flow.h" /* The obstack on which the flow graph components are allocated. */ @@ -359,6 +360,9 @@ remove_edge_raw (edge e) disconnect_src (e); disconnect_dest (e); + /* This is probably not needed, but it doesn't hurt. */ + redirect_edge_var_map_clear (e); + free_edge (e); } @@ -395,6 +399,7 @@ redirect_edge_succ_nodup (edge e, basic_block new_succ) s->probability = REG_BR_PROB_BASE; s->count += e->count; remove_edge (e); + redirect_edge_var_map_dup (s, e); e = s; } else |