diff options
author | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-26 18:06:38 +0000 |
---|---|---|
committer | rakdver <rakdver@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-07-26 18:06:38 +0000 |
commit | edfe0dbf0d61f42f48dc544b35c45687cbe1e9b0 (patch) | |
tree | e691ad2d1c68ced9688625a401830f3a64cc09f0 /gcc | |
parent | be429d54aa868e7f0ae64bf9efe09da13d1c66d3 (diff) | |
download | gcc-edfe0dbf0d61f42f48dc544b35c45687cbe1e9b0.tar.gz |
* dominance.c (dom_computed, n_bbs_in_dom_tree): Removed.
* function.h (dom_computed, n_bbs_in_dom_tree): New macros.
* basic-block.h (struct control_flow_graph): Added x_dom_computed
and x_n_bbs_in_dom_tree fields.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@126960 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/basic-block.h | 22 | ||||
-rw-r--r-- | gcc/dominance.c | 6 | ||||
-rw-r--r-- | gcc/function.h | 2 |
4 files changed, 24 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 7a82b3a8d51..df8646210d8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2007-07-26 Zdenek Dvorak <dvorakz@suse.cz> + + * dominance.c (dom_computed, n_bbs_in_dom_tree): Removed. + * function.h (dom_computed, n_bbs_in_dom_tree): New macros. + * basic-block.h (struct control_flow_graph): Added x_dom_computed + and x_n_bbs_in_dom_tree fields. + 2007-07-26 Steve Ellcey <sje@cup.hp.com> PR tree-optimization/32087 diff --git a/gcc/basic-block.h b/gcc/basic-block.h index 299df874560..f8920b9e45a 100644 --- a/gcc/basic-block.h +++ b/gcc/basic-block.h @@ -348,6 +348,15 @@ enum bb_flags #define BB_COPY_PARTITION(dstbb, srcbb) \ BB_SET_PARTITION (dstbb, BB_PARTITION (srcbb)) +/* State of dominance information. */ + +enum dom_state +{ + DOM_NONE, /* Not computed at all. */ + DOM_NO_FAST_QUERY, /* The data is OK, but the fast query data are not usable. */ + DOM_OK /* Everything is ok. */ +}; + /* A structure to group all the per-function control flow graph data. The x_* prefixing is necessary because otherwise references to the fields of this struct are interpreted as the defines for backward @@ -380,6 +389,12 @@ struct control_flow_graph GTY(()) PROFILE_GUESSED, PROFILE_READ } x_profile_status; + + /* Whether the dominators and the postdominators are available. */ + enum dom_state x_dom_computed[2]; + + /* Number of basic blocks in the dominance tree. */ + unsigned x_n_bbs_in_dom_tree[2]; }; /* Defines for accessing the fields of the CFG structure for function FN. */ @@ -887,13 +902,6 @@ enum cdi_direction CDI_POST_DOMINATORS = 2 }; -enum dom_state -{ - DOM_NONE, /* Not computed at all. */ - DOM_NO_FAST_QUERY, /* The data is OK, but the fast query data are not usable. */ - DOM_OK /* Everything is ok. */ -}; - extern enum dom_state dom_info_state (enum cdi_direction); extern void set_dom_info_availability (enum cdi_direction, enum dom_state); extern bool dom_info_available_p (enum cdi_direction); diff --git a/gcc/dominance.c b/gcc/dominance.c index 12f74fffdfe..a67cb37cd09 100644 --- a/gcc/dominance.c +++ b/gcc/dominance.c @@ -47,9 +47,6 @@ #include "pointer-set.h" #include "graphds.h" -/* Whether the dominators and the postdominators are available. */ -static enum dom_state dom_computed[2]; - /* We name our nodes with integers, beginning with 1. Zero is reserved for 'undefined' or 'end of list'. The name of each node is given by the dfs number of the corresponding basic block. Please note, that we include the @@ -125,9 +122,6 @@ static void calc_idoms (struct dom_info *, bool); void debug_dominance_info (enum cdi_direction); void debug_dominance_tree (enum cdi_direction, basic_block); -/* Keeps track of the*/ -static unsigned n_bbs_in_dom_tree[2]; - /* Helper macro for allocating and initializing an array, for aesthetic reasons. */ #define init_ar(var, type, num, content) \ diff --git a/gcc/function.h b/gcc/function.h index e9eaf1f2287..7de484c2814 100644 --- a/gcc/function.h +++ b/gcc/function.h @@ -534,6 +534,8 @@ extern int trampolines_created; #define nonlocal_goto_handler_labels (cfun->x_nonlocal_goto_handler_labels) #define rtl_df (cfun->df) #define current_loops (cfun->x_current_loops) +#define dom_computed (cfun->cfg->x_dom_computed) +#define n_bbs_in_dom_tree (cfun->cfg->x_n_bbs_in_dom_tree) #define VALUE_HISTOGRAMS(fun) (fun)->value_histograms /* Given a function decl for a containing function, |