summaryrefslogtreecommitdiff
path: root/gcc/doc/md.texi
diff options
context:
space:
mode:
authoruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-10 22:59:04 +0000
committeruweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4>2003-05-10 22:59:04 +0000
commitcd4e2223799ede4a23e462dce8dec6ce1e95f2fc (patch)
tree576cc3eb0bc73f866abed200b78ada8bb9e6cdc2 /gcc/doc/md.texi
parent314d7fc53e2acd511026cb3821e268ec8329f08c (diff)
downloadgcc-cd4e2223799ede4a23e462dce8dec6ce1e95f2fc.tar.gz
* except.c (EH_RETURN_STACKADJ_RTX): Do not define.
(EH_RETURN_HANDLER_RTX): Likewise. (expand_builtin_eh_return): Do not copy stack adjustment if EH_RETURN_STACKADJ_RTX is not defined. (expand_eh_return): Likewise. Also, do not pass stack adjustment as argument to the eh_return pattern. * except.h (MUST_USE_SJLJ_EXCEPTIONS): Do not define just because EH_RETURN_STACKADJ_RTX is not defined. * unwind-dw.c (uw_update_context_1): If EH_RETURN_STACKADJ_RTX is not defined, treat stack pointer like a regular register. (uw_init_context_1): Set up fake initial stack pointer register. (uw_install_context_1): Do not compute stack adjustment if EH_RETURN_STACKADJ_RTX is not defined. * config/i386/i386.md ("eh_return"): Remove first argument. * config/mips/mips.md ("eh_return"): Likewise. * config/rs6000/rs6000.md ("eh_return"): Likewise. * config/sh/sh.md ("eh_return"): Likewise. * config/s390/s390.h (EH_RETURN_STACKADJ_RTX): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66672 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/doc/md.texi')
-rw-r--r--gcc/doc/md.texi22
1 files changed, 11 insertions, 11 deletions
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi
index c808d494e9a..f078520ab3d 100644
--- a/gcc/doc/md.texi
+++ b/gcc/doc/md.texi
@@ -3374,17 +3374,17 @@ and thence the call frame exception handling library routines, are
built. It is intended to handle non-trivial actions needed along
the abnormal return path.
-The pattern takes two arguments. The first is an offset to be applied
-to the stack pointer. It will have been copied to some appropriate
-location (typically @code{EH_RETURN_STACKADJ_RTX}) which will survive
-until after reload to when the normal epilogue is generated.
-The second argument is the address of the exception handler to which
-the function should return. This will normally need to copied by the
-pattern to some special register or memory location.
-
-This pattern only needs to be defined if call frame exception handling
-is to be used, and simple moves involving @code{EH_RETURN_STACKADJ_RTX}
-and @code{EH_RETURN_HANDLER_RTX} are not sufficient.
+The address of the exception handler to which the function should return
+is passed as operand to this pattern. It will normally need to copied by
+the pattern to some special register or memory location.
+If the pattern needs to determine the location of the target call
+frame in order to do so, it may use @code{EH_RETURN_STACKADJ_RTX},
+if defined; it will have already been assigned.
+
+If this pattern is not defined, the default action will be to simply
+copy the return address to @code{EH_RETURN_HANDLER_RTX}. Either
+that macro or this pattern needs to be defined if call frame exception
+handling is to be used.
@cindex @code{prologue} instruction pattern
@anchor{prologue instruction pattern}