diff options
author | Jan Hubicka <jh@suse.cz> | 2006-12-20 10:09:50 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2006-12-20 09:09:50 +0000 |
commit | 68e56cc4a27bff0dab7f2fc3bcf8353583771f98 (patch) | |
tree | 21dd0c062d62565d1fbbf16f1fd779965b554ca6 /gcc/ipa-reference.c | |
parent | 7954dc21214b87ad8b3cf26994af00f968fcba78 (diff) | |
download | gcc-68e56cc4a27bff0dab7f2fc3bcf8353583771f98.tar.gz |
cgraph.h (FOR_EACH_STATIC_VARIABLE, [...]): New macros.
* cgraph.h (FOR_EACH_STATIC_VARIABLE, FOR_EACH_STATIC_INITIALIZER): New
macros.
(varpool_first_static_initializer, varpol_next_static_initializer): New
inline functions.
* ipa-reference.c (analyze_variable): Simplify.
(static_execute): Use FOR_EACH_STATIC_INITIALIZER.
* ipa-type-escape.c (type_escape_execute): Use FOR_EACH_STATIC_VARIABLE.
From-SVN: r120070
Diffstat (limited to 'gcc/ipa-reference.c')
-rw-r--r-- | gcc/ipa-reference.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/gcc/ipa-reference.c b/gcc/ipa-reference.c index 521c84c6424..8602afda0b0 100644 --- a/gcc/ipa-reference.c +++ b/gcc/ipa-reference.c @@ -774,13 +774,8 @@ static void analyze_variable (struct varpool_node *vnode) { tree global = vnode->decl; - if (TREE_CODE (global) == VAR_DECL) - { - if (DECL_INITIAL (global)) - walk_tree (&DECL_INITIAL (global), scan_for_static_refs, - NULL, visited_nodes); - } - else gcc_unreachable (); + walk_tree (&DECL_INITIAL (global), scan_for_static_refs, + NULL, visited_nodes); } /* This is the main routine for finding the reference patterns for @@ -903,7 +898,7 @@ static_execute (void) ipa_init (); /* Process all of the variables first. */ - for (vnode = varpool_nodes_queue; vnode; vnode = vnode->next_needed) + FOR_EACH_STATIC_INITIALIZER (vnode) analyze_variable (vnode); /* Process all of the functions next. |