Sibcalls and exceptions
Alexandre Oliva
aoliva@redhat.com
Wed Nov 14 18:07:00 GMT 2001
Mark,
I don't see why this patch:
2001-06-05 Mark Mitchell <mark@codesourcery.com>
* toplev.c (main): Disable sibling-call optimization if we are
handling exceptions.
is necessary. The following patches, installed long before yours:
2000-11-30 Richard Henderson <rth@redhat.com>
* calls.c (expand_call): Emit queued insns before creating
the tail recursion sequence.
2000-11-21 Richard Henderson <rth@redhat.com>
* c-common.c (c_unsafe_for_reeval): New function.
(add_c_tree_codes): Register it.
* c-common.h: Declare it.
* tree.c (lang_unsafe_for_reeval): New hook.
(unsafe_for_reeval): Call it.
* tree.h: Declare it.
were enough to fix a testcase I had for an old branch, without
disabling the optimization, and, in fact, they have also fixed the
problem reported in PR2975. I've just tried reverting your patch, and
I still could compile the testcase in PR2975 without any problems, and
didn't get any regressions on athlon-pc-linux-gnu. So, is this ok to
install, or is there any other reason I and the testsuite are missing
to keep sibcalls disabled in the presence of exceptions?
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sibcall-and-exceptions.patch
Type: text/x-patch
Size: 928 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20011114/50e8deb2/attachment.bin>
-------------- next part --------------
--
Alexandre Oliva Enjoy Guarana', see http://www.ic.unicamp.br/~oliva/
Red Hat GCC Developer aoliva@{cygnus.com, redhat.com}
CS PhD student at IC-Unicamp oliva@{lsd.ic.unicamp.br, gnu.org}
Free Software Evangelist *Please* write to mailing lists, not to me
More information about the Gcc-patches
mailing list