aboutsummaryrefslogtreecommitdiff
path: root/gcc
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
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')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/sched-deps.c16
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 <joern.rennecke@embecosm.com>
+
+ * sched-deps.c (sched_macro_fuse_insns): Check return value of
+ targetm.fixed_condition_code_regs.
+
2019-04-05 Richard Biener <rguenther@suse.de>
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;
+ }
}
}