aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAndrew Pinski <apinski@marvell.com>2018-09-25 00:12:18 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2018-09-24 17:12:18 -0700
commitf8a27206853f8c0ed76feed9bbf77d1c598242c7 (patch)
tree98526258cf31805fda85e8d6b29b9aabb44ee631 /gcc
parent44eb8fa73bb53afa17e4d72b1c073d0e08a76866 (diff)
downloadgcc-f8a27206853f8c0ed76feed9bbf77d1c598242c7.zip
gcc-f8a27206853f8c0ed76feed9bbf77d1c598242c7.tar.gz
gcc-f8a27206853f8c0ed76feed9bbf77d1c598242c7.tar.bz2
aarch64.c (aarch_macro_fusion_pair_p): Don't access prev before checking it for NULLness in the...
2018-09-24 Andrew Pinski <apinski@marvell.com> * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Don't access prev before checking it for NULLness in the AARCH64_FUSE_CMP_BRANCH case. From-SVN: r264548
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/aarch64/aarch64.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index b3d14b9..8011490 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2018-09-24 Andrew Pinski <apinski@marvell.com>
+
+ * config/aarch64/aarch64.c (aarch_macro_fusion_pair_p): Don't
+ access prev before checking it for NULLness in the
+ AARCH64_FUSE_CMP_BRANCH case.
+
2018-09-24 H.J. Lu <hongjiu.lu@intel.com>
PR target/82699
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c
index 9c68025..12f7dfe 100644
--- a/gcc/config/aarch64/aarch64.c
+++ b/gcc/config/aarch64/aarch64.c
@@ -16510,8 +16510,6 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr)
if (aarch64_fusion_enabled_p (AARCH64_FUSE_CMP_BRANCH)
&& any_condjump_p (curr))
{
- enum attr_type prev_type = get_attr_type (prev);
-
unsigned int condreg1, condreg2;
rtx cc_reg_1;
aarch64_fixed_condition_code_regs (&condreg1, &condreg2);
@@ -16521,6 +16519,8 @@ aarch_macro_fusion_pair_p (rtx_insn *prev, rtx_insn *curr)
&& prev
&& modified_in_p (cc_reg_1, prev))
{
+ enum attr_type prev_type = get_attr_type (prev);
+
/* FIXME: this misses some which is considered simple arthematic
instructions for ThunderX. Simple shifts are missed here. */
if (prev_type == TYPE_ALUS_SREG