aboutsummaryrefslogtreecommitdiff
path: root/gcc/md.texi
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/md.texi')
-rw-r--r--gcc/md.texi19
1 files changed, 19 insertions, 0 deletions
diff --git a/gcc/md.texi b/gcc/md.texi
index 4fe759a114a..1d5d53d9398 100644
--- a/gcc/md.texi
+++ b/gcc/md.texi
@@ -2410,6 +2410,16 @@ this pattern to emit the required instructions.
No operands are provided.
+@cindex @code{check_stack} instruction pattern
+@item @samp{check_stack}
+If stack checking cannot be done on your system by probing the stack with
+a load or store instruction (@pxref{Stack Checking}), define this pattern
+to perform the needed check and signaling an error if the stack
+has overflowed. The single operand is the location in the stack furthest
+from the current stack pointer that you need to validate. Normally,
+on machines where this pattern is needed, you would obtain the stack
+limit from a global or thread-specific variable or register.
+
@cindex @code{nonlocal_goto} instruction pattern
@item @samp{nonlocal_goto}
Emit code to generate a non-local goto, e.g., a jump from one function
@@ -2436,6 +2446,15 @@ normally need to define this pattern. A typical reason why you might
need this pattern is if some value, such as a pointer to a global table,
must be restored when the frame pointer is restored. There are no
arguments.
+
+@cindex @code{exception_receiver} instruction pattern
+@item @samp{exception_receiver}
+This pattern, if defined, contains code needed at the site of an
+exception handler that isn't needed at the site of a nonlocal goto. You
+will not normally need to define this pattern. A typical reason why you
+might need this pattern is if some value, such as a pointer to a global
+table, must be restored after control flow is branched to the handler of
+an exception. There are no arguments.
@end table
@node Pattern Ordering