public inbox for jit@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Malcolm <dmalcolm@redhat.com>
To: Dibyendu Majumdar <mobile@majumdar.org.uk>
Cc: jit@gcc.gnu.org
Subject: Re: [PATCH] PR jit/66812: Candidate fix for for the code generation issue, v1
Date: Thu, 01 Jan 2015 00:00:00 -0000	[thread overview]
Message-ID: <1436484627.24803.173.camel@surprise> (raw)
In-Reply-To: <CACXZuxf=dh5k78Nwi5Y_VSUZbNLYw3BiMvrmt237vz-a3ChBAg@mail.gmail.com>

[-- Attachment #1: Type: text/plain, Size: 1851 bytes --]

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)



[-- Attachment #2: fix-for-pr-66812-v1-against-gcc-5.patch --]
[-- Type: text/x-patch, Size: 1067 bytes --]

diff --git a/gcc/jit/dummy-frontend.c b/gcc/jit/dummy-frontend.c
index 8f7d06a..e1c01ad 100644
--- a/gcc/jit/dummy-frontend.c
+++ b/gcc/jit/dummy-frontend.c
@@ -31,6 +31,7 @@ along with GCC; see the file COPYING3.  If not see
 #include "stor-layout.h"
 #include "inchash.h"
 #include "tree.h"
+#include "fold-const.h"
 #include "debug.h"
 #include "langhooks.h"
 #include "langhooks-def.h"
@@ -46,6 +47,12 @@ along with GCC; see the file COPYING3.  If not see
 #include "ipa-ref.h"
 #include "dumpfile.h"
 #include "cgraph.h"
+#include "predict.h"
+#include "function.h"
+#include "basic-block.h"
+#include "tree-ssa-alias.h"
+#include "gimple-expr.h"
+#include "gimple.h"
 
 #include "jit-common.h"
 #include "jit-logging.h"
@@ -266,6 +273,9 @@ jit_langhook_write_globals (void)
 #undef LANG_HOOKS_WRITE_GLOBALS
 #define LANG_HOOKS_WRITE_GLOBALS	jit_langhook_write_globals
 
+#undef LANG_HOOKS_GET_ALIAS_SET
+#define LANG_HOOKS_GET_ALIAS_SET        gimple_get_alias_set
+
 struct lang_hooks lang_hooks = LANG_HOOKS_INITIALIZER;
 
 #include "gt-jit-dummy-frontend.h"

  reply	other threads:[~2015-07-09 23:38 UTC|newest]

Thread overview: 47+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-01-01  0:00 A possible code generation issue Dibyendu Majumdar
2015-01-01  0:00 ` Dibyendu Majumdar
2015-01-01  0:00   ` Dibyendu Majumdar
2015-01-01  0:00     ` Dibyendu Majumdar
2015-01-01  0:00       ` Filed PR jit/66812 for the " David Malcolm
2015-01-01  0:00         ` David Malcolm
2015-01-01  0:00           ` David Malcolm
2015-01-01  0:00             ` Dibyendu Majumdar
2015-01-01  0:00             ` David Malcolm
2015-01-01  0:00               ` Dibyendu Majumdar
2015-01-01  0:00                 ` David Malcolm
2015-01-01  0:00                   ` Dibyendu Majumdar
2015-01-01  0:00                     ` David Malcolm
2015-01-01  0:00                       ` Dibyendu Majumdar
2015-01-01  0:00                         ` Dibyendu Majumdar
2015-01-01  0:00                           ` David Malcolm
2015-01-01  0:00                             ` Dibyendu Majumdar
2015-01-01  0:00                               ` David Malcolm
2015-01-01  0:00                                 ` David Malcolm
2015-01-01  0:00                                   ` [PATCH] PR jit/66812: Candidate fix for for the code generation issue, v1 David Malcolm
2015-01-01  0:00                                     ` Dibyendu Majumdar
2015-01-01  0:00                                       ` David Malcolm [this message]
2015-01-01  0:00                                         ` Dibyendu Majumdar
2015-01-01  0:00                                           ` Dibyendu Majumdar
2015-01-01  0:00                                             ` David Malcolm
2015-01-01  0:00                                               ` Dibyendu Majumdar
2015-01-01  0:00                                                 ` Dibyendu Majumdar
2015-01-01  0:00                                 ` Filed PR jit/66812 for the code generation issue Dibyendu Majumdar
2015-01-01  0:00               ` Dibyendu Majumdar
2015-01-01  0:00                 ` Dibyendu Majumdar
2015-01-01  0:00                   ` Dibyendu Majumdar
2015-01-01  0:00                     ` Dibyendu Majumdar
2015-01-01  0:00                       ` Dibyendu Majumdar
2015-01-01  0:00                         ` Dibyendu Majumdar
2015-01-01  0:00                           ` David Malcolm
2015-01-01  0:00                             ` David Malcolm
2015-01-01  0:00                               ` Dibyendu Majumdar
2015-01-01  0:00                             ` Dibyendu Majumdar
2015-01-01  0:00               ` David Malcolm
2015-01-01  0:00       ` A possible " David Malcolm
2015-01-01  0:00         ` Dibyendu Majumdar
2015-01-01  0:00           ` Dibyendu Majumdar
2015-01-01  0:00             ` Filed PR jit/66811: jit jumps aren't compilable as C (Re: A possible code generation issue) David Malcolm
2015-01-01  0:00               ` Filed PR jit/66811: jit dumps " David Malcolm
2015-01-01  0:00             ` A possible code generation issue Dibyendu Majumdar
2015-01-01  0:00               ` PR jit/66783 (Re: A possible code generation issue) David Malcolm
2015-01-01  0:00                 ` [PATCH, committed] PR jit/66783: prevent use of opaque structs David Malcolm

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1436484627.24803.173.camel@surprise \
    --to=dmalcolm@redhat.com \
    --cc=jit@gcc.gnu.org \
    --cc=mobile@majumdar.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).