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; 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."