diff options
author | Richard Biener <rguenther@suse.de> | 2013-09-06 07:24:11 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2013-09-06 07:24:11 +0000 |
commit | c8e9d8c3465954947924050f77c899626631f15d (patch) | |
tree | a8acf76c03845d011a108b0a59783c1a9c395538 /gcc/basic-block.h | |
parent | d1576de517f65cd51b786bb0ef9e53225da12b8e (diff) | |
download | gcc-c8e9d8c3465954947924050f77c899626631f15d.zip gcc-c8e9d8c3465954947924050f77c899626631f15d.tar.gz gcc-c8e9d8c3465954947924050f77c899626631f15d.tar.bz2 |
basic-block.h (class control_dependences): New.
2013-09-06 Richard Biener <rguenther@suse.de>
* basic-block.h (class control_dependences): New.
* tree-ssa-dce.c (control_dependence_map): Remove.
(cd): New global.
(EXECUTE_IF_CONTROL_DEPENDENT): Remove.
(set_control_dependence_map_bit, clear_control_dependence_bitmap,
find_pdom, find_control_dependence, find_all_control_dependences):
Move to cfganal.c.
(mark_control_dependent_edges_necessary, find_obviously_necessary_stmts,
propagate_necessity, tree_dce_init, tree_dce_done,
perform_tree_ssa_dce): Adjust.
* cfganal.c (set_control_dependence_map_bit,
clear_control_dependence_bitmap, find_pdom, find_control_dependence,
find_all_control_dependences): Move from tree-ssa-dce.c and
implement as methods of control_dependences class.
(control_dependences::control_dependences): New.
(control_dependences::~control_dependences): Likewise.
(control_dependences::get_edges_dependent_on): Likewise.
(control_dependences::get_edge): Likewise.
From-SVN: r202309
Diffstat (limited to 'gcc/basic-block.h')
-rw-r--r-- | gcc/basic-block.h | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 4317455..ad04d4d 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -465,6 +465,23 @@ struct edge_list edge *index_to_edge; }; +/* Class to compute and manage control dependences on an edge-list. */ +class control_dependences +{ +public: + control_dependences (edge_list *); + ~control_dependences (); + bitmap get_edges_dependent_on (int); + edge get_edge (int); + +private: + void set_control_dependence_map_bit (basic_block, int); + void clear_control_dependence_bitmap (basic_block); + void find_control_dependence (int); + vec<bitmap> control_dependence_map; + edge_list *el; +}; + /* The base value for branch probability notes and edge probabilities. */ #define REG_BR_PROB_BASE 10000 |