diff options
author | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-05-10 22:59:04 +0000 |
---|---|---|
committer | uweigand <uweigand@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-05-10 22:59:04 +0000 |
commit | cd4e2223799ede4a23e462dce8dec6ce1e95f2fc (patch) | |
tree | 576cc3eb0bc73f866abed200b78ada8bb9e6cdc2 /gcc/doc/md.texi | |
parent | 314d7fc53e2acd511026cb3821e268ec8329f08c (diff) | |
download | gcc-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.texi | 22 |
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} |