https://gcc.gnu.org/g:7611357dc551d72a9072487d4b75cbb9e3048cc9

commit 7611357dc551d72a9072487d4b75cbb9e3048cc9
Author: Andrew Pinski <[email protected]>
Date:   Sat Sep 6 15:24:00 2025 -0700

    dep_fusion: Fix if target does not have macro fusion [PR121835]
    
    This new pass will ICE if the target does not define the macro_fusion_pair_p
    pass. The pass will not be useful in that case so it is best to return
    early.
    
    Pushed as obvious after a bootstrap on x86_64-linux-gnu.
    
            PR rtl-optimization/121835
    gcc/ChangeLog:
    
            * dep-fusion.cc (pass_dep_fusion::execute): Return early if
            macro_fusion_pair_p is null.
    
    Signed-off-by: Andrew Pinski <[email protected]>
    (cherry picked from commit 7b8c45d48f7fca3c10d43ca3f95e28b64458cf2b)

Diff:
---
 gcc/dep-fusion.cc | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/gcc/dep-fusion.cc b/gcc/dep-fusion.cc
index 1e69e68dd876..d040af6991ef 100644
--- a/gcc/dep-fusion.cc
+++ b/gcc/dep-fusion.cc
@@ -75,6 +75,10 @@ pass_dep_fusion::gate (function *)
 unsigned int
 pass_dep_fusion::execute (function *fn)
 {
+  // If the target has no macro fusion, there is nothing to be done.
+  if (!targetm.sched.macro_fusion_pair_p)
+    return 0;
+
   // Initialization.
   calculate_dominance_info (CDI_DOMINATORS);
   df_analyze ();

Reply via email to