From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 17596 invoked by alias); 13 Jul 2010 21:48:48 -0000 Received: (qmail 17584 invoked by uid 22791); 13 Jul 2010 21:48:47 -0000 X-SWARE-Spam-Status: No, hits=-5.2 required=5.0 tests=AWL,BAYES_00,RCVD_IN_DNSWL_HI,SPF_HELO_PASS,TW_SV,T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mx1.redhat.com (HELO mx1.redhat.com) (209.132.183.28) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 13 Jul 2010 21:48:42 +0000 Received: from int-mx02.intmail.prod.int.phx2.redhat.com (int-mx02.intmail.prod.int.phx2.redhat.com [10.5.11.12]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o6DLmeCQ006147 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 13 Jul 2010 17:48:40 -0400 Received: from anchor.twiddle.home (ovpn01.gateway.prod.ext.phx2.redhat.com [10.5.9.1]) by int-mx02.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o6DLmcf3005883; Tue, 13 Jul 2010 17:48:38 -0400 Message-ID: <4C3CDF36.4030800@redhat.com> Date: Tue, 13 Jul 2010 21:48:00 -0000 From: Richard Henderson User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.10) Gecko/20100621 Fedora/3.0.5-1.fc13 Thunderbird/3.0.5 MIME-Version: 1.0 To: Andrew Pinski CC: Richard Guenther , IainS , GCC Patches , Diego Novillo , Jan Hubicka , Jakub Jelinek Subject: Re: [Patch, updated] Make emulated TLS lto-friendly. References: <4C350C25.2030308@redhat.com> <54190C7D-E4F8-4D84-A468-E38B39770D3F@sandoe-acoustics.co.uk> <4C3624B2.9070602@redhat.com> <4C3B321F.8080507@redhat.com> <4C3B4B00.1070300@redhat.com> <4C3B7623.2020002@redhat.com> <4C3C8A76.2090307@redhat.com> <4C3CB6E0.2000000@redhat.com> <4C3CC602.8030009@redhat.com> <4C3CD85F.2050208@redhat.com> In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit 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: 2010-07/txt/msg01114.txt.bz2 On 07/13/2010 02:39 PM, Andrew Pinski wrote: > On Tue, Jul 13, 2010 at 2:19 PM, Richard Henderson wrote: >> >> That change, however, alters the valid arguments to MEM_REF. In that >> &tlsvar is no longer valid. Now, one could spend forever slightly >> tweeking all of the myriad predicates involved, but what it comes down >> to is that forwprop does not have the same checks that verify_expr does. > > Hmm, this sounds like > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44824 where there are > problems with ADDR_EXPR being inside MEM_REF in some other cases. Yes, that's exactly the same problem: DLLIMPORT_P variables are also !is_gimple_min_invariant, via !decl_address_invariant_p. (Although for the life of me I can't tell you why -- the expansion to *__imp_foo doesn't happen until rtl expansion time, and the value is in fact function invariant (initialized at load time, like .got). I tried to do a bit of spelunking to figure out the change history, but svn blame -rN doesn't seem to work with files that are no longer present at HEAD.) r~