This is the mail archive of the
mailing list for the GCC project.
Re: RTX_FRAME_RELATED_P on INSNs
- To: Richard Kenner <kenner at vlsi1 dot ultra dot nyu dot edu>
- Subject: Re: RTX_FRAME_RELATED_P on INSNs
- From: Richard Henderson <rth at redhat dot com>
- Date: Mon, 15 Jan 2001 14:30:00 -0800
- Cc: gcc at gcc dot gnu dot org
- References: <10101151457.AA22915@vlsi1.ultra.nyu.edu>
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.