diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 753b39e275c..662bb07c92c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +Sat Feb 27 01:12:40 1999 Jeffrey A Law (law@cygnus.com) + + * md.texi (prologue,epilogue): Document named patterns. + +Fri Feb 26 19:31:25 1999 Dave Love + + * md.texi, invoke.texi: Fix unterminated @xrefs. + Fri Feb 26 15:33:45 1999 Richard Henderson * genattrtab.c (simplify_knowing): Fix uninitialized read diff --git a/gcc/invoke.texi b/gcc/invoke.texi index 82a7737943f..3c938124c2a 100644 --- a/gcc/invoke.texi +++ b/gcc/invoke.texi @@ -5058,7 +5058,7 @@ there. You can specify that an individual function is called with this calling sequence with the function attribute @samp{stdcall}. You can also override the @samp{-mrtd} option by using the function attribute -@samp{cdecl}. @xref{Function Attributes} +@samp{cdecl}. @xref{Function Attributes}. @strong{Warning:} this calling convention is incompatible with the one normally used on Unix, so you cannot use it if you need to call @@ -5084,7 +5084,8 @@ supported letters are: @code{a} allocate EAX; @code{b} allocate EBX; Control how many registers are used to pass integer arguments. By default, no registers are used to pass arguments, and at most 3 registers can be used. You can control this behavior for a specific -function by using the function attribute @samp{regparm}. @xref{Function Attributes} +function by using the function attribute @samp{regparm}. +@xref{Function Attributes}. @strong{Warning:} if you use this switch, and @var{num} is nonzero, then you must build all modules with the same @@ -5729,7 +5730,7 @@ All variants support @samp{-mcpu=base}, this is the default. Put functions, data, and readonly data in @var{text section}, @var{data section}, and @var{readonly data section} respectively by default. This can be overridden with the @code{section} attribute. -@xref{Variable Attributes} +@xref{Variable Attributes}. @end table diff --git a/gcc/md.texi b/gcc/md.texi index 890030d0da1..907df37080e 100644 --- a/gcc/md.texi +++ b/gcc/md.texi @@ -2181,7 +2181,7 @@ pattern or a @samp{tst@var{m}} pattern. Machines that use a pseudo register for the condition code value, or where the mode used for the comparison depends on the condition being -tested, should also use the above mechanism. @xref{Jump Patterns} +tested, should also use the above mechanism. @xref{Jump Patterns}. The above discussion also applies to the @samp{mov@var{mode}cc} and @samp{s@var{cond}} patterns. @@ -2558,6 +2558,40 @@ pattern to some special register. This pattern must be defined if @code{RETURN_ADDR_RTX} does not yield something that can be reliably and permanently modified, i.e. a fixed hard register or a stack memory reference. + +@cindex @code{prologue} instruction pattern +@item @samp{prologue} +This pattern, if defined, emits RTL for entry to a function. The function +entry is resposible for setting up the stack frame, initializing the frame +pointer register, saving callee saved registers, etc. + +Using a prologue pattern is generally preferred over defining +@code{FUNCTION_PROLOGUE} to emit assembly code for the prologue. + +The @code{prologue} pattern is particularly useful for targets which perform +instruction scheduling. + +@cindex @code{epilogue} instruction pattern +@item @samp{epilogue} +This pattern, if defined, emits RTL for exit from a function. The function +exit is resposible for deallocating the stack frame, restoring callee saved +registers and emitting the return instruction. + +Using an epilogue pattern is generally preferred over defining +@code{FUNCTION_EPILOGUE} to emit assembly code for the prologue. + +The @code{epilogue} pattern is particularly useful for targets which perform +instruction scheduling or which have delay slots for their return instruction. + +@cindex @code{sibcall_epilogue} instruction pattern +@item @samp{sibcall_epilogue} +This pattern, if defined, emits RTL for exit from a function without the final +branch back to the calling function. This pattern will be emitted before any +sibling call (aka tail call) sites. + +The @code{sibcall_epilogue} pattern must not clobber any arguments used for +parameter passing or any stack slots for arguments passed to the current +function. @end table @node Pattern Ordering