This is the mail archive of the
mailing list for the GCC project.
Re: Fix selective scheduling failures on power6 [1/3]
- From: Vladimir Makarov <vmakarov at redhat dot com>
- To: Andrey Belevantsev <abel at ispras dot ru>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Wed, 22 Apr 2009 16:17:09 -0400
- Subject: Re: Fix selective scheduling failures on power6 [1/3]
- References: <48E0F439.email@example.com> <48E0F62F.firstname.lastname@example.org>
Andrey Belevantsev wrote:
Hello,Andrey, the patch is ok to commit into the mainline.
This patch fixes a failure when compiling perl from SPEC CPU2k. The
problem was that when the chosen destination register for an
expression is the same as the existing register, we short-circuited
the checks for validity of all insns that originated this expression
with the chosen register. Obviously not all of the original insns
will have the same register as the expression -- some of them can have
different registers, and the check should still be made.
The fix is actually shorter than the explanation. There is a test
reduced from SPEC code, I will include it in the commit if this is
OK for trunk?
2008-09-29 Andrey Belevantsev <email@example.com>
* sel-sched.c (try_replace_dest_reg): When chosen register
and original register is the same, do not bail out early, but
still check all original insns for validity of replacing destination
register. Set EXPR_TARGET_AVAILABLE to 1 before leaving function
in this case.