aboutsummaryrefslogtreecommitdiff
path: root/gcc/passes.c
diff options
context:
space:
mode:
authorJan Hubicka <hubicka@ucw.cz>2014-11-16 20:36:37 +0100
committerJan Hubicka <hubicka@gcc.gnu.org>2014-11-16 19:36:37 +0000
commit70486010428fdaeabd875022fee05122e9866424 (patch)
tree764c758c25d54ae7dff3cb061662445a47d38b28 /gcc/passes.c
parent9ff2f666aa330107eb6767c246b9d302247359c9 (diff)
downloadgcc-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.c30
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 : "");