From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 30914 invoked by alias); 20 Aug 2005 01:34:47 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 30899 invoked by uid 22791); 20 Aug 2005 01:34:43 -0000 Received: from h-68-164-203-246.nycmny83.covad.net (HELO dberlin.org) (68.164.203.246) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Sat, 20 Aug 2005 01:34:43 +0000 Received: from [127.0.0.1] (HELO localhost) by dberlin.org (CommuniGate Pro SMTP 5.0c1) with ESMTP id 8112162; Fri, 19 Aug 2005 21:34:38 -0400 Subject: Re: Bootstrap failure on powerpc-apple-darwin8 with Ada From: Daniel Berlin To: Laurent GUERBY Cc: Chris Douty , gcc@gcc.gnu.org, Richard Henderson In-Reply-To: <1124491478.7742.328.camel@pc.site> References: <90F71D27-8EDA-4E94-9F2E-B6E0CE4E27BF@ampexdata.com> <1124491018.7742.326.camel@pc.site> <1124491478.7742.328.camel@pc.site> Content-Type: text/plain Date: Sat, 20 Aug 2005 01:34:00 -0000 Message-Id: <1124501675.7748.8.camel@linux.site> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SW-Source: 2005-08/txt/msg00550.txt.bz2 On Sat, 2005-08-20 at 00:44 +0200, Laurent GUERBY wrote: > On Sat, 2005-08-20 at 00:36 +0200, Laurent GUERBY wrote: > > A patch by Andrew Pinski is there: > > > > http://gcc.gnu.org/ml/gcc-patches/2005-07/msg01666.html > > > > But review was negative, so it was not commited. > > > > Hope this helps, > > > > Laurent > > > > PS: is there a PR for this one? > > Thanks to Andrew Pinski for the tip: > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22533 I actually believe Richard may have come up with the wrong idea (using the analyze_expr hook) because Andrew didn't fully explain what is going on. What happens is that the IPA passes, not cgraph, want to analyze variables, including statics. If it was just cgraph, i would agree that modifying analyze_expr, is probably the right solution. But for general IPA working on the cgraph + GIMPLE level, as is what is happening here, I think we really need to do something about static variable initializers so they are in GIMPLE. Richard, I assume you'd rather have us hack around this for stage3 somehow, and come up with a way to gimplify the static var constructors for 4.2? (i guess that means creating a new init function and shoving them in there, and marking it special somehow) Or do you have another idea? This is not a case we can just ignore the constructors, they contain addressof operations we need to be able to see to come up with the right answers for type escape analysis, static variable address taken, etc :( --Dan