aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1999-02-26 17:16:01 -0700
committerJeff Law <law@gcc.gnu.org>1999-02-26 17:16:01 -0700
commit0b433de68e3c57285ab7f12fd5eee42898b9d5c6 (patch)
treee953bf8032cd58c17cc83cad46c07b94747ddb2c
parent665431699036e1b9bd2317d452579a6fc6af9482 (diff)
downloadgcc-0b433de68e3c57285ab7f12fd5eee42898b9d5c6.zip
gcc-0b433de68e3c57285ab7f12fd5eee42898b9d5c6.tar.gz
gcc-0b433de68e3c57285ab7f12fd5eee42898b9d5c6.tar.bz2
[multiple changes]
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 <fx@gnu.org> * md.texi, invoke.texi: Fix unterminated @xrefs. From-SVN: r25477
-rw-r--r--gcc/ChangeLog8
-rw-r--r--gcc/invoke.texi7
-rw-r--r--gcc/md.texi36
3 files changed, 47 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 753b39e..662bb07 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 <fx@gnu.org>
+
+ * md.texi, invoke.texi: Fix unterminated @xrefs.
+
Fri Feb 26 15:33:45 1999 Richard Henderson <rth@cygnus.com>
* genattrtab.c (simplify_knowing): Fix uninitialized read
diff --git a/gcc/invoke.texi b/gcc/invoke.texi
index 82a7737..3c938124 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 890030d..907df37 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