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]

Re: Urgent: bug fixes needed for GCC 3.0.2


  In message <12960000.1002204770@gandalf.codesourcery.com>you write:
  > > Presumably we set the bit because the argument is marked as "const".
  > >
  > > So the question becomes should we have set the unchanging bit in the
  > > first place (probably yes)?
  > 
  > I'm not sure.  This is a MEM on the stack, and one that is not
  > necessarily going to be around for the entire function -- witness
  > the fact that we are going to overwrite it.  Perhaps I misunderstand
  > a subtlety of RTX_UNCHANGING_P (quite likely, in fact!) but to me
  > it doesn't make sense to set it for this MEM; the value there is
  > likely to change.
  > 
  > Am I speaking nonsense?
Well, if it wasn't for the sibcall optimization the stack slot would be
unchanging.  That's the crux of the issue.

If we believe that without the sibcall that having RTX_UNCHANGING_P set is
correct and desirable, then we need to clear the bit if we have a sibcall
since the sibcall sequence will overwrite the incoming stack slots.  This
may (or may not) be a difficult thing to do.

jeff


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