This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix powerpc rs6000_stack_info ICE
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: gcc-patches at gcc dot gnu dot org, Alan Modra <amodra at gmail dot com>
- Date: Wed, 6 Apr 2011 13:57:49 -0400
- Subject: Re: Fix powerpc rs6000_stack_info ICE
- References: <20110406121846.GR19002@bubble.grove.modra.org>
On Wed, Apr 6, 2011 at 8:18 AM, Alan Modra <amodra@gmail.com> wrote:
> The ENABLE_CHECKING tests I added at the end of rs6000_stack_info
> are now asserting on gcc.c-torture/execute/20041011-1.c and other
> testcases. ?The cause is the late running DSE pass removing a set of
> LR, which means lr_save_p changes. ?Why that happens ultimately goes
> back to a register allocation decision to use LR after running out of
> gprs, which isn't that bright in this case since there is just one set
> and one use of LR and you need a gpr free to move values to and from
> LR. ?Anyway, the fact remains that the stack info can change
> legitimately and harmlessly after we've emitted the function prologue
> and epilogue. ?So this patch simply removes the ENABLE_CHECKING code.
> Bootstrapped and regtested powerpc64-linux. ?OK for mainline?
>
> ? ? ? ?* config/rs6000/rs6000.c (rs6000_stack_info): Don't compare against
> ? ? ? ?previous stack info.
Okay.
Thanks, David