This is the mail archive of the
mailing list for the GCC project.
Re: flow still deleting important labels
- To: Richard Henderson <rth at cygnus dot com>
- Subject: Re: flow still deleting important labels
- From: Jeffrey A Law <law at upchuck dot cygnus dot com>
- Date: Wed, 31 Mar 1999 01:54:58 -0700
- cc: egcs-patches at egcs dot cygnus dot com
- Reply-To: law at cygnus dot com
In message <19990328151310.B18408@cygnus.com>you write:
> In the first (-mgas), I don't replicate what you reported
> exactly.. the label hangs out until flow2. At which point
> there are no references to the label whatsoever, and it
> gets deleted.
Weird. I'll look further into this one since I've got hpux boxes handy.
> So there are two choices here -- either set LABEL_PRESERVE_P
> on things that enter the constant pool, or always garbage
> collect the constant pool. The later solution seems better.
Yea, always garbage collecting the pool sounds right.
> In the second (-mno-gas), the initial rtl has the label in
> the constant pool, but no REG_LABEL note. So jump1 purges
> the label. Curious. Looking again I see the reference in
> the constant pool set to zero... I'll check this some more.
Hmmm, what code is responsible for adding a REG_LABEL note to an insn
that loads the address of a label out of the constant pool?
Maybe marking labels in the pool with LABEL_PRESERVE_P isn't such a bad
idea after all.