On 22 July 2013 17:56, Eric Botcazou <ebotca...@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.c...@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.c...@linaro.org> * gcc.target/arm/pr57637.c: New added. Is it OK? Thanks! -Zhenqiang
pr57637-updated2.patch
Description: Binary data