public inbox for jit@gcc.gnu.org
 help / color / mirror / Atom feed
* [PATCH 0/2] Refactoring of timevar API
@ 2015-01-01  0:00 David Malcolm
  2015-01-01  0:00 ` [PATCH 1/2] gcc parts of timer refactoring David Malcolm
  2015-01-01  0:00 ` [PATCH 2/2] jit: add timing API David Malcolm
  0 siblings, 2 replies; 4+ messages in thread
From: David Malcolm @ 2015-01-01  0:00 UTC (permalink / raw)
  To: jit, gcc-patches; +Cc: David Malcolm

The attached two patches correspond to the first patch:
 "[PATCH 01/16] gcc: Generalization of timevar API; add gcc_jit_timer interface"
   https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00122.html
of the 16-patch kit I posted in June:
  https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00116.html

For ease of review, I've broken it up into two patches:

  * the first patch contains the changes to the core gcc directory
    (requires review)

  * the second patch contains the changes to the gcc/jit
    subdirectory (which I can self-approve).

That said, both patches require each other and would be
committed as one.

These patches are useful without needing the 15 followup patches,
in that they allow jit client code to control timing, leading to
more meaningful benchmark results).

For further motivation, see:
  https://gcc.gnu.org/ml/gcc-patches/2015-06/msg00122.html

(as well as the split into a pair of patches, there are some
small changes to the jit side relative to that earlier patch).

Successfully bootstrapped & regrtested the combination of the two
patches on x86_64-pc-linux-gnu (Fedora 20) with all languages
other than ada [1].

jit.sum goes from 8494 to 8514 passes.

Are the non-jit parts OK for trunk?

[1] I ran into:
 a-chlat1.ads:16:08: warning: unrecognized pragma "Compiler_Unit_Warning"
on ada, which is apparently unrelated.

David Malcolm (2):
  gcc parts of timer refactoring
  jit: add timing API

 gcc/jit/docs/topics/compatibility.rst              |  21 ++
 gcc/jit/docs/topics/contexts.rst                   |   3 +-
 gcc/jit/docs/topics/index.rst                      |   1 +
 gcc/jit/docs/topics/performance.rst                | 240 ++++++++++++++++++++
 gcc/jit/jit-playback.c                             |  11 +-
 gcc/jit/jit-playback.h                             |   2 +
 gcc/jit/jit-recording.c                            |   2 +
 gcc/jit/jit-recording.h                            |   7 +
 gcc/jit/libgccjit++.h                              | 117 ++++++++++
 gcc/jit/libgccjit.c                                | 109 +++++++++
 gcc/jit/libgccjit.h                                |  84 +++++++
 gcc/jit/libgccjit.map                              |  12 +
 gcc/main.c                                         |   2 +-
 gcc/testsuite/jit.dg/test-benchmark.c              |  20 +-
 .../jit.dg/test-error-gcc_jit_timer_pop-mismatch.c |  22 ++
 .../jit.dg/test-error-gcc_jit_timer_pop-too-many.c |  21 ++
 gcc/timevar.c                                      | 247 ++++++++++++++++++---
 gcc/timevar.def                                    |   2 +
 gcc/timevar.h                                      |  35 ++-
 gcc/toplev.c                                       |  18 +-
 gcc/toplev.h                                       |   4 +-
 21 files changed, 926 insertions(+), 54 deletions(-)
 create mode 100644 gcc/jit/docs/topics/performance.rst
 create mode 100644 gcc/testsuite/jit.dg/test-error-gcc_jit_timer_pop-mismatch.c
 create mode 100644 gcc/testsuite/jit.dg/test-error-gcc_jit_timer_pop-too-many.c

-- 
1.8.5.3

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-08-03 17:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-01-01  0:00 [PATCH 0/2] Refactoring of timevar API David Malcolm
2015-01-01  0:00 ` [PATCH 1/2] gcc parts of timer refactoring David Malcolm
2015-01-01  0:00   ` Jeff Law
2015-01-01  0:00 ` [PATCH 2/2] jit: add timing API David Malcolm

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).