This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix pr57637


On 22 July 2013 17:56, Eric Botcazou <ebotcazou@adacore.com> wrote:
>> The patch is updated based the comments: it will check GEN set of LIVE
>> if df_live exists. Otherwise, just give up.
>
> The patch is missing a ChangeLog.  Otherwise it looks good, modulo:
>
> +         /* DF_LR_BB_INFO (bb)->def does not kill the DF_REF_PARTIAL and
> +            DF_REF_CONDITIONAL defs.  So if DF_LIVE doesn't exist, i.e.
>
> "does not comprise"
>
> + at -O1, just give up to search NEXT_BLOCK
>
> "just give up searching"

Updated.

> I'm not sure this matters in practice, but don't we need to set the appropriate
> bit in the GEN set of BB at the end of the function if df_live is non-zero, at
> least for the sake of consistency?

And if df_live is non-zero, do we need update df_lr's IN and OUT? I think we
need another patch to make all these consistency.

>> And a testcase is included in the attached patch.
>
> Thanks.  We generally try to make the testcases self-contained, i.e. remove the
> #include's as much as possible.  It seems that stdlib.h is included for abort;
> if so, remove it and use __builtin_abort instead.  Would it be possible to
> remove stdio.h as well?

Update abort to __builtin_abort and malloc to __builtin_malloc. And
remove all the include.

ChangeLog
2013-07-22  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

        * function.c (move_insn_for_shrink_wrap): check gen of df_live if it
        exists, otherwise (-O1) give up searching.

gcc/testsuite/ChangeLog
2013-07-22  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

        * gcc.target/arm/pr57637.c: New added.

Is it OK?

Thanks!
-Zhenqiang

Attachment: pr57637-updated2.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]