On 13-10-22 10:21 AM, David Edelsohn wrote:
On Mon, Oct 21, 2013 at 10:42 PM, Vladimir Makarov <vmaka...@redhat.com> wrote:
I would say lets add -mlra, but make the default OFF for the time being.
We
can always switch the default later.
Sure, if you know some LRA problems it should not be on default. Moreover,
if we still have the problems when releasing gcc4.9, I think we should
exclude any possibility for a user to use LRA for ppc. I don't want to have
GGC-4.9 users blaming LRA.
But adding LRA to PPC on the trunk (switched OFF by default) earlier could
help me a lot to work on the issues.
My main concern was disrupting Mike. If Mike is comfortable with
adding LRA disabled by default, it is okay with me.
The patch mostly adds lra_in_progress, which will not have any effect
while LRA remains disabled.
My one question about the patch is:
- [(set (match_operand:DI 0 "reg_or_mem_operand" "=&r,Z,??&r")
+ [(set (match_operand:DI 0 "reg_or_mem_operand" "=&r,Z,&r")
which may cause register preferencing problems for bswap when LRA is not used.
The rest of the patch is okay.
Thanks, David. I'll commit the patch this week without this change (and
making LRA active only when -mlra is given). The change was for fixing
a testsuite failure for a bad code generation.
It can be fixed in other way not affecting reload by adding a modified
copy of insn definition active only when LRA is used and making the
original definition active only when reload is used. But I'll do it later.