diff options
author | Jan Hubicka <jh@suse.cz> | 2010-04-21 23:58:50 +0200 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2010-04-21 21:58:50 +0000 |
commit | bc58d7e1bd3aebc1fa0ad81c9ee6b2eddfd89c79 (patch) | |
tree | 1322de7c8a1c5d0b32a7b386725bce3c024e3502 /gcc/passes.c | |
parent | 2b65cd83e9a09a18d44984ca261b40b84d2eaeab (diff) | |
download | gcc-bc58d7e1bd3aebc1fa0ad81c9ee6b2eddfd89c79.zip gcc-bc58d7e1bd3aebc1fa0ad81c9ee6b2eddfd89c79.tar.gz gcc-bc58d7e1bd3aebc1fa0ad81c9ee6b2eddfd89c79.tar.bz2 |
timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
* timevar.def (TV_WHOPR_WPA_FIXUP): Remove.
* lto-section-in.c (lto_section_name): Remove wpa_fixup.
* lto-wpa-fixup.c: Remove.
* Makefile.in (lto-wpa-fixup.o): Remove.
* passes.c (init_optimization_passes): Remove pass_ipa_lto_wpa_fixup.
(execute_all_ipa_transforms): Set cgraph_state to CGRAPH_STATE_IPA_SSA.
* lto-streamer.c (lto_get_section_name): Remove wpa_fixup section.
* lto.c (lto_fixup_tree): Do not call wpa fixup.
(materialize_cgraph): Likewise.
From-SVN: r158622
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index d9bf3cc..0c93ef6 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -814,7 +814,6 @@ init_optimization_passes (void) p = &all_lto_gen_passes; NEXT_PASS (pass_ipa_lto_gimple_out); - NEXT_PASS (pass_ipa_lto_wpa_fixup); NEXT_PASS (pass_ipa_lto_finish_out); /* This must be the last LTO pass. */ *p = NULL; @@ -1487,10 +1486,20 @@ execute_one_ipa_transform_pass (struct cgraph_node *node, void execute_all_ipa_transforms (void) { + enum cgraph_state old_state = cgraph_state; struct cgraph_node *node; if (!cfun) return; node = cgraph_node (current_function_decl); + + /* Statement verification skip verification of nothorw when + state is IPA_SSA because we do not modify function bodies + after setting the flag on function. Instead we leave it + to fixup_cfg to do such a transformation. We need to temporarily + change the cgraph state so statement verifier before + transform do not fire. */ + cgraph_state = CGRAPH_STATE_IPA_SSA; + if (node->ipa_transforms_to_apply) { unsigned int i; @@ -1504,6 +1513,7 @@ execute_all_ipa_transforms (void) VEC_free (ipa_opt_pass, heap, node->ipa_transforms_to_apply); node->ipa_transforms_to_apply = NULL; } + cgraph_state = old_state; } /* Execute PASS. */ |