SKIP_PROLOGUE() and prologue insn scheduling

J.T. Conklin
2001-07-17T15:46:00Z

A coworker asked me what the prefered behavior of the SKIP_PROLOGUE()
macro when the compiler schedules the function prologue in with user
insns. I didn't have a good answer and the internals documentation
doesn't address this, so I'm shooting the question to the list.

The choice is whether SKIP_PROLOGUE() returns:
1) 1st user insn even though more prologue insns remain?
2) 1st user insn after final prologue insn?

Of these two, I think #1 is the most conservative choice. However,
gdb may may not be able to print function arguments correctly until
the user steps beyond the remainder of the prologue. While #2 does
not have that problem, having user insns execute as part of the
prologue could also be confusing --- Especially those that have
observable side effects (e.g. writes to a memory mapped device).

What is the common wisdom? At the very least, I think we need to
flesh out this issue in the internals document.

--jtc

--
J.T. Conklin
RedBack Networks