This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: PR84300, ICE in dwarf2cfi on ppc64le
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Alan Modra <amodra at gmail dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 9 Feb 2018 08:11:44 -0600
- Subject: Re: PR84300, ICE in dwarf2cfi on ppc64le
- Authentication-results: sourceware.org; auth=none
- References: <20180209054247.GG3846@bubble.grove.modra.org>
On Fri, Feb 09, 2018 at 04:12:47PM +1030, Alan Modra wrote:
> This PR is one of those with a really obvious cause, and fix. There's
> nothing in the unspec rtl to say the insn needs lr!
> Bootstrapped and regression tested powerpc64le-linux. OK?
>
> PR target/84300
> gcc/
> * config/rs6000/rs6000.md (split_stack_return): Use LR.
> gcc/testsuite/
> * gcc.dg/pr84300.c: New.
>
> diff --git a/gcc/config/rs6000/rs6000.md b/gcc/config/rs6000/rs6000.md
> index 33f0d95..287461f 100644
> --- a/gcc/config/rs6000/rs6000.md
> +++ b/gcc/config/rs6000/rs6000.md
> @@ -13359,7 +13359,8 @@ (define_insn "load_split_stack_limit_si"
> ;; Use r0 to stop regrename twiddling with lr restore insns emitted
> ;; after the call to __morestack.
> (define_insn "split_stack_return"
> - [(unspec_volatile [(use (reg:SI 0))] UNSPECV_SPLIT_STACK_RETURN)]
> + [(unspec_volatile [(use (reg:SI 0)) (use (reg:SI LR_REGNO))]
> + UNSPECV_SPLIT_STACK_RETURN)]
I'm not sure what a USE as input of an UNSPEC means -- it should work
without the USEs?
So please try without; otherwise okay of course. Thanks!
Segher