On 11 September 2012 10:34, Zhenqiang Chen <zhenqiang.c...@linaro.org> wrote: > On 11 September 2012 09:46, Michael Hope <michael.h...@linaro.org> wrote: >> 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? > > ARM mode had supported conditional return. We can update current > patterns or add new instruction patterns to support it for THUMB mode. > I will work on it later.
Just have a try. In THUMB mode, conditional instruction should be in IT block. To support conditional return, we have to generate an IT block. In this case, one more instruction is added for the fall through path. Thanks! -Zhenqiang _______________________________________________ linaro-toolchain mailing list linaro-toolchain@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-toolchain