[PATCH] PR jit/66812: Candidate fix for for the code generation issue, v1

David Malcolm dmalcolm@redhat.com
Thu Jan 1 00:00:00 GMT 2015


On Thu, 2015-07-09 at 23:20 +0100, Dibyendu Majumdar wrote:
> On 9 July 2015 at 22:24, David Malcolm <dmalcolm@redhat.com> 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)


-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-for-pr-66812-v1-against-gcc-5.patch
Type: text/x-patch
Size: 1067 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/jit/attachments/20150101/7afa3db7/attachment.bin>


More information about the Jit mailing list