This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug optimization/8361] [3.3/3.4 regression] C++ compile-time performance regression
- From: "pinskia at physics dot uc dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 13 Jun 2003 19:29:07 -0000
- Subject: [Bug optimization/8361] [3.3/3.4 regression] C++ compile-time performance regression
- References: <20021025133601.8361.pfeifer@dbai.tuwien.ac.at>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
PLEASE REPLY TO gcc-bugzilla@gcc.gnu.org ONLY, *NOT* gcc-bugs@gcc.gnu.org.
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=8361
------- Additional Comments From pinskia@physics.uc.edu 2003-06-13 19:29 -------
I found one of the problems with walking the trees too much, finish_function calls
calls_setjmp_p when inlining is turned off which is not needed. This was added with this
patch:
1999-12-05 Mark Mitchell <mark@codesourcery.com>
* decl.c (init_decl_processing): Set flag_inline_trees if
!flag_no_inline.
* cp-tree.h (calls_setjmp_p): Declare.
* decl.c (finish_function): Mark functions that call setjmp as
uninlinable.
* optimize.c (calls_setjmp_r): New function.
(calls_setjmp_p): Likewise.
There is an easy fix for this one is not to call setjmp if flag_inline_trees is non-zero.