From e36710207c4a3dd6215359e5a94e169fc110e87b Mon Sep 17 00:00:00 2001 From: Joern Rennecke Date: Fri, 5 Apr 2019 15:01:01 +0000 Subject: [PATCH] sched-deps.c (sched_macro_fuse_insns): Check return value of targetm.fixed_condition_code_regs. * sched-deps.c (sched_macro_fuse_insns): Check return value of targetm.fixed_condition_code_regs. From-SVN: r270167 --- gcc/ChangeLog | 5 +++++ gcc/sched-deps.c | 16 +++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 53b58ef..f407578 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2019-04-05 Joern Rennecke + + * sched-deps.c (sched_macro_fuse_insns): Check return value of + targetm.fixed_condition_code_regs. + 2019-04-05 Richard Biener PR debug/89892 diff --git a/gcc/sched-deps.c b/gcc/sched-deps.c index eda0c66..28b9d38 100644 --- a/gcc/sched-deps.c +++ b/gcc/sched-deps.c @@ -2857,14 +2857,16 @@ sched_macro_fuse_insns (rtx_insn *insn) { unsigned int condreg1, condreg2; rtx cc_reg_1; - targetm.fixed_condition_code_regs (&condreg1, &condreg2); - cc_reg_1 = gen_rtx_REG (CCmode, condreg1); - if (reg_referenced_p (cc_reg_1, PATTERN (insn)) - && modified_in_p (cc_reg_1, prev)) + if (targetm.fixed_condition_code_regs (&condreg1, &condreg2)) { - if (targetm.sched.macro_fusion_pair_p (prev, insn)) - SCHED_GROUP_P (insn) = 1; - return; + cc_reg_1 = gen_rtx_REG (CCmode, condreg1); + if (reg_referenced_p (cc_reg_1, PATTERN (insn)) + && modified_in_p (cc_reg_1, prev)) + { + if (targetm.sched.macro_fusion_pair_p (prev, insn)) + SCHED_GROUP_P (insn) = 1; + return; + } } } -- 2.7.4