From: David Malcolm <dmalcolm@redhat.com>
To: Richard Biener <richard.guenther@gmail.com>
Cc: jit@gcc.gnu.org, GCC Patches <gcc-patches@gcc.gnu.org>,
Jakub Jelinek <jakub@redhat.com>,
Joseph Myers <joseph@codesourcery.com>
Subject: Re: [PATCH] Re: Stage 3 RFC: using "jit" for ahead-of-time compilation
Date: Thu, 01 Jan 2015 00:00:00 -0000 [thread overview]
Message-ID: <1421717715.4255.73.camel@surprise> (raw)
In-Reply-To: <CAFiYyc2i4YE0qAaLQRiwa-hSpkUa=xMO26FJymCSWdbV+aF=Vw@mail.gmail.com>
On Mon, 2015-01-19 at 10:51 +0100, Richard Biener wrote:
> On Fri, Jan 16, 2015 at 7:47 PM, David Malcolm <dmalcolm@redhat.com> wrote:
> > On Thu, 2015-01-15 at 22:50 +0100, Richard Biener wrote:
> >> On January 15, 2015 9:05:59 PM CET, David Malcolm <dmalcolm@redhat.com> wrote:
> >> >Release managers: given that this only touches the jit, and that the
> >> >jit
> >> >is off by default, any objections if I go ahead and commit this?
> >> >It's a late-breaking feature, but the jit as a whole is new, and
> >> >I think the following is a big win, so I'd like to proceed with this in
> >> >stage 3 (i.e. in the next 24 hours). There are docs and testcases.
> >> >
> >> >New jit API entrypoint: gcc_jit_context_compile_to_file
> >> >
> >> >This patch adds a way to use libgccjit for ahead-of-time compilation.
> >> >I noticed that given the postprocessing steps the jit has to take to
> >> >turn the .s file into in-memory code (invoke driver to convert to
> >> >a .so and then dlopen), that it's not much of a leap to support
> >> >compiling the .s file into objects, dynamic libraries, and executables.
> >> >
> >> >Doing so seems like a big win from a feature standpoint: people with
> >> >pre-existing frontend code who want a backend can then plug in
> >> >libgccjit
> >> >and have a compiler, without needing to write it as a GCC frontend, or
> >> >use LLVM.
> >>
> >> Note that you should make them aware of our runtime license with
> >> respect to the eligible compilation process. Which means this is not
> >> a way to implement proprietary front ends.
> >>
> >> Richard.
> >
> > IANAL, but as I understand things, the runtime license is an additional
> > grant of rights that covers certain components of GCC that bear the GCC
> > Runtime Library Exception, allowing them to be used in certain
> > additional ways beyond regular GPLv3-compliance.
> >
> > libgccjit doesn't have that exception; it's GPLv3.
> >
> > Perhaps an argument could be made for libgccjit to have the exception,
> > if the FSF think that that would better serve the FSF's mission; right
> > now, I'm merely trying to provide a technical means to modularity.
> >
> > Assuming the above is correct, anything linked against it needs to be
> > GPLv3-compatible. Hence any such frontend linked against libgccjit
> > would need to be GPLv3-compatible.
> >
> > Attached is a patch (on top of the proposed one below), to clarify the
> > wording in the new tutorial a little, to remind people that such linking
> > needs to be license-compatible (without actually spelling out what the
> > license is, though it's visible at the top of the public header file,
> > libgccjit.h, as GPLv3 or later without the runtime library exception).
> >
> > Are the combined patches OK by you?
>
> Yes.
>
> Thanks,
> Richard.
Thanks. I've committed the combination of the two patches to trunk as
r219876. Sorry about the lateness of this feature.
With this commit, gcc now has a brainf*** frontend (albeit one hidden
deep in the jit examples dir, and not using the regular frontend
machinery).
Dave
prev parent reply other threads:[~2015-01-20 1:41 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-01 0:00 David Malcolm
2015-01-01 0:00 ` Jakub Jelinek
2015-01-01 0:00 ` Richard Biener
2015-01-01 0:00 ` [PATCH] " David Malcolm
2015-01-01 0:00 ` Richard Biener
2015-01-01 0:00 ` David Malcolm [this message]
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=1421717715.4255.73.camel@surprise \
--to=dmalcolm@redhat.com \
--cc=gcc-patches@gcc.gnu.org \
--cc=jakub@redhat.com \
--cc=jit@gcc.gnu.org \
--cc=joseph@codesourcery.com \
--cc=richard.guenther@gmail.com \
/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).