[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] dep_fusion: Fix if target does not have macro fusion [PR121835]
Jeff Law
law@gcc.gnu.org
Sat Sep 13 16:31:07 GMT 2025
https://gcc.gnu.org/g:268c33d15ac4184f05e48cf3fea6c6c34471e2f2
commit 268c33d15ac4184f05e48cf3fea6c6c34471e2f2
Author: Andrew Pinski <andrew.pinski@oss.qualcomm.com>
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 <andrew.pinski@oss.qualcomm.com>
(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 ();
More information about the Gcc-cvs
mailing list