From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11107 invoked by alias); 11 May 2011 04:03:31 -0000 Received: (qmail 11086 invoked by uid 22791); 11 May 2011 04:03:30 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,RFC_ABUSE_POST,TW_CX X-Spam-Check-By: sourceware.org Received: from mail-qy0-f182.google.com (HELO mail-qy0-f182.google.com) (209.85.216.182) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 11 May 2011 04:03:16 +0000 Received: by qyk27 with SMTP id 27so66221qyk.20 for ; Tue, 10 May 2011 21:03:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.229.66.132 with SMTP id n4mr6844404qci.292.1305086595024; Tue, 10 May 2011 21:03:15 -0700 (PDT) Received: by 10.229.182.7 with HTTP; Tue, 10 May 2011 21:03:14 -0700 (PDT) In-Reply-To: References: <201104141742.59090.ebotcazou@adacore.com> Date: Wed, 11 May 2011 09:08:00 -0000 Message-ID: Subject: Re: Remember/restore ALLOCA_FOR_VAR_P over tuples From: "H.J. Lu" To: Michael Matz Cc: Eric Botcazou , gcc-patches@gcc.gnu.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org X-SW-Source: 2011-05/txt/msg00807.txt.bz2 On Fri, Apr 15, 2011 at 1:20 PM, Michael Matz wrote: > Hi, > > On Thu, 14 Apr 2011, Michael Matz wrote: > >> > Btw, I don't remember why I chose ALLOCA_FOR_VAR_P over >> > CALL_ALLOCA_FOR_VAR_P but, given the name of the GIMPLE flag and >> > predicate, it's probably time to change it. >> >> Good idea, I'll rename it before checking in. > > r172516, for reference also below. =A0I later saw that my patch causes > cxg2001 to fail. =A0I've analyzed it enough to be sure that it's only > exposed by this patch (due to inlining now happening), in fact it's a > problem in IRA that is reproducible with a C++ testcase even without the > patch. =A0I've filed PR48633 for this. > > > Ciao, > Michael. > > =A0 =A0 =A0 =A0* tree.h (ALLOCA_FOR_VAR_P): Rename to CALL_ALLOCA_FOR_VAR= _P. > =A0 =A0 =A0 =A0* builtins.c (expand_builtin): Use CALL_ALLOCA_FOR_VAR_P. > =A0 =A0 =A0 =A0* function.c (gimplify_parameters): Ditto. > =A0 =A0 =A0 =A0* gimplify.c (gimplify_vla_decl): Ditto. > > =A0 =A0 =A0 =A0* gimple.h (enum gf_mask): Add GF_CALL_ALLOCA_FOR_VAR. > =A0 =A0 =A0 =A0(gimple_call_set_alloca_for_var): New inline function. > =A0 =A0 =A0 =A0(gimple_call_alloca_for_var_p): Ditto. > =A0 =A0 =A0 =A0* gimple.c (gimple_build_call_from_tree): Remember CALL_AL= LOCA_FOR_VAR_P > =A0 =A0 =A0 =A0state. > =A0 =A0 =A0 =A0* cfgexpand.c (expand_call_stmt): Restore CALL_ALLOCA_FOR_= VAR_P state. > > =A0 =A0 =A0 =A0* tree-inline.c (inline_forbidden_p_stmt): Don't reject al= loca > =A0 =A0 =A0 =A0calls if they were for VLA objects. > This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D48953 --=20 H.J.