aboutsummaryrefslogtreecommitdiff
path: root/gcc/sched-deps.c
diff options
context:
space:
mode:
authorJoern Rennecke <joern.rennecke@embecosm.com>2019-04-05 15:01:01 +0000
committerJoern Rennecke <amylaar@gcc.gnu.org>2019-04-05 16:01:01 +0100
commite36710207c4a3dd6215359e5a94e169fc110e87b (patch)
tree90f167a048e0ab2b4bd6fe023feef50b9e435ae6 /gcc/sched-deps.c
parent05564120c6b6e3850faa3586824c298f76cc3985 (diff)
downloadgcc-e36710207c4a3dd6215359e5a94e169fc110e87b.zip
gcc-e36710207c4a3dd6215359e5a94e169fc110e87b.tar.gz
gcc-e36710207c4a3dd6215359e5a94e169fc110e87b.tar.bz2
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
Diffstat (limited to 'gcc/sched-deps.c')
-rw-r--r--gcc/sched-deps.c16
1 files changed, 9 insertions, 7 deletions
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;
+ }
}
}