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
>>
>>

Reply via email to