From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31287 invoked by alias); 17 Dec 2008 19:42:10 -0000 Received: (qmail 31173 invoked by uid 48); 17 Dec 2008 19:40:49 -0000 Date: Wed, 17 Dec 2008 19:42:00 -0000 Message-ID: <20081217194049.31172.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug middle-end/38474] [4.3/4.4 Regression] slow compilation at -O0 (callgraph optimization, inline heuristics, expand ) In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "steven at gcc dot gnu dot org" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2008-12/txt/msg01698.txt.bz2 ------- Comment #33 from steven at gcc dot gnu dot org 2008-12-17 19:40 ------- cfgexpand.c:defer_stack_allocation() has this gem: /* Without optimization, *most* variables are allocated from the stack, which makes the quadratic problem large exactly when we want compilation to proceed as quickly as possible. On the other hand, we don't want the function's stack frame size to get completely out of hand. So we avoid adding scalars and "small" aggregates to the list at all. */ if (optimize == 0 && tree_low_cst (DECL_SIZE_UNIT (var), 1) < 32) return false; In our case, most variables are of type mpfr_type, which is ... yes, 32 bytes :-) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38474