[PATCH 06/10] Heart of the JIT implementation (was: Re: [PATCH 0/5] Merger of jit branch (v2))
David Malcolm
dmalcolm@redhat.com
Wed Jan 1 00:00:00 GMT 2014
On Tue, 2014-10-14 at 11:09 -0400, David Malcolm wrote:
> On Mon, 2014-10-13 at 13:45 -0400, David Malcolm wrote:
> > I'd like to merge the JIT branch into trunk:
> > https://gcc.gnu.org/wiki/JIT
> >
> > This is "v2" since it incorporates fixes for the various issues
> > identified by Joseph in an earlier submission:
> > https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02056.html
> >
> > I've split up the current diff between trunk and the branch into 5
> > areas for ease of review (and to allow for early merger of the
> > supporting work, if it's deemed ready):
> >
> > patch 1: exposes an entrypoint in libiberty that I need
> > patch 2: configure and Makefile changes in "gcc"
> > patch 3: timevar.h: Add an auto_timevar class
> > patch 4: State cleanups in "gcc"
> > patch 5: Add the "jit" code itself
> >
> > [this is a diff of trunk r215958 aka
> > e012cdc775868e9922f5fef9068a764546876d93 which is from 2014-10-06,
> > vs jit branch version 75b3ee7acdc6de55354d65bb7d619386463e50a1].
> >
> > I've successfully bootstrapped and regression-tested the cumulative
> > result of all of the patches against a control build, building them
> > both with --enable-host-shared, and with
> > --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto
> > adding ",jit" to the test build (both on x86_64-unknown-linux-gnu;
> > Fedora 20).
> >
> > There were no regressions vs the control build, and the patched build
> > gains a jit.sum, with 4663 passes (and no failures).
> >
> > OK for trunk?
>
> Patch 5 seems to have been too large, even compressed, so I'm breaking
> it up into separate pieces and compressing, giving 10 patches in total
>
> Patches 1-4 are as above.
>
> Patch 5: remaining JIT-related changes outside of the gcc/jit/ subdir
>
> Patch 6: the core of the JIT implementation: the gcc/jit subdir
>
> Patch 7: the testsuite: gcc/testsuite/jit.dg
>
> Patch 8: sphinx-based documentation: the gcc/jit/docs subdir
>
> Patch 9: texinfo documentation autogenerated from the sphinx sources.
>
> Patch 10: the ChangeLog.jit logs from the branch.
This commit adds the gcc/jit subdirectory, implementing the library,
which looks like a frontend named "jit" from the POV of the rest of the
gcc code.
gcc/jit/ChangeLog:
* Make-lang.in: New.
* TODO.rst: New.
* config-lang.in: New.
* dummy-frontend.c: New.
* jit-builtins.c: New.
* jit-builtins.h: New.
* jit-common.h: New.
* jit-playback.c: New.
* jit-playback.h: New.
* jit-recording.c: New.
* jit-recording.h: New.
* libgccjit++.h: New.
* libgccjit.c: New.
* libgccjit.h: New.
* libgccjit.map: New.
* libgccjit.pc.in: New.
* notes.txt: New.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0006-Heart-of-the-JIT-implementation.patch.gz
Type: application/x-gzip
Size: 70517 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/jit/attachments/20140101/5dd2c325/attachment.bin>
More information about the Jit
mailing list