This is the mail archive of the gcc@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: 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.


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