public inbox for jit@gcc.gnu.org
 help / color / mirror / Atom feed
From: David Malcolm <dmalcolm@redhat.com>
To: Richard Biener <rguenther@suse.de>, Jakub Jelinek <jakub@redhat.com>
Cc: nd <nd@arm.com>, Andrea Corallo <Andrea.Corallo@arm.com>,
		"gcc-patches@gcc.gnu.org"	 <gcc-patches@gcc.gnu.org>,
	"jit@gcc.gnu.org" <jit@gcc.gnu.org>
Subject: Re: Late-breaking jit features (was Re: [PATCH][gcc] libgccjit: introduce gcc_jit_context_add_driver_option)
Date: Tue, 01 Jan 2019 00:00:00 -0000	[thread overview]
Message-ID: <1549120723.29992.14.camel@redhat.com> (raw)
In-Reply-To: <C5DE403F-830D-4A08-9038-203828766B7C@suse.de>

On Sat, 2019-02-02 at 08:26 +0100, Richard Biener wrote:
> On February 1, 2019 10:11:12 PM GMT+01:00, David Malcolm <dmalcolm@re
> dhat.com> wrote:
> > On Mon, 2019-01-21 at 08:40 +0000, Andrea Corallo wrote:
> > > Hi all,
> > > Second version of the patch addressing David's comment about all-
> > > non-
> > > failing-tests.h
> > > 
> > > Adds gcc_jit_context_add_driver_option to the libgccjit ABI and a
> > > testcase for it.
> > > 
> > > Using this interface is now possible to pass options affecting
> > > assembler and linker.
> > > 
> > > Does not introduce regressions running make check-jit
> > 
> > Thanks; the patch looks good.
> > 
> > [CCing the release managers]
> > 
> > Given that gcc development is now in stage 4, we really shouldn't
> > be
> > adding new features, but I'm wondering if an exception can be made
> > for
> > libgccjit?  (this patch purely touches the jit subdirectories).
> > 
> > There's one other late-breaking change, here:
> >  [PATCH][jit] Add thread-local globals to the libgccjit frontend
> >    https://gcc.gnu.org/ml/gcc-patches/2019-01/msg00227.html
> > which is nearly ready, but is awaiting copyright assignment
> > paperwork.
> > 
> > Alternatively, should these patches go into a branch of queued jit
> > changes for gcc 10?
> 
> Is there anything like an ABI involved? If so we should avoid
> breaking it all the time. Otherwise JIT is not release critical and
> thus if you break it in the wrong moment it's your own fault. 

The two patches each add a new API entrypoint, but libgccjit uses
symbol-versioning to extend the ABI, without bumping the SONAME:
  https://gcc.gnu.org/onlinedocs/jit/topics/compatibility.html
So it's not an ABI break as such.

Dave


> Richard. 
> 
> > Thanks
> > Dave
> > 
> > 
> > > Bests
> > > 
> > >   Andrea
> > > 
> > > 
> > > gcc/jit/ChangeLog
> > > 2019-01-16  Andrea Corallo  andrea.corallo@arm.com
> > > 
> > > * docs/topics/compatibility.rst (LIBGCCJIT_ABI_11): New ABI tag.
> > > * docs/topics/contexts.rst (Additional driver options): New
> > > section.
> > > * jit-playback.c (invoke_driver): Add call to
> > > append_driver_options.
> > > * jit-recording.c: Within namespace gcc::jit...
> > > (recording::context::~context): Free the optnames within
> > > m_driver_options.
> > > (recording::context::add_driver_option): New method.
> > > (recording::context::append_driver_options): New method.
> > > (recording::context::dump_reproducer_to_file): Add driver
> > > options.
> > > * jit-recording.h: Within namespace gcc::jit...
> > > (recording::context::add_driver_option): New method.
> > > (recording::context::append_driver_options): New method.
> > > (recording::context::m_driver_options): New field.
> > > * libgccjit++.h (gccjit::context::add_driver_option): New
> > > method.
> > > * libgccjit.c (gcc_jit_context_add_driver_option): New API
> > > entrypoint.
> > > * libgccjit.h (gcc_jit_context_add_driver_option): New API
> > > entrypoint.
> > > (LIBGCCJIT_HAVE_gcc_jit_context_add_driver_option): New
> > > macro.
> > > * libgccjit.map (LIBGCCJIT_ABI_11): New ABI tag.
> > > 
> > > 
> > > 
> > > gcc/testsuite/ChangeLog
> > > 2019-01-16  Andrea Corallo  andrea.corallo@arm.com
> > > 
> > > * jit.dg/add-driver-options-testlib.c: Add support file for
> > > test-add-driver-options.c testcase.
> > > * jit.dg/all-non-failing-tests.h: Add note about
> > > test-add-driver-options.c
> > > * jit.dg/jit.exp (jit-dg-test): Update to support
> > > add-driver-options-testlib.c compilation.
> > > * jit.dg/test-add-driver-options.c: New testcase.
> > > 
> 
> 

  reply	other threads:[~2019-02-02 15:18 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-01  0:00 [PATCH][gcc] libgccjit: introduce gcc_jit_context_add_driver_option Andrea Corallo
2019-01-01  0:00 ` Late-breaking jit features (was Re: [PATCH][gcc] libgccjit: introduce gcc_jit_context_add_driver_option) David Malcolm
2019-01-01  0:00   ` Richard Biener
2019-01-01  0:00     ` David Malcolm [this message]
2019-01-01  0:00       ` Jakub Jelinek
2019-01-01  0:00         ` David Malcolm
2019-01-01  0:00           ` Andrea Corallo
2019-01-01  0:00             ` 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=1549120723.29992.14.camel@redhat.com \
    --to=dmalcolm@redhat.com \
    --cc=Andrea.Corallo@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=jakub@redhat.com \
    --cc=jit@gcc.gnu.org \
    --cc=nd@arm.com \
    --cc=rguenther@suse.de \
    /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).