From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 7059 invoked by alias); 11 Oct 2011 06:19:56 -0000 Received: (qmail 7049 invoked by uid 22791); 11 Oct 2011 06:19:55 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from localhost (HELO gcc.gnu.org) (127.0.0.1) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 11 Oct 2011 06:19:41 +0000 From: "ebotcazou at gcc dot gnu.org" To: gcc-bugs@gcc.gnu.org Subject: [Bug tree-optimization/50678] [4.7 Regression] FAIL: c52104y on x86_64-apple-darwin10 Date: Tue, 11 Oct 2011 06:19:00 -0000 X-Bugzilla-Reason: CC X-Bugzilla-Type: changed X-Bugzilla-Watch-Reason: None X-Bugzilla-Product: gcc X-Bugzilla-Component: tree-optimization X-Bugzilla-Keywords: X-Bugzilla-Severity: normal X-Bugzilla-Who: ebotcazou at gcc dot gnu.org X-Bugzilla-Status: NEW X-Bugzilla-Priority: P4 X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org X-Bugzilla-Target-Milestone: 4.7.0 X-Bugzilla-Changed-Fields: Status Last reconfirmed Component Ever Confirmed Message-ID: In-Reply-To: References: X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/ Auto-Submitted: auto-generated Content-Type: text/plain; charset="UTF-8" MIME-Version: 1.0 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: 2011-10/txt/msg00951.txt.bz2 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50678 Eric Botcazou changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011-10-11 Component|ada |tree-optimization Ever Confirmed|0 |1 --- Comment #6 from Eric Botcazou 2011-10-11 06:19:39 UTC --- > 2011-10-07 Tom de Vries > > PR middle-end/50527 > * tree.c (build_common_builtin_nodes): Add local_define_builtin for > * builtins.c (expand_builtin_alloca): Handle BUILT_IN_ALLOCA_WITH_ALIGN > * tree-ssa-ccp.c (evaluate_stmt): Set align for > * builtins.def (BUILT_IN_ALLOCA_WITH_ALIGN): Declare using > * ipa-pure-const.c (special_builtin_state): Handle > * tree-ssa-alias.c (ref_maybe_used_by_call_p_1) > * function.c (gimplify_parameters): Lower vla to > * gimplify.c (gimplify_vla_decl): Same. > * cfgexpand.c (expand_call_stmt): Handle BUILT_IN_ALLOCA_WITH_ALIGN. > * tree-mudflap.c (mf_xform_statements): Same. > * tree-ssa-dce.c (mark_stmt_if_obviously_necessary) > * varasm.c (incorporeal_function_p): Same. > * tree-object-size.c (alloc_object_size): Same. > * gimple.c (gimple_build_call_from_tree): Same. OK, I didn't realize that things were still ongoing on this front. Frankly, this alloca folding seems to introduce far too much complication for what it's worth. Tom, did you consider reverting the whole thing and doing things differently? If your canonical example is something like: const int n = 5; int array[n]; it's very easy to fold this in the front-end into: const int n = 5; int array[5]; As a matter of fact, that's what we do in Ada, which is by far the biggest user of alloca in the compiler.