aarch64.c (aarch_macro_fusion_pair_p): Don't access prev before checking it for NULLn...
authorAndrew Pinski <apinski@marvell.com>
Tue, 25 Sep 2018 00:12:18 +0000 (00:12 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Tue, 25 Sep 2018 00:12:18 +0000 (17:12 -0700)
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

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index b3d14b95530d82fae355d4b5ee508e2757bbd958..8011490e00cc008dd09018ca26fbcb6e801d7fb0 100644 (file)
@@ -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
index 9c68025e1f19236305ab41b0f7ed0cbfa039d3e1..12f7dfe9a7524793a71d1319bac2f1630b5e1328 100644 (file)
@@ -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