PPC -fpic bug introduced recently

Jeffrey A Law law@cygnus.com
Sat Oct 9 22:34:00 GMT 1999


  In message < 199910060830.BAA00595@aldrington.ppp.cs.sfu.ca >you write:
  > You wrote:
  > > I'm not sure if you're supposed to have registers which are fixed and
  > > yet call-saved.  On the other hand, it clearly makes sense to do so.
  > 
  > Yeah, that had me wondering too...   Clearly that's what PIC code on
  > the PPC wants, the only question is whether somehow some part of gcc's
  > internals could be consider it an impossible case and stumble.  Perhaps
  > we need the blessing of an expert in these matters -- or failing that, a
  > quick check to see if there are fixed call-saved registers used on other
  > processor architectures.
  > 
  > One question is what the official semantics of a fixed call-saved register
  > should be (if they aren't defined anywhere right now).  Presumably it
  > should mean ``if the register is changed by code the compiler emits, it
  > will be saved; otherwise it *may* not be saved'' (c.f. other possible
  > semantics, such as ``the register should always be saved on entry to
  > and restored on exit from every function whether it appears to be used
  > or not'').
The compiler currently requires that fixed registers be marked as call
clobbered.  Failure to mark a fixed register as call clobbered will result
in incorrect code generation.

rth & Jim & I talked about this some while I was in Sunnyvale; I think we
agreed that it made sense to support call-saved fixed registers.  However,
supporting them will require someone to spend some time slogging through the
various passes to fix their behavior for this case.

jeff



More information about the Gcc-bugs mailing list