https://gcc.gnu.org/g:53fb5a1a98a2d72ada7786f28e94a724916a39b1
commit r16-873-g53fb5a1a98a2d72ada7786f28e94a724916a39b1 Author: Kugan Vivekanandarajah <kvivekana...@nvidia.com> Date: Mon May 26 10:52:45 2025 +1000 [AUTOFDO] Enable ipa-split for auto-profile ipa-split is not now run for auto-profile. IMO this was an oversight. This patch enables it similar to PGO runs. gcc/ChangeLog: * ipa-split.cc (pass_feedback_split_functions::clone): New. * passes.def: Enable pass_feedback_split_functions for pass_ipa_auto_profile. Signed-off-by: Kugan Vivekanandarajah <kvivekana...@nvidia.com> Diff: --- gcc/ipa-split.cc | 4 ++++ gcc/passes.def | 3 +++ 2 files changed, 7 insertions(+) diff --git a/gcc/ipa-split.cc b/gcc/ipa-split.cc index 729fb79af52c..933ca16c9469 100644 --- a/gcc/ipa-split.cc +++ b/gcc/ipa-split.cc @@ -1992,6 +1992,10 @@ public: return execute_feedback_split_functions (); } + opt_pass * clone () final override + { + return new pass_feedback_split_functions (m_ctxt); + } }; // class pass_feedback_split_functions bool diff --git a/gcc/passes.def b/gcc/passes.def index 3b251052e53a..0f7a65926990 100644 --- a/gcc/passes.def +++ b/gcc/passes.def @@ -140,6 +140,9 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_target_clone); NEXT_PASS (pass_ipa_auto_profile); + PUSH_INSERT_PASSES_WITHIN (pass_ipa_auto_profile) + NEXT_PASS (pass_feedback_split_functions); + POP_INSERT_PASSES () NEXT_PASS (pass_ipa_tree_profile); PUSH_INSERT_PASSES_WITHIN (pass_ipa_tree_profile) NEXT_PASS (pass_feedback_split_functions);