diff options
author | jamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-18 12:19:04 +0000 |
---|---|---|
committer | jamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-11-18 12:19:04 +0000 |
commit | 8e78b58c2aa924fed285f175b325da48f2f4e631 (patch) | |
tree | 19563ecb01db287412f3fae886d2b7acdfdec5b3 /gcc | |
parent | bf8d19fe6489985566b8ed4c5165079551baea83 (diff) | |
download | gcc-8e78b58c2aa924fed285f175b325da48f2f4e631.tar.gz |
2009-11-18 Martin Jambor <mjambor@suse.cz>
* passes.c (ipa_write_summaries): Call renumber_gimple_stmt_uids
on all nodes we write summaries for.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@154290 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/passes.c | 18 |
2 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0a4b5b68e73..a28276c278c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2009-11-18 Martin Jambor <mjambor@suse.cz> + + * passes.c (ipa_write_summaries): Call renumber_gimple_stmt_uids + on all nodes we write summaries for. + 2009-11-18 Shujing Zhao <pearly.zhao@oracle.com> PR middle-end/22201 diff --git a/gcc/passes.c b/gcc/passes.c index e92d0860bd9..0c39a7a22bb 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -1660,7 +1660,23 @@ ipa_write_summaries (void) gcc_assert (order_pos == cgraph_n_nodes); for (i = order_pos - 1; i >= 0; i--) - cgraph_node_set_add (set, order[i]); + { + struct cgraph_node *node = order[i]; + + if (node->analyzed) + { + /* When streaming out references to statements as part of some IPA + pass summary, the statements need to have uids assigned and the + following does that for all the IPA passes here. Naturally, this + ordering then matches the one IPA-passes get in their stmt_fixup + hooks. */ + + push_cfun (DECL_STRUCT_FUNCTION (node->decl)); + renumber_gimple_stmt_uids (); + pop_cfun (); + } + cgraph_node_set_add (set, node); + } ipa_write_summaries_1 (set); lto_delete_extern_inline_states (); |