This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch, mips] Fix for PR target/56942


"Steve Ellcey " <sellcey@imgtec.com> writes:
> 2013-04-19  Andrew Bennett <andrew.bennett@imgtec.com>
> 	    Steve Ellcey  <sellcey@imgtec.com>
>
> 	PR target/56942
> 	* config/mips/mips.md (casesi_internal_mips16_<mode>): Use
> 	next_active_insn instead of next_real_insn.

Hmm, I don't really like this.  Steven said from ARM in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56809:

-----------------------------------------------------------------------
Target bug, this is wrong:

  rtx diff_vec = PATTERN (next_real_insn (operands[2]));

A jump_table_data is not a real insn.  Before my patch this worked
by accident because the jump table would hide in a JUMP_INSN and 
next_real_insn returned any JUMP_P insn.

Use next_active_insn instead.
-----------------------------------------------------------------------

But using next_real_insn was at least as correct (IMO, more correct)
as next_active_insn before r197266.  It seems counterintuitive that
something can be "active" but not "real".

Richard


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]