Hi,

here is a status of LRA on ARM, after Vladimir's patch and a rebase of
my branch:

AArch64:

No more issues in the testsuite, the libstdc++ ones weren't LRA
specific, they happened at the pass manager level and due to PCH
inclusion, but were fixed with the trunk update. Thus, I'll post a
patch to enable LRA on AArch64, but it is still needed to have the RTL
analyser patch accepted.

AArch32:

No more issues in libstdc++ as well (same as reasons as AArch64), and
only 3 failures in the testsuite:
- The first one is invalid as the test sans the assembler for
"ldaex\tr\[0-9\]+..." and it fails because with LRA the chosen
register is r12 and thus the instruction is "ldaex  ip,..."
- The two others are the same bug where LRA keeps some REG_NOTES (DEAD
and UNUSED) on a comparison pattern where reload removes then, and the
results is that the comparison is removed.  I'm currently working on
this issue.
- Thumb still doesn't bootstrap.

Thanks,
Yvan


On 11 September 2013 20:57, Yvan Roux <yvan.r...@linaro.org> wrote:
>> Yeah, good point.  TBH I prefer it with separate ifs though, because the
>> three cases are dealing with three different types of rtl (unary, binary
>> and ternary).  But I don't mind much either way.
>
> Ok, it's fine for me too.
>
>> The new patch looks good to me, thanks.  Just one minor style nit:
>> "return false" rather than "return 0" for the bool.  Maybe also change:
>>
>>         /* Bitfield operations [SIGN|ZERO]_EXTRACT from the least significant
>>            bit can be used too.  */
>>
>> to something like:
>>
>>         /* A [SIGN|ZERO]_EXTRACT from the least significant bit effectively
>>            acts as a combined truncation and extension.  */
>
> Yeah, its clearer.  I'll post the new patch in the other thread.
>
>> I really will try to make that my last comment and leave things open
>> for an official review :-)
>
> :-) once again many thanks for your help Richard.
>
> Cheers,
> Yvan

Reply via email to