On 10 September 2012 18:47, Zhenqiang Chen <zhenqiang.c...@linaro.org> wrote: > Summary: > * Test shrink-wrap code > > Details: > 1. Add simple_return support in function thumb2_expand_return for > shrink-wrap. Here is the make check status > * One new fail is due to code size increase. We'd disable it when > optimizing function for size on THUMB2. > * Other new fails is due to dwarf info. Root cause is ICE at function > maybe_record_trace_start > > gcc_checking_assert (cfi_row_equal_p (cur_row, ti->beg_row)); > > Here is the failed code segment: > > tst ... L1 > push {r4} > ... > ldr r4, ... > L1: > bx lr // common simple return from two branches.
Hmm, any chance of a conditional return instead in the future? > Here are the results for cur_row and ti->beg_row of trace starting at L1: > > {cfa = {offset = 0, base_offset = 0, reg = 13, indirect = 0, in_use = > 0}, cfa_cfi = 0x0, reg_save = 0x0} > {cfa = {offset = 4, base_offset = 0, reg = 13, indirect = 0, in_use = > 0}, cfa_cfi = 0x0, reg_save = 0x7ffff726ab70} > > Try gcc-linaro-4.5-2011.03. It does not generate the common bx lr. > > test L1 > push {r4} > ... > pop {r4} > bx lr > L1: > bx lr > > There is similar bug about it. But the fix is useless for us: > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50833 > > > Plans: > * Continue shrink-wrap task. > > Best regards! > -Zhenqiang > > _______________________________________________ > linaro-toolchain mailing list > linaro-toolchain@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-toolchain _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain