patch for label handling in flow

Jeffrey A Law law@cygnus.com
Mon Jan 25 21:34:00 GMT 1999


  In message < 19990125201233.F1456@dot.cygnus.com >you write:
  > On Mon, Jan 25, 1999 at 08:25:13PM +0100, Philip Blundell wrote:
  > > Normally if a label has its address taken, flow will consider it to be a 
  > > potential target for any computed goto.  Unfortunately on the ARM port th
  > e 
  > > prologue used for functions compiled as PIC includes such a label.
  > 
  > I don't see how the arm port is using ".+4" and ".+8" without doing
  > anything to make certain that those instructions really stay together.
  > Seems like scheduling could really mess that up.  Could be the only
  > reason this hasn't shown up earlier is the protection given by the
  > erroneous CFG.  Or perhaps I miss something?
  > 
  > FWIW, the sparc port uses a symbol_ref in its gp load sequence.
I agree.  I don't see anything which would prevent this lossage.  Either the
insns need to be surrounded by scheduling/optimization barriers or put into
a single insn (at which point you don't have to expose the label into rtl
anyway).

jeff

ps.  I'm not sure it's really kosher for the sparc to use a SYMBOL_REF
instead of a LABEL_REF for this purpose.  But that's a totally different
discussion.




More information about the Gcc-patches mailing list