On Mon, Jun 16, 2014 at 9:04 AM, Andreas Schwab <sch...@suse.de> wrote:
> Hans-Peter Nilsson <h...@bitrange.com> writes:
>
>> On Sun, 15 Jun 2014, Hans-Peter Nilsson wrote:
>>
>>> On Sun, 15 Jun 2014, Hans-Peter Nilsson wrote:
>>> > On Sun, 15 Jun 2014, Steven Bosscher wrote:
>>> > > Can you please try:
>>> > >
>>> > > [...]
>>> >
>>> > Thanks.  Looks pretty obvious.  I was heading for the door with
>>> > just enough time to report the issue, so I didn't actually look
>>> > at the code before.  I'll commit this on your behalf once build
>>> > has passed the point of failure.
>>>
>>> ...which includes not just compiling auto-inc-dec.c but also
>>> compiling e.g. libgcc with the compiled compiler.  No such luck,
>>> segv in that function (must be from Richard's code, not from the
>>> patch as no dumps are output at that time).  Bah.
>>
>> Ok, I'm out; I don't know why the insn_info is invalid here.
>> Hopefully obvious to you or Richard.  PR61516 for this.
>
> Please try this:
>
> diff --git a/gcc/auto-inc-dec.c b/gcc/auto-inc-dec.c
> index 64a3706..d84e097 100644
> --- a/gcc/auto-inc-dec.c
> +++ b/gcc/auto-inc-dec.c
> @@ -1341,6 +1341,7 @@ merge_in_block (int max_reg, basic_block bb)
>
>    FOR_BB_INSNS_REVERSE_SAFE (bb, insn, curr)
>      {
> +      unsigned int uid = INSN_UID (insn);
>        df_insn_info *insn_info = DF_INSN_INFO_GET (insn);
>        bool insn_is_add_or_inc = true;
>
> @@ -1417,7 +1418,7 @@ merge_in_block (int max_reg, basic_block bb)
>
>        /* If the inc insn was merged with a mem, the inc insn is gone
>          and there is noting to update.  */
> -      if (insn_info)
> +      if (DF_INSN_UID_GET (uid))
>         {
>           df_ref def, use;

Doesn't appear to help on arm-none-linux-gnueabihf where I tried
applying a slight variant of this after the latest fixups for the
auto-inc-dec breakage.

I've gone through all the stages of breakage on this on my
arm-none-linux-gnueabihf auto-tester too.

regards
Ramana

>
>
> Andreas.
>
> --
> Andreas Schwab, SUSE Labs, sch...@suse.de
> GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
> "And now for something completely different."

Reply via email to