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

Reply via email to