From: David Malcolm <dmalcolm@redhat.com>
To: Dibyendu Majumdar <mobile@majumdar.org.uk>
Cc: jit@gcc.gnu.org
Subject: [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: <1436477075.24803.171.camel@surprise> (raw)
In-Reply-To: <1436476508.24803.168.camel@surprise>
[-- Attachment #1: Type: text/plain, Size: 985 bytes --]
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?
Dave
[1] ...and yes, it's effectively a trivial 1-liner; sigh...
[-- Attachment #2: fix-for-pr-66812-v1.patch --]
[-- Type: text/x-patch, Size: 1031 bytes --]
commit 77422fd3d87d2a70577642e61828f31c8d1ead31
Author: David Malcolm <dmalcolm@redhat.com>
Date: Thu Jul 9 17:42:14 2015 -0400
FIXME: PR jit/66812: candidate fix: implementation of LANG_HOOKS_GET_ALIAS_SET
diff --git a/gcc/jit/dummy-frontend.c b/gcc/jit/dummy-frontend.c
index 3ddab50..6481c29 100644
--- a/gcc/jit/dummy-frontend.c
+++ b/gcc/jit/dummy-frontend.c
@@ -39,6 +39,12 @@ along with GCC; see the file COPYING3. If not see
#include "function.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"
@@ -252,6 +258,9 @@ jit_langhook_getdecls (void)
#undef LANG_HOOKS_GETDECLS
#define LANG_HOOKS_GETDECLS jit_langhook_getdecls
+#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"
next prev parent reply other threads:[~2015-07-09 21:32 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 ` 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 ` Dibyendu Majumdar
2015-01-01 0:00 ` David Malcolm
2015-01-01 0:00 ` David Malcolm [this message]
2015-01-01 0:00 ` [PATCH] PR jit/66812: Candidate fix for for the code generation issue, v1 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 ` 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 ` 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 ` 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=1436477075.24803.171.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).