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);

Reply via email to