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: RTX_FRAME_RELATED_P on INSNs


On Mon, Jan 15, 2001 at 09:56:45AM -0500, Richard Kenner wrote:
> We currently have this flag and also the "contains" function in function.c
> to determine whether an insn is in the prologue or epilogue.
> 
> The documentation is unclear what the precise distinctions between these two
> are and why some ports set the flag and some don't.  Can somebody
> clarify this?

They are used for two different things.

RTX_FRAME_RELATED_P is intended for generating DWARF frame unwind
information for debugging and exception handling.  Only instructions
related to frame unwinding need to be marked.  Marking more
instructions than are necessary bloats the EH tables.

The "contains" function was originally used simply to find the 
last/first instruction of the prologue/epilogue and move the 
NOTE_INSN_PROLOGUE_END/NOTE_INSN_EPILOGUE_BEG notes after 
scheduling.  It is now used to other things like

  (1) Notice when dead code elimination would delete a prologue
      or epilogue instruction.  This normally indicates a bug
      in the expanders.
  (2) Ignore SETs to the frame pointer that happen during
      frame construction/destruction that previously would
      disable alias analysis in the local stack frame.


r~

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