re PR ipa/87706 (Inlined functions trigger invalid -Wmissing-profile warning)
authorJan Hubicka <hubicka@gcc.gnu.org>
Tue, 20 Nov 2018 15:58:37 +0000 (15:58 +0000)
committerJan Hubicka <hubicka@gcc.gnu.org>
Tue, 20 Nov 2018 15:58:37 +0000 (15:58 +0000)
PR ipa/87706
* ipa-fnsummary.c (pass_ipa_fnsummary): Do not remove functions
* ipa.c (possible_inline_candidate_p): Break out from ..
(process_references): ... here ; drop before_inlining_p;
cleanup handling of alises.
(walk_polymorphic_call_targets): Likewise.
(symbol_table::remove_unreachable_nodes): Likewise.
* passes.c (pass_data_ipa_remove_symbols): New structure.
(pass_ipa_remove_symbols): New pass.
(make_pass_ipa_remove_symbols): New function.
* tree-pass.h (make_pass_ipa_remove_symbols): Declare.
* passes.def (pass_ipa_remove_symbols): Schedule after early passes.

From-SVN: r266320

gcc/tree-pass.h

index af15adc8e0cf39246791fd87a50e3f9502eb99a1..2f8779ee4b8bf0656a0624f446d259f2c32cfe65 100644 (file)
@@ -488,6 +488,7 @@ extern simple_ipa_opt_pass *make_pass_ipa_auto_profile (gcc::context *ctxt);
 
 extern simple_ipa_opt_pass *make_pass_build_ssa_passes (gcc::context *ctxt);
 extern simple_ipa_opt_pass *make_pass_local_optimization_passes (gcc::context *ctxt);
+extern simple_ipa_opt_pass *make_pass_ipa_remove_symbols (gcc::context *ctxt);
 
 extern ipa_opt_pass_d *make_pass_ipa_whole_program_visibility (gcc::context
                                                               *ctxt);