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
This commit is contained in:
Andrew Pinski 2018-09-25 00:12:18 +00:00 committed by Andrew Pinski
parent 44eb8fa73b
commit f8a2720685
2 changed files with 8 additions and 2 deletions

View 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

View 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