On 02/24/2014 11:11 AM, Zhenqiang Chen wrote: > Please also check the two test cases in patch > https://www.mail-archive.com/gcc-patches@gcc.gnu.org/msg72712.html
Just cheched, they both now pass. Cheers, > > Thanks! > -Zhenqiang > > On 24 February 2014 17:11, Christian Bruel <christian.br...@st.com> wrote: >> This patch improves the one sent previously, >> (http://gcc.gnu.org/ml/gcc-patches/2014-02/msg01159.html), to fix a few >> more failures in the testsuite that could arise with shrink-wrap and >> -fexceptions. >> >> To recall, the problem that it fixes is that with -mapcs-frame : >> >> - the epilogue pops as >> >> sub sp, fp, #12 @ does not set FRAME_RELATED_P >> ldmia sp, {fp, sp, lr} @ XXX assert def_cfa->reg is FP instead >> of SP >> >> - with vrp this is worse, we have >> >> fldmfdd ip!, {d8} @ FRAME_RELATED_P >> sub sp, fp, #20 ... >> ldmfd sp, {r3, r4, fp, sp, pc} @ XXX assert def_cfa->reg is IP >> instead of SP, >> >> Fixed by inserting a REG_CFA_DEF_CFA note, fixing the arm_unwind_emit >> machinery and setting the FRAME_RELATED_P . The comment says : >> >> /* The INSN is generated in epilogue. It is set as RTX_FRAME_RELATED_P >> to get correct dwarf information for shrink-wrap. We should not >> emit unwind information for it because these are used either for >> pretend arguments or notes to adjust sp and restore registers from >> stack. */ >> >> the testsuite score improves without regression (improvements from -g >> and -fexeptions tests) >> >> === gcc Summary for arm-sim//-mapcs-frame === >> >> # of expected passes 77545 >> # of unexpected failures 31 >> # of unexpected successes 2 >> # of expected failures 172 >> # of unsupported tests 1336 >> >> === g++ Summary for arm-sim//-mapcs-frame === >> >> # of expected passes 50116 >> # of unexpected failures 9 >> # of unexpected successes 3 >> # of expected failures 280 >> # of unsupported tests 1229 >> >> instead of >> >> === gcc Summary for arm-sim//-mapcs-frame === >> >> # of expected passes 77106 >> # of unexpected failures 500 >> # of unexpected successes 2 >> # of expected failures 172 >> # of unresolved testcases 111 >> # of unsupported tests 1336 >> >> === g++ Summary for arm-sim//-mapcs-frame === >> >> # of expected passes 50021 >> # of unexpected failures 136 >> # of unexpected successes 3 >> # of expected failures 280 >> # of unsupported tests 1229 >> >> Comments ? OK for trunk ? >> >> Many thanks >> >>