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: alpha haifa regression


| For __builtin_saveregs, we are talking about a stack slot, not a
| designated varargs flushback area.
| And in front of va_start, any C code might be placed.  Hence, we may not
| make any assumptions that only the prologue is in front.

That is not correct.  Expr.c has the following code in it to guarantee that
__builtin_saveregs is executed first (assuming there is some sort of blockage
in EXPAND_BUILTIN_SAVEREGS to preventt he scheduler from moving things around):

	/* Put the sequence after the NOTE that starts the function.
	   If this is inside a SEQUENCE, make the outer-level insn
	   chain current, so the code is placed at the start of the
	   function.  */
	push_topmost_sequence ();
	emit_insns_before (seq, NEXT_INSN (get_insns ()));
	pop_topmost_sequence ();
	return temp;
 


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