PATCH: Re: ICE in 920624-1.c with -O3 -funroll-loops on vax-dec-ultrix4.3

John David Anglin dave@hiauly1.hia.nrc.ca
Wed Jan 16 09:08:00 GMT 2002


> 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)



More information about the Gcc-bugs mailing list