From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 57823 invoked by alias); 10 Jul 2015 00:53:24 -0000 Mailing-List: contact jit-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Subscribe: Sender: jit-owner@gcc.gnu.org Received: (qmail 57296 invoked by uid 89); 10 Jul 2015 00:53:23 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Checked: by ClamAV 0.98.7 on sourceware.org X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=no version=3.3.2 X-Spam-Status: No, score=-1.5 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD,SPF_HELO_PASS autolearn=no version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on sourceware.org X-Spam-Level: X-HELO: mx1.redhat.com Message-ID: <1436489129.24803.174.camel@surprise> Subject: Re: [PATCH] PR jit/66812: Candidate fix for for the code generation issue, v1 From: David Malcolm To: Dibyendu Majumdar Cc: jit@gcc.gnu.org Date: Thu, 01 Jan 2015 00:00:00 -0000 In-Reply-To: References: <1436365266.24803.65.camel@surprise> <1436367926.24803.71.camel@surprise> <1436369443.24803.75.camel@surprise> <1436377619.24803.97.camel@surprise> <1436382217.24803.101.camel@surprise> <1436385256.24803.107.camel@surprise> <1436469764.24803.156.camel@surprise> <1436476508.24803.168.camel@surprise> <1436477075.24803.171.camel@surprise> <1436484627.24803.173.camel@surprise> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-Scanned-By: MIMEDefang 2.68 on 10.5.11.24 X-SW-Source: 2015-q3/txt/msg00069.txt.bz2 On Fri, 2015-07-10 at 01:39 +0100, Dibyendu Majumdar wrote: > On 10 July 2015 at 01:14, Dibyendu Majumdar wrote: > > On 10 July 2015 at 00:30, David Malcolm wrote: > >> On Thu, 2015-07-09 at 23:20 +0100, Dibyendu Majumdar wrote: > >>> On 9 July 2015 at 22:24, David Malcolm wrote: > >>> > On Thu, 2015-07-09 at 17:15 -0400, David Malcolm wrote: > >>> >> On Thu, 2015-07-09 at 17:06 -0400, David Malcolm wrote: > >>> >> > >>> >> (snip) > >>> >> > >>> >> > The fix will be to implement the LANG_HOOKS_GET_ALIAS_SET internal GCC > >>> >> > API thus giving libgccjit some rules about aliasing. Some options: > >>> >> > > >>> >> > (i) make it identical to C. > >>> >> > (ii) give the client code some control over this > >>> >> > > >>> >> > My initial gut feeling is to go with (i). > >>> >> > >>> >> ...or possibly to do what the link-time optimizer does, which is to use > >>> >> this internal API: > >>> >> > >>> >> /* Return the typed-based alias set for T, which may be an expression > >>> >> or a type. Return -1 if we don't do anything special. */ > >>> >> > >>> >> alias_set_type > >>> >> gimple_get_alias_set (tree t) > >>> >> > >>> >> which does almost all of what the C frontend does. I'll try to cook up > >>> >> a patch. > >>> > > >>> > Attached is a patch [1] which fixes the minimal reproducer I created, > >>> > and the reproducer you sent. > >>> > > >>> > Does it work for you? > >>> > > >>> > >>> I get this error when compiling: > >>> > >>> In file included from ../../gcc-5.1.0/gcc/jit/dummy-frontend.c:54:0: > >>> ../../gcc-5.1.0/gcc/gimple.h: In function ‘void > >>> gimple_call_set_fndecl(gimple, tree)’: > >>> ../../gcc-5.1.0/gcc/gimple.h:2769:77: error: > >>> ‘build_fold_addr_expr_loc’ was not declared in this scope > >>> gimple_set_op (gs, 1, build_fold_addr_expr_loc (gimple_location (gs), decl)); > >>> ^ > >>> Am I missing something? > >> > >> The patch was for trunk, where GCC's internal headers have been > >> reorganized, so we need different #includes for gcc-5-branch. > >> > >> Does the attached work? (it compiles; I haven't tested it though) > >> > > > > The isolated test works. Now running the full Lua test suite. > > Tests worked Good > however performance degraded similar to when > -fno-strict-aliasing is used. Bother. What kind of numbers are we talking about?