This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: dead label use?
Ian Lance Taylor <ian@airs.com> writes:
> Mike Stump <mrs@apple.com> writes:
>
> > Forgive me ignorance, is there is use for the use of the label below?
> >
> > From rs6000, though, certainly there are other examples of this sort
> > of thing in the md files:
> >
> > (define_insn ""
> > [(set (pc)
> > (match_operand:P 0 "register_operand" "c,*l"))
> > (use (label_ref (match_operand 1 "" "")))]
> > ""
> > "@
> > bctr
> > {br|blr}"
> > [(set_attr "type" "jmpreg")])
>
> This is an instantiation of a tablejump created via define_expand.
> Operand 1 is the jump table. The insn needs to refer to it, or the
> table will be deleted as unreferenced.
The problem is that the table has to be referenced *from a jump_insn*,
I think. Obviously if the table is really unreferenced it could be deleted.