This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: ICE on valid code, cse related
- From: Rask Ingemann Lambertsen <rask at sygehus dot dk>
- To: gcc at gcc dot gnu dot org
- Date: Mon, 17 Sep 2007 15:55:34 +0200
- Subject: Re: ICE on valid code, cse related
- References: <649555d50708010823p5bcbf958w37c874fe856dcdd9@mail.gmail.com> <m3ejinjmg2.fsf@localhost.localdomain> <649555d50708011008y1d7479bfn935252be3a42764a@mail.gmail.com> <m3odhrhw39.fsf@localhost.localdomain> <649555d50708020308x68bd0fe6ob46e9227a0d12430@mail.gmail.com> <m3ejimdokt.fsf@localhost.localdomain> <03f701c7d5dd$808ea830$2e08a8c0@CAM.ARTIMI.COM> <20070809122431.GH25795@sygehus.dk> <02c101c7da81$4b5de6f0$2e08a8c0@CAM.ARTIMI.COM> <20070817160206.GN25795@sygehus.dk>
On Fri, Aug 17, 2007 at 06:02:06PM +0200, Rask Ingemann Lambertsen wrote:
> What happened to the experiments you described at
> <URL:http://gcc.gnu.org/ml/gcc/2004-06/msg01178.html>? Emitting a no-op move
> of the (set (reg) (reg)) form won't work, but maybe something like
>
> (insn (use (reg) (expr_list:REG_EQUAL ...)))
>
> would work?
And if not, the required no-op move pattern could look like this:
(define_insn "*no-op-move"
[(set (match_operand 0 "register_operand")
(match_dup 0))]
"REG_P (operands[0])
&& !reload_completed"
{
gcc_abort ();
}
Reload will delete such an insn even at -O0.
--
Rask Ingemann Lambertsen
Danish law requires addresses in e-mail to be logged and stored for a year