[gimple-classes, committed 36/92] Introduce gimple_omp_for

2014-10-27 Thread David Malcolm
| 3 ++- 9 files changed, 87 insertions(+), 32 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 4f87c87..7ad116a 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,58 @@ 2014-10-24 David Malcolm

[gimple-classes, committed 11/92] tree-predcom.c: use gimple_phi in various places

2014-10-27 Thread David Malcolm
imple-classes index fb4c222..0e6a5d9 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,17 @@ 2014-10-24 David Malcolm + tree-predcom.c: use gimple_phi in various places + + * tree-predcom.c (find_looparound_phi): Return a gimple_phi rather +

[gimple-classes, committed 81/92] Concretize gimple_call_set_tail and gimple_call_tail_p

2014-10-27 Thread David Malcolm
4 ++-- gcc/tree-tailcall.c | 2 +- 6 files changed, 44 insertions(+), 21 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index f0737b9..56fe40d 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,25 @@ 2014-10-2

[gimple-classes, committed 44/92] tree-parloops.c: Use gimple_phi in various places

2014-10-27 Thread David Malcolm
a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index b0a8465..b8d2f38 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,16 @@ 2014-10-24 David Malcolm + tree-parloops.c: Use gimple_phi in various places + + * tree-parloops.c (r

[gimple-classes, committed 59/92] Concretize gimple_call_use_set and gimple_call_clobber_set

2014-10-27 Thread David Malcolm
git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index d2bc077..5cf1049 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,12 @@ 2014-10-24 David Malcolm + Concretize gimple_call_use_set and gimple_call_clobber_set + + * gimpl

[gimple-classes, committed 48/92] Make gimple_phi_arg_set_location require a gimple_phi

2014-10-27 Thread David Malcolm
gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index a162b12..f7d2c73 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,12 @@ 2014-10-24 David Malcolm + Make gimple_phi_arg_set_location require a gimple_phi + + * gimpl

[gimple-classes, committed 30/92] Introduce gimple_try

2014-10-27 Thread David Malcolm
lasses b/gcc/ChangeLog.gimple-classes index afdccbe..983819a 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,47 @@ 2014-10-24 David Malcolm + Introduce gimple_try + + * coretypes.h (gimple_try): New typedef. + (const_gimple_

[gimple-classes, committed 18/92] Introduce gimple_call

2014-10-27 Thread David Malcolm
sa-alias.h | 4 +- gcc/tree-ssa-dce.c | 2 +- gcc/tree-ssa-loop-prefetch.c | 2 +- gcc/tree-ssa-math-opts.c | 2 +- gcc/tree-ssa-operands.c | 4 +- gcc/tree-ssa-pre.c | 2 +- gcc/tree-ssa-sccvn.c | 17 +-- gcc/tree-ssa-sccvn.h | 2 +-

[gimple-classes, committed 62/92] Concretize gimple_try_set_catch_is_cleanup

2014-10-27 Thread David Malcolm
cc/gimplify.c | 2 +- 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index ba0f5c1..b874697 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,14 @@ 2014-10-24

[gimple-classes, committed 07/92] Introduce gimple_phi and use it in various places

2014-10-27 Thread David Malcolm
hanged, 98 insertions(+), 43 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index ec16551..7c2b168 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,60 @@ 2014-10-24 David Malcolm + Introduce gimple_phi and u

[gimple-classes, committed 08/92] Introduce gimple_phi_iterator

2014-10-27 Thread David Malcolm
100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,121 @@ 2014-10-24 David Malcolm + Introduce gimple_phi_iterator + + * gimple-iterator.h (struct gimple_phi_iterator): New subclass of + gimple_stmt_iterator with identical layout, but adding

[gimple-classes, committed 52/92] Make gimple_call_return_slot_opt_p require a gimple_call.

2014-10-27 Thread David Malcolm
ee-inline.c| 6 -- 5 files changed, 43 insertions(+), 22 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 8662070..9654b49 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,24 @@

[gimple-classes, committed 76/92] Concretize gimple_call_set_nothrow

2014-10-27 Thread David Malcolm
ple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,15 @@ 2014-10-24 David Malcolm + Concretize gimple_call_set_nothrow + + * gimple.h (gimple_call_set_nothrow): Require a gimple_call. + + * trans-mem.c (ipa_tm_insert_gettmclone_call): Likew

[gimple-classes, committed 53/92] Use gimple_call for callgraph edges

2014-10-27 Thread David Malcolm
hangeLog.gimple-classes index 9654b49..115f7ea 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,61 @@ 2014-10-24 David Malcolm + Use gimple_call for callgraph edges + + * cgraph.h (cgraph_edge::call_stmt): Strengthen field from plain +

[gimple-classes, committed 29/92] Use subclasses of gimple in various places

2014-10-27 Thread David Malcolm
ses @@ -1,5 +1,49 @@ 2014-10-24 David Malcolm + Use subclasses of gimple in various places + + * asan.c (insert_if_then_before_iter): Require a gimple cond + rathern than a plain gimple. + (asan_expand_check_ifn): Add a checked cast to gimple_c

[gimple-classes, committed 26/92] Introduce gimple_eh_else

2014-10-27 Thread David Malcolm
a 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,61 @@ 2014-10-24 David Malcolm + Introduce gimple_eh_else + + * coretypes.h (gimple_eh_else): New typedef. + (const_gimple_eh_else): New typedef. + + * gimple.h (gimple_buil

[gimple-classes, committed 24/92] Introduce gimple_eh_filter

2014-10-27 Thread David Malcolm
le-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,23 @@ 2014-10-24 David Malcolm + Introduce gimple_eh_filter + + * coretypes.h (gimple_eh_filter): New typedef. + (const_gimple_eh_filter): New typedef. + + * gimple.h (gimple_build_eh_filter): Return a gimple_eh_filter +

[gimple-classes, committed 91/92] Remove out-of-date references to typedefs

2014-10-27 Thread David Malcolm
changed, 10 insertions(+), 15 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index e925118..b0c61d1 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,12 @@ 2014-10-27 David Malcolm + * gimple.h (struct gdebug

[gimple-classes, committed 32/92] Introduce gimple_omp_atomic_load

2014-10-27 Thread David Malcolm
iles changed, 81 insertions(+), 43 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 5e6b383..3026787 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,42 @@ 2014-10-24 David Malcolm + Introduce gimple

[gimple-classes, committed 65/92] Make gimple_phi_arg_location require a gimple_phi.

2014-10-27 Thread David Malcolm
gimple-classes index 5a271ca..f2f9a05 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,30 @@ 2014-10-24 David Malcolm + Make gimple_phi_arg_location require a gimple_phi. + + * gimple.h (gimple_phi_arg_location): Require a gimple_phi.

[gimple-classes, committed 16/92] Update various expressions within tree-scalar-evolution.c to be gimple_phi

2014-10-27 Thread David Malcolm
x 4006f14..c28facc 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,27 @@ 2014-10-24 David Malcolm + Update various expressions within tree-scalar-evolution.c to be gimple_phi + + * tree-scalar-evolution.c (follow_ssa_edge): Require a gimple_p

[gimple-classes, committed 50/92] Make gimple_phi_arg_edge require a gimple_phi

2014-10-27 Thread David Malcolm
sa-dce.c | 3 +- gcc/tree-ssa-live.c | 2 +- gcc/tree-ssa-propagate.c| 14 --- gcc/tree-ssa-sink.c | 8 ++-- gcc/tree-ssa-uninit.c | 50 ++++ 15 files changed, 157 insertions(+), 64 deletions(-) di

[gimple-classes, committed 17/92] Concretize get_loop_exit_condition et al to working on gimple_cond

2014-10-27 Thread David Malcolm
ged, 25 insertions(+), 10 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index c28facc..627e6a2 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,19 @@ 2014-10-24 David Malcolm + Concretize get_loop_exit_cond

[gimple-classes, committed 55/92] Concretize parameter to gimple_call_copy_skip_args

2014-10-27 Thread David Malcolm
, 9 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 6fd5738..63e5a8c 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,12 @@ 2014-10-24 David Malcolm + Concretize parameter

[gimple-classes] Merge trunk r216157-r216746 into branch

2014-10-28 Thread David Malcolm
-- gcc/ipa-icf.c| 8 +++--- gcc/tree-ssa-forwprop.c | 8 +++--- gcc/tree-ssa-reassoc.c | 2 +- 9 files changed, 136 insertions(+), 63 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index aec5065..133965c 100644 ---

Re: [gimple-classes] Merge trunk r216157-r216746 into branch

2014-10-28 Thread David Malcolm
On Tue, 2014-10-28 at 14:47 -0400, David Malcolm wrote: > Merger of changes on trunk from r216157 (2014-10-13) to > r216746 (2014-10-27) into the dmalcolm/gimple-classes branch. [...] > Successfully bootstrapped®rtested on x86_64-unknown-linux-gnu > (Fedora 20) - same results re

[gimple-classes, committed 3/3] Strengthen remaining gimple_try_ accessors to require a gtry *

2014-10-29 Thread David Malcolm
ns(+), 94 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 50b87b9..10c3957 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,37 @@ 2014-10-28 David Malcolm + * gimple.h (gimple_try_kind): Strengthen param

[gimple-classes, committed 0/3] More accessor typesafety

2014-10-29 Thread David Malcolm
I've pushed the following three patches to the git branch "dmalcolm/gimple-classes". Successfully bootstrapped®rtested the combination of the three patches on x86_64-unknown-linux-gnu (Fedora 20) - same results relative to an unpatched control bootstrap of trunk's r21674

[gimple-classes, committed 1/3] Strengthen params of all gimple_wce_ accessors

2014-10-29 Thread David Malcolm
965c..b7a62de 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,37 @@ 2014-10-28 David Malcolm + * doc/gimple.texi (Class hierarchy of GIMPLE statements): Update + for renaming of gimple_statement_wce to gwce. + * gimple-walk.c (walk_gim

[gimple-classes, committed 2/3] Make gimple_goto_dest require a const ggoto *

2014-10-29 Thread David Malcolm
ge.c| 2 +- gcc/tree-ssa-threadupdate.c | 2 +- 16 files changed, 87 insertions(+), 39 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index b7a62de..50b87b9 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,47 @@ 2014-10-28

[gimple-classes, committed 03/10] Make remaining gimple_omp_teams_ accessors typesafe

2014-10-29 Thread David Malcolm
ons(+), 23 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 68add33..626ea2f 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,19 @@ 2014-10-29 David Malcolm + * gimple.h (gimple_omp_teams_clauses): S

[gimple-classes, committed 00/10] Even more accessor typesafety

2014-10-29 Thread David Malcolm
I've pushed the following ten patches to the git branch "dmalcolm/gimple-classes". Successfully bootstrapped®rtested the combination of the ten patches upon the branch on x86_64-unknown-linux-gnu (Fedora 20) - same results relative to an unpatched control bootstrap of trunk&#x

[gimple-classes, committed 01/10] Make all of gimple_omp_task_ accessors typesafe

2014-10-29 Thread David Malcolm
| 13 ++--- gcc/tree-inline.c| 21 7 files changed, 145 insertions(+), 126 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 10c3957..07ebee7 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @

[gimple-classes, committed 07/10] Make remaining gimple_omp_target_ accessors typesafe

2014-10-29 Thread David Malcolm
--- 6 files changed, 184 insertions(+), 125 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index f265a25..cc8b97b 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,30 @@ 2014-10-29 David Malcolm +

[gimple-classes, committed 09/10] Make remaining gimple_eh_filter_ accessors typesafe

2014-10-29 Thread David Malcolm
. + (refactor_eh_r): Add a checked cast. + * tree-inline.c (remap_gimple_stmt): Within case + GIMPLE_EH_FILTER, introduce local "filter_stmt" via a checked cast + and use in place of "stmt". + (estimate_num_insns): Add check

[gimple-classes, committed 02/10] Make all gimple_omp_for_ accessors typesafe

2014-10-29 Thread David Malcolm
| 39 +- gcc/gimple.h | 136 --- gcc/omp-low.c| 167 ++- gcc/tree-inline.c| 52 +- gcc/tree-nested.c| 42 ++- 7 files changed, 330 ins

[gimple-classes, committed 04/10] Make all gimple_omp_sections_ accessors typesafe

2014-10-29 Thread David Malcolm
.gimple-classes index 626ea2f..469c009 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,29 @@ 2014-10-29 David Malcolm + * gimple.h (gimple_omp_sections_clauses): Strengthen param from + const_gimple to const gomp_sections *. + (

[gimple-classes, committed 06/10] Convert remaining gimple_omp_single_ accessors to be typesafe

2014-10-29 Thread David Malcolm
ons(+), 23 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index d85abcd..f265a25 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,19 @@ 2014-10-29 David Malcolm + * gimple.h (gimple_omp_single_clauses): S

[gimple-classes, committed 05/10] Make all gimple_omp_return_ accessors typesafe

2014-10-29 Thread David Malcolm
| 27 +-- gcc/omp-low.c| 44 +--- 6 files changed, 78 insertions(+), 43 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 469c009..d85abcd 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-cl

[gimple-classes, committed 10/10] Introduce gpredict subclass and use it for all gimple_predict_ accessors

2014-10-29 Thread David Malcolm
s +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,31 @@ 2014-10-29 David Malcolm + * coretypes.h (struct gpredict): Add forward declaration. + * doc/gimple.texi (Class hierarchy of GIMPLE statements): Add + gpredict. + * gimple-pretty-print.c (pp_gimple_stmt_1): Within ca

[gimple-classes, committed 08/10] Make remainging gimple_omp_parallel_ accessors typesafe

2014-10-29 Thread David Malcolm
gimple-classes b/gcc/ChangeLog.gimple-classes index cc8b97b..e8001f4 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,26 @@ 2014-10-29 David Malcolm + * gimple.h (gimple_omp_parallel_combined_p): Strengthen param from + const_gimple to

[jit] Tweaks to install.texi

2014-10-29 Thread David Malcolm
On Tue, 2014-10-21 at 15:24 -0400, David Malcolm wrote: > On Tue, 2014-10-21 at 18:15 +0200, Gerald Pfeifer wrote: > > On Monday 2014-10-20 15:19, David Malcolm wrote: > > > +@item Sphinx (any working version) > > > > As opposed to "any non-working version"

Re: [PATCH 06/10] Heart of the JIT implementation (was: Re: [PATCH 0/5] Merger of jit branch (v2))

2014-10-30 Thread David Malcolm
On Fri, 2014-10-17 at 21:52 +, Joseph S. Myers wrote: > Does libgccjit.so end up getting linked with -static-libstdc++ > -static-libgcc? (sorry for belated reply) It does when built with a bootstrap, but doesn't with --disable-bootstrap. In the former case, the builddir's gcc/Makefile in th

[jit] Remove some dead code

2014-10-30 Thread David Malcolm
/ChangeLog.jit index ce0ad40..90fccdb 100644 --- a/gcc/jit/ChangeLog.jit +++ b/gcc/jit/ChangeLog.jit @@ -1,3 +1,7 @@ +2014-10-30 David Malcolm + + * dummy-frontend.c (jit_langhook_init): Remove some dead code. + 2014-10-27 David Malcolm * dummy-frontend.c: Drop includes of

[PATCH 00/27] Merger of jit branch v3

2014-10-31 Thread David Malcolm
I'd like to merge the JIT branch into trunk: https://gcc.gnu.org/wiki/JIT This is "v3" since it incorporates fixes for various issues identified in earlier submissions: v1: https://gcc.gnu.org/ml/gcc-patches/2014-09/msg02056.html v2: https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01168.html

[PATCH 01/27] gcc: configure and Makefile changes needed by jit

2014-10-31 Thread David Malcolm
An earlier version of this was posted as: "[PATCH 2/5] gcc: configure and Makefile changes needed by jit" https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01169.html Since then, I've eliminated the gcc_version, bindir, and pkgconfigdir additions, and added the FULL_DRIVER_NAME variable and syml

[PATCH 03/27] Add Sphinx to install.texi

2014-10-31 Thread David Malcolm
In https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01793.html, Joseph said: > Although Sphinx isn't a build dependency, as a dependency for > regenerating checked-in files I think it should be documented in > install.texi (like autoconf, gettext, etc.). This patch adds such documentation. gcc/Chan

[PATCH 02/27] JIT-related changes outside of jit subdir

2014-10-31 Thread David Malcolm
David Malcolm SLSR Bill Schmidt +jit David Malcolm Note that individuals who maintain parts of the compiler need approval to check in changes outside of the parts of the compiler they maintain. diff --git a/contrib

[PATCH 05/27] New file: gcc/jit/config-lang.in

2014-10-31 Thread David Malcolm
gcc/jit/ * config-lang.in: New. --- gcc/jit/config-lang.in | 38 ++ 1 file changed, 38 insertions(+) create mode 100644 gcc/jit/config-lang.in diff --git a/gcc/jit/config-lang.in b/gcc/jit/config-lang.in new file mode 100644 index 000..7a32afe ---

[PATCH 22/27] Documentation: top-level index.rst

2014-10-31 Thread David Malcolm
(+) create mode 100644 gcc/jit/docs/index.rst diff --git a/gcc/jit/docs/index.rst b/gcc/jit/docs/index.rst new file mode 100644 index 000..ed75e36 --- /dev/null +++ b/gcc/jit/docs/index.rst @@ -0,0 +1,50 @@ +.. Copyright (C) 2014 Free Software Foundation, Inc. + Originally contributed by David

[PATCH 09/27] New file: gcc/jit/libgccjit.map

2014-10-31 Thread David Malcolm
/gcc/jit/libgccjit.map b/gcc/jit/libgccjit.map new file mode 100644 index 000..d4ba7b6 --- /dev/null +++ b/gcc/jit/libgccjit.map @@ -0,0 +1,100 @@ +# Linker script for libgccjit.so +# Copyright (C) 2013-2014 Free Software Foundation, Inc. +# Contributed by David Malcolm . +# +# This file is

[PATCH 20/27] Documentation: Makefile and conf.py

2014-10-31 Thread David Malcolm
When I previously submitted the jit for review, I posted all of the documentation as one big patch, as: "[PATCH 08/10] Documentation for the JIT library (Re: Patches 5-10 of jit merger)" https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01392.html Since then, I've: * eliminated all mentions

[PATCH 07/27] New file: gcc/jit/dummy-frontend.c

2014-10-31 Thread David Malcolm
gcc/jit/ * dummy-frontend.c: New. --- gcc/jit/dummy-frontend.c | 240 +++ 1 file changed, 240 insertions(+) create mode 100644 gcc/jit/dummy-frontend.c diff --git a/gcc/jit/dummy-frontend.c b/gcc/jit/dummy-frontend.c new file mode 100644 index

[PATCH 06/27] New file: gcc/jit/Make-lang.in

2014-10-31 Thread David Malcolm
gcc/jit/ * Make-lang.in: New. --- gcc/jit/Make-lang.in | 298 +++ 1 file changed, 298 insertions(+) create mode 100644 gcc/jit/Make-lang.in diff --git a/gcc/jit/Make-lang.in b/gcc/jit/Make-lang.in new file mode 100644 index 000..167fcad

[PATCH 21/27] Documentation: the "examples" subdirectory

2014-10-31 Thread David Malcolm
This patch adds examples. These examples are used included by the documentation when it is built, and are run as code by the testsuite, ensuring that the examples shown in the docs build and run. gcc/jit/ * docs/examples/tut01-hello-world.c: New. * docs/examples/tut02-square.c: Ne

[PATCH 23/27] Documentation: the "intro" subdirectory

2014-10-31 Thread David Malcolm
Foundation, Inc. + Originally contributed by David Malcolm + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) a

[PATCH 11/27] New file: gcc/jit/jit-common.h

2014-10-31 Thread David Malcolm
diff --git a/gcc/jit/jit-common.h b/gcc/jit/jit-common.h new file mode 100644 index 000..58e4a8c --- /dev/null +++ b/gcc/jit/jit-common.h @@ -0,0 +1,182 @@ +/* Core of implementation of libgccjit.so + Copyright (C) 2013-2014 Free Software Foundation, Inc. + Contributed by David Malcolm

[PATCH 10/27] New file: gcc/jit/libgccjit.c

2014-10-31 Thread David Malcolm
+ API + Copyright (C) 2013-2014 Free Software Foundation, Inc. + Contributed by David Malcolm . + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free Software Foundation; either vers

[PATCH 12/27] New file: gcc/jit/jit-recording.h

2014-10-31 Thread David Malcolm
recording calls made to the JIT API. + Copyright (C) 2013-2014 Free Software Foundation, Inc. + Contributed by David Malcolm . + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free

[PATCH 18/27] New file: gcc/jit/TODO.rst

2014-10-31 Thread David Malcolm
This is a list of TODOs for working on the JIT. gcc/jit/ * TODO.rst: New. --- gcc/jit/TODO.rst | 119 +++ 1 file changed, 119 insertions(+) create mode 100644 gcc/jit/TODO.rst diff --git a/gcc/jit/TODO.rst b/gcc/jit/TODO.rst new file m

[PATCH 14/27] New files: gcc/jit/jit-builtins.{c|h}

2014-10-31 Thread David Malcolm
These files implement support for builtins, for the gcc_jit_context_get_builtin_function API entrypoint. Only a subset of builtins are currently supported, based on those that I needed when porting GNU Octave's JIT. Attempts to use other builtins may lead to an error: "unimplemented primitive

[PATCH 08/27] New file: gcc/jit/libgccjit.h

2014-10-31 Thread David Malcolm
This header is the public API for the library. gcc/jit/ * libgccjit.h: New. --- gcc/jit/libgccjit.h | 977 1 file changed, 977 insertions(+) create mode 100644 gcc/jit/libgccjit.h diff --git a/gcc/jit/libgccjit.h b/gcc/jit/libgccjit.h

[PATCH 24/27] Documentation: add "topics" subdirectory

2014-10-31 Thread David Malcolm
c/jit/docs/topics/contexts.rst new file mode 100644 index 000..d8dd4f8 --- /dev/null +++ b/gcc/jit/docs/topics/contexts.rst @@ -0,0 +1,315 @@ +.. Copyright (C) 2014 Free Software Foundation, Inc. + Originally contributed by David Malcolm + + This is free software: you can redistribute it a

[PATCH 17/27] New file: gcc/jit/libgccjit++.h

2014-10-31 Thread David Malcolm
This adds a C++ wrapper API, with syntactic sugar for reducing the verbosity compared to the C API. gcc/jit/ * libgccjit++.h: New. --- gcc/jit/libgccjit++.h | 1574 + 1 file changed, 1574 insertions(+) create mode 100644 gcc/jit/libgccjit++

[PATCH 16/27] New file: gcc/jit/jit-playback.c

2014-10-31 Thread David Malcolm
aying back recorded API calls. + Copyright (C) 2013-2014 Free Software Foundation, Inc. + Contributed by David Malcolm . + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Fre

[PATCH 25/27] Documentation: add "internals" subdirectory

2014-10-31 Thread David Malcolm
) 2014 Free Software Foundation, Inc. + Originally contributed by David Malcolm + + This is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your

[PATCH 13/27] New file: gcc/jit/jit-recording.c

2014-10-31 Thread David Malcolm
calls made to the JIT API. + Copyright (C) 2013-2014 Free Software Foundation, Inc. + Contributed by David Malcolm . + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free

[PATCH 15/27] New file: gcc/jit/jit-playback.h

2014-10-31 Thread David Malcolm
aying back recorded API calls. + Copyright (C) 2013-2014 Free Software Foundation, Inc. + Contributed by David Malcolm . + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by +the Free Software

[PATCH 04/27] New file: gcc/jit/notes.txt

2014-10-31 Thread David Malcolm
An earlier version of this was posted as part of: "[PATCH 06/10] Heart of the JIT implementation (was: Re: [PATCH 0/5] Merger of jit branch (v2))" https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01247.html I've broken that up into separate patches for ease of review. This first patch

Re: [PATCH 23/27] Documentation: the "intro" subdirectory

2014-10-31 Thread David Malcolm
On Fri, 2014-10-31 at 15:29 -0600, Jeff Law wrote: > On 10/31/14 11:02, David Malcolm wrote: > > The "intro" subdirectory of gcc/jit/docs consists of a 4-part tutorial > > aimed at experienced developers who are new users of the library, taking > > them from beginni

Re: [PATCH 08/27] New file: gcc/jit/libgccjit.h

2014-11-03 Thread David Malcolm
On Mon, 2014-11-03 at 13:22 -0700, Jeff Law wrote: > On 10/31/14 11:02, David Malcolm wrote: > > This header is the public API for the library. > > > > gcc/jit/ > > * libgccjit.h: New. > Given this is inside the JIT subdirectory, I'm not doing a depth revie

Re: [PATCH 12/27] New file: gcc/jit/jit-recording.h

2014-11-04 Thread David Malcolm
On Mon, 2014-11-03 at 14:27 -0700, Jeff Law wrote: > On 10/31/14 11:02, David Malcolm wrote: > > This file declares the gcc::jit::recording internal API, so that > > libgccjit.c can record the calls that are made to the public API, for > > later playback by the dummy fron

Re: [PATCH 13/27] New file: gcc/jit/jit-recording.c

2014-11-04 Thread David Malcolm
On Mon, 2014-11-03 at 15:03 -0700, Jeff Law wrote: > On 10/31/14 11:02, David Malcolm wrote: > > Implementation of the gcc::jit::recording internal API, so that > > libgccjit.c can record the calls that are made to the public API, for > > later playback by the dummy fron

Re: [PATCH 14/27] New files: gcc/jit/jit-builtins.{c|h}

2014-11-04 Thread David Malcolm
On Mon, 2014-11-03 at 14:04 -0700, Jeff Law wrote: > On 10/31/14 11:02, David Malcolm wrote: > > These files implement support for builtins, for the > >gcc_jit_context_get_builtin_function > > API entrypoint. > > > > Only a subset of builtins are currently sup

Re: [PATCH 10/27] New file: gcc/jit/libgccjit.c

2014-11-04 Thread David Malcolm
On Mon, 2014-11-03 at 13:32 -0700, Jeff Law wrote: > On 10/31/14 11:02, David Malcolm wrote: > > This file implements the entrypoints of the library's public API. > > > > It performs error-checking at this boundary, before calling into the > > jit-recording

Re: [patch,gomp-4_0-branch] acc nested function support

2014-11-05 Thread David Malcolm
On Tue, 2014-11-04 at 16:45 -0800, Cesar Philippidis wrote: > Here's an updated version of my nested function patch. > > David, I tweaked the gimple class hierarchy a little bit. Here's what > the updated class diagram looks like: > > + gimple_statement_omp > | |layout: GSS_OMP.

[jit] Use ISALPHA and ISALNUM rather than writing our own

2014-11-05 Thread David Malcolm
On Tue, 2014-11-04 at 14:39 -0700, Jeff Law wrote: > On 11/04/14 09:57, David Malcolm wrote: > >>> +#define IS_ASCII_DIGIT(CHAR) \ > >>> + ((CHAR) >= '0' && (CHAR) <='9') > >>> + > >>> +#define IS_ASCII_ALNUM(CH

[jit] Verify enum values earlier

2014-11-05 Thread David Malcolm
cc/jit/ChangeLog.jit b/gcc/jit/ChangeLog.jit index 3d6361c..ce927d6 100644 --- a/gcc/jit/ChangeLog.jit +++ b/gcc/jit/ChangeLog.jit @@ -1,5 +1,17 @@ 2014-11-05 David Malcolm + * libgccjit.c (gcc_jit_context_get_type): Verify that "type" + is valid immediately, rather than r

[jit] Add comments throughout libgccjit.c, and in libgccjit.h

2014-11-05 Thread David Malcolm
/ChangeLog.jit @@ -1,5 +1,122 @@ 2014-11-05 David Malcolm + * docs/topics/expressions.rst (Type-coercion): Casts between + pointer types are valid. + * libgccjit.c: Document that gcc_jit_context et al are actually + subclasses of the gcc::jit::recording classes

Re: [PATCH 10/27] New file: gcc/jit/libgccjit.c

2014-11-05 Thread David Malcolm
On Tue, 2014-11-04 at 14:39 -0700, Jeff Law wrote: > On 11/04/14 09:57, David Malcolm wrote: > >>> +#define IS_ASCII_DIGIT(CHAR) \ > >>> + ((CHAR) >= '0' && (CHAR) <='9') > >>> + > >>> +#define IS_ASCII_ALNUM(CH

[jit] Drop the disabled debugging code within handle_locations

2014-11-05 Thread David Malcolm
On Tue, 2014-11-04 at 15:21 -0700, Jeff Law wrote: > On 10/31/14 11:02, David Malcolm wrote: > > This files implements the gcc::jit::playback internal API, called by > > the dummy "frontend" to replay the public API calls made to the > > library. A thin wrappe

[PATCH 0/3] Minor tweaks to jit

2014-11-05 Thread David Malcolm
Here are some minor tweaks I've made on the JIT branch since v3 of the review began. Are the following OK for trunk, assuming the rest of the JIT work is approved? David Malcolm (3): New test cases Documentation tweak Add comments to various functions in libgccjit.h gcc/jit/docs/t

[PATCH 2/3] Documentation tweak

2014-11-05 Thread David Malcolm
gcc/jit/ * docs/topics/expressions.rst (Type-coercion): Note that we support casting between pointer types. --- gcc/jit/docs/topics/expressions.rst | 1 + 1 file changed, 1 insertion(+) diff --git a/gcc/jit/docs/topics/expressions.rst b/gcc/jit/docs/topics/expressions.rst index a

[PATCH 3/3] Add comments to various functions in libgccjit.h

2014-11-05 Thread David Malcolm
--- gcc/jit/libgccjit.h | 21 +++-- 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/gcc/jit/libgccjit.h b/gcc/jit/libgccjit.h index 8e03412..e07002d 100644 --- a/gcc/jit/libgccjit.h +++ b/gcc/jit/libgccjit.h @@ -123,11 +123,7 @@ typedef struct gcc_jit_lvalue gcc_jit_

[PATCH 1/3] New test cases

2014-11-05 Thread David Malcolm
gcc/testsuite: * jit.dg/test-error-get-type-bad-enum.c: New. * jit.dg/test-error-new-binary-op-bad-op.c: New. * jit.dg/test-error-new-function-bad-kind.c: New. * jit.dg/test-error-new-unary-op-bad-op.c: New. --- .../jit.dg/test-error-get-type-bad-enum.c | 2

[gimple-classes, committed 06/44] Yet more gcall *

2014-11-06 Thread David Malcolm
oc.c | 3 ++- gcc/tree-ssa-strlen.c| 2 +- 4 files changed, 31 insertions(+), 13 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 33bd5bf..5c3cbd5 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,19 @@

[gimple-classes, committed 02/44] Make replace_call_with_call_and_fold work on a gcall *

2014-11-06 Thread David Malcolm
gimple-classes b/gcc/ChangeLog.gimple-classes index 9998737..a47c471 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,20 @@ 2014-10-30 David Malcolm + * gimple-fold.c (replace_call_with_call_and_fold): Strengthen + param "r

[gimple-classes, committed 00/44] Yet more accessor typesafety

2014-11-06 Thread David Malcolm
n the branch on x86_64-unknown-linux-gnu (Fedora 20) - same results relative to an unpatched control bootstrap of trunk's r216746. David Malcolm (44): Use gassign * rather than gimple in various places Make replace_call_with_call_and_fold work on a gcall * gimple-low.c: Use gcall * i

[gimple-classes, committed 03/44] gimple-low.c: Use gcall * in a few places

2014-11-06 Thread David Malcolm
2 files changed, 29 insertions(+), 16 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index a47c471..5b408e3 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,3 +1,12 @@ +2014-10-31 David Malcolm + + * gimple-low.c

[gimple-classes, committed 07/44] Add casting variants of various gimple_assign_*_p functions

2014-11-06 Thread David Malcolm
| 9 --- gcc/tree-nrv.c | 12 + gcc/tree-ssa-ccp.c | 4 +-- gcc/tree-ssa-copyrename.c| 6 ++--- gcc/tree-ssa-loop-niter.c| 4 +-- gcc/tree-vect-stmts.c| 7 ++--- 14 files changed, 177 insertions(+), 72 deletions(-) diff --git a/gcc

[gimple-classes, committed 01/44] Use gassign * rather than gimple in various places

2014-11-06 Thread David Malcolm
+- gcc/tree-ssa-math-opts.c | 31 ++-- gcc/tree-ssa-phiopt.c| 3 +- gcc/tree-ssa-pre.c | 2 +- gcc/tree-ssa-reassoc.c | 2 +- gcc/tree-ssa-strlen.c | 22 + gcc/tree-switch-conversion.c | 4 +- gcc/tree-vect-data-refs.c| 8 ++-- gcc/t

[gimple-classes, committed 12/44] gimple-fold.c: Use gassign

2014-11-06 Thread David Malcolm
166 +++ 2 files changed, 123 insertions(+), 76 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index dc1315e..be9aa76 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,38 @@ 2014-11-03 D

[gimple-classes, committed 08/44] tree-ssa-forwprop.c: Use gassign * in various places

2014-11-06 Thread David Malcolm
/ChangeLog.gimple-classes index a60a771..5902705 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,27 @@ 2014-10-31 David Malcolm + * tree-ssa-forwprop.c (get_prop_source_stmt): Strengthen return + type and local "def_stmt" f

[gimple-classes, committed 05/44] More gcall *

2014-11-06 Thread David Malcolm
- gcc/tree-ssa-propagate.c | 4 ++-- 7 files changed, 34 insertions(+), 16 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index e2fb3d2..33bd5bf 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,22 @@ 2014-10-31 Da

[gimple-classes, committed 21/44] tree-eh.c: Use gassign

2014-11-06 Thread David Malcolm
/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index 7055011..7834eb0 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,10 @@ 2014-11-03 David Malcolm + * tree-eh.c (stmt_could_throw_1_p): Add checked casts. + (sink_clobbers): Add checked

[gimple-classes, committed 10/44] gimplify-me.c: Use gassign

2014-11-06 Thread David Malcolm
@ 2014-11-03 David Malcolm + * gimplify-me.c (gimple_regimplify_operands): Replace a couple of + is_gimple_assign calls with dyn_cast, introducing locals + "assign_stmt" and using them in place of "stmt" for typesafety. + +2014-11-03 Da

[gimple-classes, committed 04/44] Use gcall * in more places

2014-11-06 Thread David Malcolm
--- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,19 @@ 2014-10-31 David Malcolm + * config/i386/i386.c (add_condition_to_bb): Strengthen local + "call_cond_stmt" from gimple to gcall *. + * gimple-fold.c (gimple_build): Likewise for l

[gimple-classes, committed 25/44] tree-ssa-coalesce.c: Use gassign

2014-11-06 Thread David Malcolm
ses b/gcc/ChangeLog.gimple-classes index ca6b1be..c7ca9fd 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,13 @@ 2014-11-03 David Malcolm + * tree-ssa-coalesce.c (build_ssa_conflict_graph): Replace + is_gimple_assign with dyn_cast, introducing

[gimple-classes, committed 24/44] tree-ssa-ccp.c: Use gassign

2014-11-06 Thread David Malcolm
index 9233d8a..ca6b1be 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-classes @@ -1,5 +1,18 @@ 2014-11-03 David Malcolm + * tree-ssa-ccp.c (get_default_value): Replace is_gimple_assign + with a dyn_cast, introducing local "assign_stmt",

[gimple-classes, committed 26/44] tree-ssa-copy.c: Use gassign

2014-11-06 Thread David Malcolm
11 +++ gcc/tree-ssa-copy.c | 26 ++ 2 files changed, 25 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog.gimple-classes b/gcc/ChangeLog.gimple-classes index c7ca9fd..19a8295 100644 --- a/gcc/ChangeLog.gimple-classes +++ b/gcc/ChangeLog.gimple-c

<    18   19   20   21   22   23   24   25   26   27   >