diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2014-11-16 20:36:37 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2014-11-16 19:36:37 +0000 |
commit | 70486010428fdaeabd875022fee05122e9866424 (patch) | |
tree | 764c758c25d54ae7dff3cb061662445a47d38b28 /gcc/passes.c | |
parent | 9ff2f666aa330107eb6767c246b9d302247359c9 (diff) | |
download | gcc-70486010428fdaeabd875022fee05122e9866424.zip gcc-70486010428fdaeabd875022fee05122e9866424.tar.gz gcc-70486010428fdaeabd875022fee05122e9866424.tar.bz2 |
passes.c (execute_one_pass): Do not apply all transforms prior every simple IPA pass.
* passes.c (execute_one_pass): Do not apply all transforms prior
every simple IPA pass.
* cgraphunit.c: Do not include fibheap.h
(expand_thunk): Use get_untransformed_body.
(cgraph_node::expand): Likewise.
* tree-ssa-structalias.c (ipa_pta_execute): Skip inline clones.
* cgraph.c (release_function_body): Do not push cfun when CFG is not there.
(cgraph_node::get_untransformed_body): Break out from ...
(cgraph_node::get_body): ... here; add code to apply all transforms.
* cgraph.h (cgraph_node): Add get_untransformed_body.
* ipa-icf.c (sem_function::init): Use get_untransformed_body.
* cgraphclones.c (duplicate_thunk_for_node): Likewise.
* tree-inline.c (expand_call_inline): LIkewise.
* i386.c (ix86_reset_to_default_globals): Break out from ...
(ix86_set_current_function): ... here;
(ix86_reset_previous_fndecl): Use it.
(ix86_simd_clone_adjust): Use ix86_reset_previous_fndecl.
From-SVN: r217633
Diffstat (limited to 'gcc/passes.c')
-rw-r--r-- | gcc/passes.c | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/gcc/passes.c b/gcc/passes.c index aa40fe5..c818d8a 100644 --- a/gcc/passes.c +++ b/gcc/passes.c @@ -2214,36 +2214,6 @@ execute_one_pass (opt_pass *pass) executed. */ invoke_plugin_callbacks (PLUGIN_PASS_EXECUTION, pass); - /* SIPLE IPA passes do not handle callgraphs with IPA transforms in it. - Apply all trnasforms first. */ - if (pass->type == SIMPLE_IPA_PASS) - { - struct cgraph_node *node; - bool applied = false; - FOR_EACH_DEFINED_FUNCTION (node) - if (node->analyzed - && node->has_gimple_body_p () - && (!node->clone_of || node->decl != node->clone_of->decl)) - { - if (!node->global.inlined_to - && node->ipa_transforms_to_apply.exists ()) - { - node->get_body (); - push_cfun (DECL_STRUCT_FUNCTION (node->decl)); - execute_all_ipa_transforms (); - cgraph_edge::rebuild_edges (); - free_dominance_info (CDI_DOMINATORS); - free_dominance_info (CDI_POST_DOMINATORS); - pop_cfun (); - applied = true; - } - } - if (applied) - symtab->remove_unreachable_nodes (false, dump_file); - /* Restore current_pass. */ - current_pass = pass; - } - if (!quiet_flag && !cfun) fprintf (stderr, " <%s>", pass->name ? pass->name : ""); |