[PATCH, ARM] ICE when building kernel raid6 neon code

Zhenqiang Chen zhenqiang.chen@linaro.org
Thu Jan 16 05:44:00 GMT 2014


Thanks for comments.

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59837

The patch with a test case is attached.

ChangeLog:
2014-01-16  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

    PR target/59837
    * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Do not add
    REG_CFA_ADJUST_CFA NOTE if shrink-wrap is not enabled.

testsuite/ChangeLog:
2014-01-16  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

    * gcc.target/arm/pr59837.c: New testcase.

On 15 January 2014 19:56, Ramana Radhakrishnan
<Ramana.Radhakrishnan@arm.com> wrote:
> Please also create a bugzilla entry for this and use the pr number here.
>
> Ramana
>
>
> Sent from Samsung Mobile
>
>
>
> -------- Original message --------
> From: Zhenqiang Chen <zhenqiang.chen@linaro.org>
> Date:
> To: gcc-patches@gcc.gnu.org
> Cc: Richard Earnshaw <Richard.Earnshaw@arm.com>,Ramana Radhakrishnan
> <Ramana.Radhakrishnan@arm.com>
> Subject: [PATCH, ARM] ICE when building kernel raid6 neon code
>
>
> Hi,
>
> The patch fixes ICE when building kernel raid6 neon code.
>
> lib/raid6/neon4.c: In function 'raid6_
>
> neon4_gen_syndrome_real':
> lib/raid6/neon4.c:113:1: internal compiler error: in
> dwarf2out_frame_debug_adjust_cfa, at dwarf2cfi.c:1090
>  }
>
> https://bugs.launchpad.net/gcc-linaro/+bug/1268893
>
> Root cause:
> When expanding epilogue, REG_CFA_ADJUST_CFA NOTE is added to handle
> dwarf info issue for shrink-wrap. But for TARGET_APCS_FRAME,
> shrink-wrap is disabled. And not all dwarf info in
> arm_expand_epilogue_apcs_frame are correctly updated.
> arm_emit_vfp_multi_reg_pop is called by both
> arm_expand_epilogue_apcs_frame and arm_expand_epilogue. So we should
> not add the NOTE in arm_emit_vfp_multi_reg_pop if shrink-wrap is not
> enabled.
>
> Boot strap and no make check regression on ARM Chromebook.
>
> OK for trunk?
>
> Thanks!
> -Zhenqiang
>
> ChangeLog:
> 2014-01-15  Zhenqiang Chen  <zhenqiang.chen@linaro.org>
>
>         * config/arm/arm.c (arm_emit_vfp_multi_reg_pop): Do not add
>         REG_CFA_ADJUST_CFA NOTE if shrink-wrap is not enabled.
>
> diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
> index 18196b3..1ccb796 100644
> --- a/gcc/config/arm/arm.c
> +++ b/gcc/config/arm/arm.c
> @@ -19890,8 +19890,12 @@ arm_emit_vfp_multi_reg_pop (int first_reg,
> int num_regs, rtx base_reg)
>    par = emit_insn (par);
>    REG_NOTES (par) = dwarf;
>
> -  arm_add_cfa_adjust_cfa_note (par, 2 * UNITS_PER_WORD * num_regs,
> -                              base_reg, base_reg);
> +  /* REG_CFA_ADJUST_CFA NOTE is added to handle dwarf info issue when
> +     shrink-wrap is enabled.  So when shrink-wrap is not enabled, we should
> +     not add the note.  */
> +  if (flag_shrink_wrap)
> +    arm_add_cfa_adjust_cfa_note (par, 2 * UNITS_PER_WORD * num_regs,
> +                                base_reg, base_reg);
>  }
>
>  /* Generate and emit a pattern that will be recognized as LDRD
> pattern.  If even
>
>
> -- IMPORTANT NOTICE: The contents of this email and any attachments are
> confidential and may also be privileged. If you are not the intended
> recipient, please notify the sender immediately and do not disclose the
> contents to any other person, use it for any purpose, or store or copy the
> information in any medium. Thank you.
>
> ARM Limited, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
> Registered in England & Wales, Company No: 2557590
> ARM Holdings plc, Registered office 110 Fulbourn Road, Cambridge CB1 9NJ,
> Registered in England & Wales, Company No: 2548782
-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr59837.patch
Type: text/x-patch
Size: 3571 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20140116/11d6c9d3/attachment.bin>


More information about the Gcc-patches mailing list