This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
Re: PATCH: Re: ICE in 920624-1.c with -O3 -funroll-loops on vax-dec-ultrix4.3
- From: "John David Anglin" <dave at hiauly1 dot hia dot nrc dot ca>
- To: jh at suse dot cz (Jan Hubicka)
- Cc: gcc-bugs at gcc dot gnu dot org, jh at suse dot cz, rth at redhat dot com, gcc-patches at gcc dot gnu dot org
- Date: Wed, 16 Jan 2002 12:08:06 -0500 (EST)
- Subject: Re: PATCH: Re: ICE in 920624-1.c with -O3 -funroll-loops on vax-dec-ultrix4.3
> My approach in the cfg is to keep the tables around and sweep them once done
> with CSE, but I guess it is easier to zap them to NOTE_INSN_DELETED_LABEL instead.
> I plan to do that move on the cfg branch.
>
> In your case all you need is to use delete_insn_chain for the two insns that
> cares to create the note instead.
We have
(jump (pc) (label_ref 1))
(code_label 1)
(jump_insn (addr_diff_vec:HI (label_ref: 1)
...
You are suggesting deleting first two with NOTE_INSN_DELETED_LABEL?
Of course, this would be done only when the jump goes to the next insn.
This still leaves the jump table in live code which I don't like.
Another alternative might be to add a code_label after the jump table
and add a new jump before the first jump. This should make the three
insn dead. Would this be safer?
Dave
--
J. David Anglin dave.anglin@nrc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6605)