[gomp4, committed] Add get_virtual_phi

2015-06-24 Thread Tom de Vries
Hi, this patch factors new function get_virtual_phi out of rewrite_virtuals_into_loop_closed_ssa. Committed to gomp-4_0-branch. Thanks, - Tom Add get_virtual_phi 2015-06-18 Tom de Vries t...@codesourcery.com * tree-ssa-loop-manip.c (get_virtual_phi): Factor out

[gomp4, committed] Add bitmap_get_dominated_by

2015-06-24 Thread Tom de Vries
Hi, this patch adds bitmap_get_dominated_by, a version of get_dominated_by that returns a bitmap rather than a vector. Committed to gomp-4_0-branch. Thanks, - Tom Add bitmap_get_dominated_by 2015-06-18 Tom de Vries t...@codesourcery.com * dominance.c (bitmap_get_dominated_by): New

[gomp4, committed] Move rewrite_virtuals_into_loop_closed_ssa to tree-ssa-loop-manip.c

2015-06-24 Thread Tom de Vries
Hi, this patch moves rewrite_virtuals_into_loop_closed_ssa to tree-ssa-loop-manip.c, as requested here: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg01264.html . Thanks, - Tom Move rewrite_virtuals_into_loop_closed_ssa to tree-ssa-loop-manip.c 2015-06-18 Tom de Vries t

Re: [PATCH] Check dominator info in compute_dominance_frontiers

2015-06-25 Thread Tom de Vries
On 23/06/15 11:31, Richard Biener wrote: On Mon, Jun 22, 2015 at 7:10 PM, Tom de Vries tom_devr...@mentor.com wrote: On 22/06/15 13:47, Richard Biener wrote: (eventually also for the case where we end up only computing the fast-query stuff). Like this? ... diff --git a/gcc/dominance.c b

Re: [committed, gomp4] Rewrite virtuals into lcssa in transform_to_exit_first_loop_alt

2015-06-18 Thread Tom de Vries
On 18/06/15 13:38, Richard Biener wrote: On Thu, Jun 18, 2015 at 9:25 AM, Tom de Vries tom_devr...@mentor.com wrote: Hi, transform_to_exit_first_loop contains the following comment: ... /* Make sure that we have phi nodes on exit for all loop header phis (create_parallel_loop requires

Re: [PATCH, stage1] Make parloops gate more strict

2015-06-19 Thread Tom de Vries
On 16/06/15 13:18, Richard Biener wrote: On Mon, Jun 15, 2015 at 12:38 AM, Tom de Vries tom_devr...@mentor.com wrote: On 14/06/15 23:49, Bernhard Reutner-Fischer wrote: On June 14, 2015 10:55:59 AM GMT+02:00, Tom de Vries tom_devr...@mentor.com wrote: On 13/03/15 11:36, Richard Biener wrote

Re: Expand oacc kernels after pass_fre

2015-06-19 Thread Tom de Vries
On 08/06/15 09:25, Richard Biener wrote: On Thu, 4 Jun 2015, Tom de Vries wrote: { gsi_next (gsi); continue; diff --git gcc/tree-ssa-sccvn.c gcc/tree-ssa-sccvn.c index e417a15..449a615 100644 --- gcc/tree-ssa-sccvn.c +++ gcc/tree-ssa-sccvn.c @@ -85,6

[PATCH] Test for flag_parallelize_loops 1

2015-06-19 Thread Tom de Vries
the other tests of flag_parallelize_loops in the compiler. Build on x86_64 and reg-tested libgomp's c.exp. OK for trunk if bootstrap and reg-test succeeds? Thanks, - Tom Test for flag_parallelize_loops 1 2015-06-19 Tom de Vries t...@codesourcery.com * builtins.def (DEF_GOMP_BUILTIN): Test

[PATCH] parloops exit phi fixes

2015-06-22 Thread Tom de Vries
and reg-tested on x864_64 on top of gomp-4_0-branch in combination with the patch series that triggered the problem. Bootstrapped and reg-tested on x864_64 on top of trunk. OK for trunk? Thanks, - Tom Handle unused reduction in create_loads_for_reductions 2015-06-22 Tom de Vries t

Re: [gomp4,bootstrap] Remove unused variable in lower_reduction_clauses

2015-06-16 Thread Tom de Vries
On 16/06/15 12:08, Tom de Vries wrote: Committed this patch to fix bootstrap. And this one. Thanks, - Tom Declare parm unused in make_offloadable_1 2015-06-16 Tom de Vries t...@codesourcery.com * varpool.c (make_offloadable_1): Declare decl with ATTRIBUTE_UNUSED. --- gcc/varpool.c | 2

[PING][PATCH][PR65511] Fix edge probabilities in move_sese_region_to_fn

2015-06-14 Thread Tom de Vries
On 30/03/15 11:54, Tom de Vries wrote: On 30-03-15 10:15, Jan Hubicka wrote: Also move_sese_region_to_fn seem to mis updating of counts. Can you, please, add that and send updated patch? Like this? OK for stage1 if bootstrap and reg-test on x86_64 are ok? Ping. Original posting

Re: [PATCH] Fix warnings from including fdl.texi into gnat-style.texi

2015-06-14 Thread Tom de Vries
On 23/03/15 16:00, Gerald Pfeifer wrote: On Fri, 20 Mar 2015, Tom de Vries wrote: The gnat-style.texi part is OK. I cannot approve the fdl part though. Gerald, Can you approve the fdl part? Let's assume I can. Okay. Can you just describe the _why_ a bit in a @comment (in simple words

[PING][PATCH][PR65511] Fix edge probabilities in gimple_duplicate_sese_tail

2015-06-14 Thread Tom de Vries
On 30/03/15 11:54, Tom de Vries wrote: On 30-03-15 10:15, Jan Hubicka wrote: diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index 64bdc92..c7a7c4d 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -6177,6 +6177,7 @@ gimple_duplicate_sese_tail (edge entry ATTRIBUTE_UNUSED, edge exit

Re: [PATCH, stage1] Make parloops gate more strict

2015-06-14 Thread Tom de Vries
On 13/03/15 11:36, Richard Biener wrote: On Fri, Mar 13, 2015 at 11:32 AM, Tom de Vries tom_devr...@mentor.com wrote: Hi, this patch moves a bunch of early-out tests from the parloops pass to the gate function. The only effect is for functions that we don't consider at all for parallelization

[PATCH] Handle casts in bound in try_transform_to_exit_first_loop_alt

2015-06-13 Thread Tom de Vries
'(unsigned int) (_6 + -1)' - strips the outer nops (assuming no change in value) - uses '(unsigned int)_6' as the alt_bound, and - gimplifies the expression. Bootstrapped and reg-tested on x86_64. OK for trunk? Thanks, - Tom Handle casts in bound in transform_to_exit_first_loop_alt 2015-06-13 Tom de

Re: [PATCH, stage1] Make parloops gate more strict

2015-06-14 Thread Tom de Vries
On 14/06/15 23:49, Bernhard Reutner-Fischer wrote: On June 14, 2015 10:55:59 AM GMT+02:00, Tom de Vries tom_devr...@mentor.com wrote: On 13/03/15 11:36, Richard Biener wrote: On Fri, Mar 13, 2015 at 11:32 AM, Tom de Vries tom_devr...@mentor.com wrote: Hi, this patch moves a bunch of early

[gomp4][PATCH] Handle casts in bound in try_transform_to_exit_first_loop_alt

2015-06-18 Thread Tom de Vries
On 13/06/15 16:24, Tom de Vries wrote: Hi, this patch allows try_transform_to_exit_first_loop_alt to succeed when handling cases where the expression representing the number of iterations contains a cast. Currently, transform_to_exit_first_loop_alt testcase gfortran/parloops-exit-first-loop

[committed, gomp4] Rewrite virtuals into lcssa in transform_to_exit_first_loop_alt

2015-06-18 Thread Tom de Vries
, the property will be valid after transform_to_exit_first_loop_alt. Bootstrapped and reg-tested on x86_64. Committed to gomp-4_0-branch. OK for trunk? Thanks, - Tom Rewrite virtuals into lcssa in transform_to_exit_first_loop_alt 2015-06-18 Tom de Vries t...@codesourcery.com * tree

[gomp4, committed] Fix parallelization for fortran oacc kernels tests

2015-06-18 Thread Tom de Vries
sure they get properly parallelized. Bootstrapped and reg-tested on x86_64. Committed to gomp-4_0-branch. Thanks, - Tom Fix parallelization for fortran oacc kernels tests 2015-06-18 Tom de Vries t...@codesourcery.com * passes.def: Move pass_fre later in pass group pass_oacc_kernels

[committed] Add parloops-exit-first-loop-alt-4.c

2015-06-13 Thread Tom de Vries
Add gcc.dg/parloops-exit-first-loop-alt-4.c 2015-06-13 Tom de Vries t...@codesourcery.com * gcc.dg/parloops-exit-first-loop-alt-4.c: New test. * testsuite/libgomp.c/parloops-exit-first-loop-alt-4.c: New test. --- .../gcc.dg/parloops-exit-first-loop-alt-4.c| 28

[committed] Update parloops-exit-first-loop-alt{,-2,-3}.c

2015-06-13 Thread Tom de Vries
Hi, this patch contains trivial improvements for test-cases {libgomp.c,gcc.dg}/parloops-exit-first-loop-alt{,-2,-3}.c. Committed to trunk. Thanks, - Tom Update parloops-exit-first-loop-alt{,-2,-3}.c 2015-06-13 Tom de Vries t...@codesourcery.com * testsuite/libgomp.c/parloops-exit-first

[PATCH] Remove dg-options -O2 in libgomp.c

2015-06-15 Thread Tom de Vries
Hi, this patch removes superfluous dg-option -O2 settings in testsuite/libgomp.c. The setting is superfluous, because DEFAULT_CFLAGS is already set to -O2 in c.exp. Tested on x86_64. OK for trunk? Thanks, - Tom Remove dg-options -O2 in libgomp.c 2015-06-15 Tom de Vries t

[patch] Run testsuite/libgomp.c++/c++.exp at -O2 by default

2015-06-15 Thread Tom de Vries
? Thanks, - Tom Run testsuite/libgomp.c++/c++.exp at -O2 by default 2015-06-15 Tom de Vries t...@codesourcery.com * testsuite/libgomp.c++/c++.exp: Set DEFAULT_CFLAGS to -O2 if not already set. Use DEFAULT_CFLAGS in dg-runtest. * testsuite/libgomp.c++/atomic-16.C: Remove dg-options -O2 -fopenmp

Re: [gomp4] Generate sequential loop for OpenACC loop directive inside kernels

2015-06-16 Thread Tom de Vries
On 16/06/15 10:59, Chung-Lin Tang wrote: This patch adjusts omp-low.c:expand_omp_for_generic() to expand to a sequential loop form (without the OMP runtime calls), used for loop directives inside OpenACC kernels constructs. Tom mentions that this allows the kernels parallelization to work when

[gomp4,bootstrap] Remove unused variable in lower_reduction_clauses

2015-06-16 Thread Tom de Vries
Committed this patch to fix bootstrap. Thanks, - Tom Remove unused variable in lower_reduction_clauses 2015-06-16 Tom de Vries t...@codesourcery.com * omp-low.c (lower_reduction_clauses): Remove unused variable call. --- gcc/omp-low.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion

[PATCH] Add debug msg to dump_file in add_new_function

2015-06-04 Thread Tom de Vries
::add_new_function. OK for trunk (after retesting)? Thanks, - Tom Add debug msg to dump_file in add_new_function 2014-06-04 Tom de Vries t...@codesourcery.com * cgraphunit.c (cgraph_node::add_new_function): Dump message on new function. * gcc.dg/gomp/notify-new-function-2.c: New test. * gcc.dg/gomp

[gomp4,committed,PR65443] Add transform_to_exit_first_loop_al

2015-06-01 Thread Tom de Vries
[ was: Re: [PING][PATCH][PR65443] Add transform_to_exit_first_loop_alt ] On 14/05/15 13:42, Tom de Vries wrote: On 20-04-15 14:25, Richard Biener wrote: On Wed, 15 Apr 2015, Tom de Vries wrote: On 03-04-15 14:39, Tom de Vries wrote: On 27-03-15 15:10, Tom de Vries wrote: Hi, this patch

Re: [gomp4] Avoiding predication for certain blocks

2015-06-01 Thread Tom de Vries
fixes that by not attempting to remove GIMPLE_OMP_ENTRY_END when in ssa. Committed to gomp-4_0-branch. Thanks, - Tom Fix GIMPLE_OMP_ENTRY_END handling in expand_omp_target for ssa 2015-06-01 Tom de Vries t...@codesourcery.com * omp-low.c (expand_omp_target): Fix GIMPLE_OMP_ENTRY_END handling

[gomp4, committed] Fix goacc builtins fnspecs

2015-06-01 Thread Tom de Vries
builtins fnspecs 2015-06-01 Tom de Vries t...@codesourcery.com * builtin-attrs.def (DOT_DOT_r_r_r): Remove DEF_ATTR_FOR_STRING. (DOT_DOT_DOT_DOT_r_r_r): Add DEF_ATTR_FOR_STRING. (ATTR_FNSPEC_DOT_DOT_r_r_r_NOTHROW_LIST): Remove DEF_ATTR_TREE_LIST

Re: [gomp4, committed] Only use transform_to_exit_first_loop_alt for kernels

2015-06-01 Thread Tom de Vries
On 01/06/15 16:00, Tom de Vries wrote: Furthermore, the patch replaces pass_copy_prop with pass_fre. I found this necessary at some point and added it to the patch, but I can't reproduce the necessity now, so I'll revert that bit asap. Attached revert patch committed to gomp-4_0-branch

[gomp4, committed] Only use transform_to_exit_first_loop_alt for kernels

2015-06-01 Thread Tom de Vries
transform_to_exit_first_loop_alt for kernels 2015-05-28 Tom de Vries t...@codesourcery.com * passes.def: Replace pass_copy_prop with pass_fre. Surround with pass_tree_loop_done and pass_tree_loop_init. * tree-parloops.c (gen_parallel_loop): Bail out of parallelization if try_transform_to_exit_first_loop_alt fails. * c

[gomp4, committed] Remove superfluous main in kernels-loop-n.c

2015-05-28 Thread Tom de Vries
Hi, this patch removes a superfluous main function from a test-case. Committed. Thanks, - Tom Remove superfluous main in kernels-loop-n.c 2015-05-27 Tom de Vries t...@codesourcery.com * c-c++-common/goacc/kernels-loop-n.c (main): Remove. diff --git a/gcc/testsuite/c-c++-common/goacc

[gomp4, committed] Enable parallelization of kernels-loop-n.c

2015-05-28 Thread Tom de Vries
-n.c 2015-05-27 Tom de Vries t...@codesourcery.com * tree-parloops.c (parallelize_loops): Remove checks limiting type of loops allowed. * c-c++-common/goacc/kernels-loop-n.c: Check for parallelization. diff --git a/gcc/testsuite/ChangeLog.gomp b/gcc/testsuite/ChangeLog.gomp index a5f1167

[gomp4, committed, PR65419] Add IFN_GOACC_DATA_END_WITH_ARG

2015-05-28 Thread Tom de Vries
de Vries t...@codesourcery.com PR tree-optimization/65419 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lompifn to properties_required field. * gimplify.c (gimplify_omp_workshare): Use IFN_GOACC_DATA_END_WITH_ARG instead of BUILT_IN_GOACC_DATA_END. Clear PROP_gimple_lompifn

Re: [PATCH, 6/8] Add pass_copy_prop in pass_oacc_kernels

2015-06-02 Thread Tom de Vries
On 22-04-15 09:42, Richard Biener wrote: This patch adds pass_loop_ccp to pass group pass_oacc_kernels. We need this pass to simplify the loop body, and allow pass_parloops to detect that loop iterations are independent. As suggested here

Re: [PATCH, 4/8] Add pass_tree_loop_{init,done} to pass_oacc_kernels

2015-06-02 Thread Tom de Vries
On 22-04-15 09:40, Richard Biener wrote: On Tue, 21 Apr 2015, Thomas Schwinge wrote: Hi! On Tue, 25 Nov 2014 12:29:28 +0100, Tom de Vries tom_devr...@mentor.com wrote: On 15-11-14 18:21, Tom de Vries wrote: On 15-11-14 13:14, Tom de Vries wrote: I'm submitting a patch series with initial

Re: [PATCH, 4/8] Add pass_tree_loop_{init,done} to pass_oacc_kernels

2015-06-02 Thread Tom de Vries
On 02-06-15 15:58, Richard Biener wrote: Btw, I wonder why you don't organize the oacc-kernel passes in a new simple-IPA group after pass_local_optimization_passes. I've placed the pass group as early as possible (meaning after ealias) and put passes in front only when that served a purpose

Re: libgomp: libgomp.oacc-c-c++-common/lib-62.c is for acc_device_nvidia only

2015-07-01 Thread Tom de Vries
-961f-82ee72b054a4 Hi Thomas, I've committed attached patch to gomp-4_0-branch, before finding this patch (which is a bit more thorough). You can drop it with the next merge from trunk. Thanks, - Tom Run libgomp.oacc-c-c++-common/lib-62.c only for nvidia 2015-07-01 Tom de Vries t

[gomp4, committed] Gracefully handle acc_init (nvidia) when not supported

2015-07-01 Thread Tom de Vries
not supported 2015-07-01 Tom de Vries t...@codesourcery.com * oacc-init.c (acc_init_1): Move base_dev NULL test to before use. * testsuite/lib/libgomp.exp (check_effective_target_openacc_nvidia_accel_supported): New proc. * testsuite/libgomp.oacc-c-c++-common/lib-93.c: New test. --- libgomp

[gomp4, PATCH] Fix libgomp.oacc-c-c++-common/lib-3.c

2015-07-01 Thread Tom de Vries
sure that both current failure modes are tested and accepted. OK for gomp-4_0-branch? Thanks, - Tom Fix libgomp.oacc-c-c++-common/lib-3.c 2015-07-01 Tom de Vries t...@codesourcery.com * testsuite/lib/libgomp.exp (offload_targets_nonhost): New var

[PATCH, PR66432] Handle PARM_DECL in remap_gimple_op_r

2015-07-01 Thread Tom de Vries
. III. Attached patch fixes the ICE by handling PARM_DECL in remap_gimple_op_r. [ I'm not confident though this is the right fix ] Bootstrapped and reg-tested on x86_64. OK for trunk, or to be fixed otherwise? Thanks, - Tom Handle PARM_DECL in remap_gimple_op_r 2015-06-30 Tom de Vries t

Re: [PATCH, PR66652] Use max_loop_iterations in transform_to_exit_first_loop_alt

2015-06-30 Thread Tom de Vries
On 29/06/15 19:58, Jeff Law wrote: On 06/29/2015 08:24 AM, Tom de Vries wrote: Hi, this patch fixes PR66652. It uses max_loop_iterations in transform_to_exit_first_loop_alt to ensure that the new loop bound nit + 1 doesn't overflow. Bootstrapped and reg-tested on x86_64. OK for trunk

Re: [PATCH, PR66432] Handle PARM_DECL in remap_gimple_op_r

2015-07-01 Thread Tom de Vries
On 01/07/15 13:58, Richard Biener wrote: On Wed, Jul 1, 2015 at 1:43 PM, Tom de Vries tom_devr...@mentor.com wrote: Hi, I. When running test libgomp.c/appendix-a/a.29.1.c with '--target_board unix/-O2/-g', we run into this failure: ... FAIL: libgomp.c/appendix-a/a.29.1.c (test for excess

[testsuite, committed, PR66723] Use scan-rtl-dump in i386/vararg-loc.c

2015-07-01 Thread Tom de Vries
Hi, I've committed this patch, which rewrites the scan lines in test-case i386/vararg-loc.c from scan-assembler to scan-rtl-dump, to fix PR66723. Thanks, - Tom Use scan-rtl-dump in i386/vararg-loc.c 2015-07-01 Tom de Vries t...@codesourcery.com PR testsuite/66723 * gcc.target/i386

[gomp4, committed, PR66716] Fix compilation libgomp.oacc-c-c++-common/kernels-loop.c -g

2015-07-01 Thread Tom de Vries
split_block_before_cond_jump is transform_to_exit_first_loop_alt. Committed to gomp-4_0-branch. Thanks, - Tom Fix compilation libgomp.oacc-c-c++-common/kernels-loop.c -g 2015-07-01 Tom de Vries t...@codesourcery.com PR tree-optimization/66716 * tree-cfg.c (gimple_split_block_before_cond_jump): Split before

[PATCH, PR66652] Use max_loop_iterations in transform_to_exit_first_loop_alt

2015-06-29 Thread Tom de Vries
-29 Tom de Vries t...@codesourcery.com PR tree-optimization/66652 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use max_loop_iterations to determine if nit + 1 overflows. * testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (f): Rewrite using restrict pointers. (main): Add

[committed] Simplify structure try_transform_to_exit_first_loop_alt

2015-06-29 Thread Tom de Vries
-29 Tom de Vries t...@codesourcery.com * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify function structure. --- gcc/tree-parloops.c | 59 ++--- 1 file changed, 15 insertions(+), 44 deletions(-) diff --git a/gcc/tree-parloops.c b

Re: [gomp4][PATCH] Handle casts in bound in try_transform_to_exit_first_loop_alt

2015-06-29 Thread Tom de Vries
On 22/06/15 16:36, Richard Biener wrote: On Thu, 18 Jun 2015, Tom de Vries wrote: On 13/06/15 16:24, Tom de Vries wrote: Hi, this patch allows try_transform_to_exit_first_loop_alt to succeed when handling cases where the expression representing the number of iterations contains a cast

[PATCH] Insert new bound in try_transform_to_exit_first_loop_alt

2015-06-29 Thread Tom de Vries
in try_transform_to_exit_first_loop_alt 2015-06-29 Tom de Vries t...@codesourcery.com * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found, insert nit + 1 bound. * testsuite/libgomp.fortran/parloops-exit-first-loop-alt-2.f95: New test. * testsuite/libgomp.fortran/parloops

[RFC] two-phase marking in gt_cleare_cache

2015-07-06 Thread Tom de Vries
Hi, Using attached untested patch, I managed to minimize a test-case failure for PR 66714. The patch introduces two-phase marking in gt_cleare_cache: - first phase, it loops over all the hash table entries and removes those which are dead - second phase, it runs over all the live hash table

[PING][PATCH, 1/2] Merge rewrite_virtuals_into_loop_closed_ssa from gomp4 branch

2015-07-06 Thread Tom de Vries
On 25/06/15 09:42, Tom de Vries wrote: Hi, this patch merges rewrite_virtuals_into_loop_closed_ssa (originally submitted here: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg01236.html ) to trunk. Bootstrapped and reg-tested on x86_64. OK for trunk? Ping. Thanks, - Tom 0001-Merge

[PING][PATCH, 2/2][PR66642] Add empty loop exit block in transform_to_exit_first_loop_alt

2015-07-06 Thread Tom de Vries
On 25/06/15 09:43, Tom de Vries wrote: Hi, I ran into a failure with parloops for reduction loop testcase libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c. When we exercise the low iteration count loop, the test-case fails. To understand the problem, let's first look at what

Re: [RFC] two-phase marking in gt_cleare_cache

2015-07-06 Thread Tom de Vries
On 06/07/15 15:29, Richard Biener wrote: On Mon, Jul 6, 2015 at 3:25 PM, Richard Biener richard.guent...@gmail.com wrote: On Mon, Jul 6, 2015 at 10:57 AM, Tom de Vries tom_devr...@mentor.com wrote: Hi, Using attached untested patch, I managed to minimize a test-case failure for PR 66714

[PING][patch] Run testsuite/libgomp.c++/c++.exp at -O2 by default

2015-06-30 Thread Tom de Vries
On 15/06/15 18:36, Tom de Vries wrote: Hi, this patch: - sets DEFAULT_CFLAGS to -O2, if not set otherwise (similar to what is done in c.exp) - removes superfluous dg-options -O2 settings. - removes superfluous dg-options -fopenmp settings. - uses dg-additional-options for -std=standard

Re: [PATCH, 2/2][PR66642] Add empty loop exit block in transform_to_exit_first_loop_alt

2015-06-30 Thread Tom de Vries
On 25/06/15 09:43, Tom de Vries wrote: Hi, I ran into a failure with parloops for reduction loop testcase libgomp/testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c. When we exercise the low iteration count loop, the test-case fails. To understand the problem, let's first look at what

[gomp4, committed] Insert new exit block only when needed in transform_to_exit_first_loop_alt

2015-06-30 Thread Tom de Vries
in transform_to_exit_first_loop_alt 2015-06-30 Tom de Vries t...@codesourcery.com * tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit block only when needed. --- gcc/tree-parloops.c | 42 -- 1 file changed, 28 insertions(+), 14 deletions

Re: [PING][PATCH, 1/2] Merge rewrite_virtuals_into_loop_closed_ssa from gomp4 branch

2015-07-07 Thread Tom de Vries
On 06/07/15 15:44, Richard Biener wrote: On Mon, 6 Jul 2015, Tom de Vries wrote: On 25/06/15 09:42, Tom de Vries wrote: Hi, this patch merges rewrite_virtuals_into_loop_closed_ssa (originally submitted here: https://gcc.gnu.org/ml/gcc-patches/2015-06/msg01236.html ) to trunk. Bootstrapped

[patch, driver] Ignore -ftree-parallelize-loops={0,1}

2015-07-07 Thread Tom de Vries
Hi, currently, we have these spec strings in gcc/gcc.c involving ftree-parallelize-loops: ... %{fopenacc|fopenmp|ftree-parallelize-loops=*:%:include(libgomp.spec)%(link_gomp)} %{fopenacc|fopenmp|ftree-parallelize-loops=*:-pthread} ... Actually, ftree-parallelize-loops={0,1} means that no

[committed] Rename vect_no_int_max to vect_no_int_min_max

2015-08-23 Thread Tom de Vries
[ was: Re: [RFC] Add check_effective_target_vect_min_max ] On 12-08-15 12:06, Richard Biener wrote: On Wed, 12 Aug 2015, Rainer Orth wrote: Tom de Vries tom_devr...@mentor.com writes: On 12/08/15 10:51, Rainer Orth wrote: Tom de Vries tom_devr...@mentor.com writes: This follow-up patch

Re: [PATCH][gomp4] Optimize expand_omp_for_static_chunk for chunk_size one

2015-08-24 Thread Tom de Vries
On 24-08-15 16:28, Tom de Vries wrote: On 24-08-15 11:43, Jakub Jelinek wrote: On Mon, Jul 28, 2014 at 11:21:53AM +0200, Tom de Vries wrote: Jakub, we're using expand_omp_for_static_chunk with a chunk_size of one to expand the openacc loop construct. This results in an inner and outer loop

[PING][PATCH] Fix warnings from including fdl.texi into gnat-style.texi

2015-08-24 Thread Tom de Vries
On 14-06-15 16:07, Tom de Vries wrote: On 23/03/15 16:00, Gerald Pfeifer wrote: On Fri, 20 Mar 2015, Tom de Vries wrote: The gnat-style.texi part is OK. I cannot approve the fdl part though. Gerald, Can you approve the fdl part? Let's assume I can. Okay. Can you just describe the _why_

Re: [PATCH][gomp4] Optimize expand_omp_for_static_chunk for chunk_size one

2015-08-24 Thread Tom de Vries
On 24-08-15 11:43, Jakub Jelinek wrote: On Mon, Jul 28, 2014 at 11:21:53AM +0200, Tom de Vries wrote: Jakub, we're using expand_omp_for_static_chunk with a chunk_size of one to expand the openacc loop construct. This results in an inner and outer loop being generated, with the inner loop

[PING^2][PATCH, PR46193] Handle mix/max pointer reductions in parloops

2015-08-24 Thread Tom de Vries
On 22-07-15 20:15, Tom de Vries wrote: On 13/07/15 13:02, Tom de Vries wrote: Hi, this patch fixes PR46193. It handles min and max reductions of pointer type in parloops. Bootstrapped and reg-tested on x86_64. OK for trunk? Ping^2. Original submission at https://gcc.gnu.org/ml/gcc

[committed] Run testsuite/libgomp.oacc-c++/c++.exp at -O2 by default

2015-06-30 Thread Tom de Vries
[ was: Re: [patch] Run testsuite/libgomp.c++/c++.exp at -O2 by default ] On 30/06/15 14:07, Jakub Jelinek wrote: On Mon, Jun 15, 2015 at 06:36:17PM +0200, Tom de Vries wrote: Hi, this patch: - sets DEFAULT_CFLAGS to -O2, if not set otherwise (similar to what is done in c.exp) - removes

[committed] Add parloops-exit-first-loop-alt-{5,6,7}.c

2015-06-30 Thread Tom de Vries
Hi, This patch adds variants of parloops-exit-first-loop-alt.c, to cover all combinations of loop bound signed/unsigned and loop counter signed/unsigned. Committed to trunk. Thanks, - Tom Add parloops-exit-first-loop-alt-{5,6,7}.c 2015-06-29 Tom de Vries t...@codesourcery.com * gcc.dg

[committed,gomp4] Run testsuite/libgomp.oacc-c++/c++.exp at -O2 by default

2015-06-30 Thread Tom de Vries
[ was Re: [committed] Run testsuite/libgomp.oacc-c++/c++.exp at -O2 by default ] On 30/06/15 17:48, Tom de Vries wrote: [ was: Re: [patch] Run testsuite/libgomp.c++/c++.exp at -O2 by default ] On 30/06/15 14:07, Jakub Jelinek wrote: On Mon, Jun 15, 2015 at 06:36:17PM +0200, Tom de Vries

Re: [PATCH] Allow non-overflow ops in vect_is_simple_reduction_1

2015-07-29 Thread Tom de Vries
On 29/07/15 14:00, Richard Biener wrote: On Wed, Jul 29, 2015 at 1:22 PM, Tom de Vries tom_devr...@mentor.com wrote: On 29/07/15 10:09, Richard Biener wrote: On Tue, Jul 28, 2015 at 2:08 PM, Tom de Vries tom_devr...@mentor.com wrote: On 28/07/15 09:59, Richard Biener wrote: On Fri, Jul

[committed, gomp4] Allow non-overflow ops in vect_is_simple_reduction_1

2015-07-28 Thread Tom de Vries
On 24/07/15 16:39, Tom de Vries wrote: Hi, this patch allows parallelization and vectorization of reduction operators that are guaranteed to not overflow (such as min and max operators), independent of the overflow behaviour of the type. Bootstrapped and reg-tested on x86_64. OK for trunk

[gomp4, committed] more parloops-related backports

2015-07-28 Thread Tom de Vries
Hi I've backported these parloops-related patches to gomp-4_0-branch. - Simplify gather_scalar_reductions - Update outer-4.c and uns-outer-4.c - Handle double reduction in parloops Thanks, - Tom Simplify gather_scalar_reductions 2015-07-27 Tom de Vries t...@codesourcery.com backport from

[gomp4, committed] Handle double reduction in oacc kernels pass group

2015-07-28 Thread Tom de Vries
Handle double reduction in oacc kernels pass group 2015-07-28 Tom de Vries t...@codesourcery.com * passes.def: Repeat pass_lim and pass_copy_prop in oacc kernels pass group. * c-c++-common/goacc/kernels-double-reduction.c: New test. --- gcc/passes.def

[gomp4, committed] various parloops-related backports

2015-07-28 Thread Tom de Vries
-07-27 Tom de Vries t...@codesourcery.com backport from trunk: 2015-07-14 Tom de Vries t...@codesourcery.com * gcc.c (greater_than_spec_func): Declare forward. (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore -ftree-parallelize-loops={0,1}. (static_spec_functions): Add

[committed, gomp4, PR46193] Handle mix/max pointer reductions in parloops

2015-07-28 Thread Tom de Vries
On 22/07/15 20:15, Tom de Vries wrote: On 13/07/15 13:02, Tom de Vries wrote: Hi, this patch fixes PR46193. It handles min and max reductions of pointer type in parloops. Bootstrapped and reg-tested on x86_64. OK for trunk? Ping. Committed to gomp-4_0-branch. Thanks, - Tom 0001

[committed, gomp4] Don't cancel loop tree in parloops

2015-07-28 Thread Tom de Vries
to loop state in gen_parallel_loop. 2015-07-27 Tom de Vries t...@codesourcery.com revert: 2015-07-12 Tom de Vries t...@codesourcery.com * tree-parloops.c (gen_parallel_loop): Add LOOPS_NEED_FIXUP to loop state. --- gcc/tree-parloops.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gcc/tree

[committed, gomp4] Handle non-overflow reductions in graphite

2015-07-28 Thread Tom de Vries
On 26/07/15 18:53, Tom de Vries wrote: On 26/07/15 18:49, Tom de Vries wrote: On 24/07/15 16:39, Tom de Vries wrote: Hi, this patch allows parallelization and vectorization of reduction operators that are guaranteed to not overflow (such as min and max operators), independent of the overflow

[gomp4,committed] Replace pass_fre with pass_copy_prop in kernels pass group

2015-07-28 Thread Tom de Vries
Tom de Vries t...@codesourcery.com * passes.def: Replace pass_fre with pass_copy_prop in oacc kernels pass group. * g++.dg/ipa/devirt-37.C: Update for removal of pass_fre. * g++.dg/ipa/devirt-40.C: Same. * g++.dg/tree-ssa/pr61034.C: Same. * gcc.dg/ipa/ipa-pta-13.c: Same. * gcc.dg/ipa/ipa

Re: [PATCH] Allow non-overflow ops in vect_is_simple_reduction_1

2015-07-28 Thread Tom de Vries
On 28/07/15 09:59, Richard Biener wrote: On Fri, Jul 24, 2015 at 4:39 PM, Tom de Vries tom_devr...@mentor.com wrote: Hi, this patch allows parallelization and vectorization of reduction operators that are guaranteed to not overflow (such as min and max operators), independent of the overflow

Re: [PATCH, PR66846] Mark inner loop for fixup in parloops

2015-07-29 Thread Tom de Vries
On 28/07/15 12:11, Richard Biener wrote: On Fri, Jul 24, 2015 at 12:10 PM, Tom de Vries tom_devr...@mentor.com wrote: On 20/07/15 15:04, Tom de Vries wrote: On 16/07/15 12:15, Richard Biener wrote: On Thu, Jul 16, 2015 at 11:39 AM, Tom de Vries tom_devr...@mentor.com wrote: On 16/07/15 10

Re: [PATCH] Allow non-overflow ops in vect_is_simple_reduction_1

2015-07-29 Thread Tom de Vries
On 29/07/15 10:09, Richard Biener wrote: On Tue, Jul 28, 2015 at 2:08 PM, Tom de Vries tom_devr...@mentor.com wrote: On 28/07/15 09:59, Richard Biener wrote: On Fri, Jul 24, 2015 at 4:39 PM, Tom de Vries tom_devr...@mentor.com wrote: Hi, this patch allows parallelization and vectorization

[committed, gomp4] Fix release_dangling_ssa_names

2015-08-05 Thread Tom de Vries
[ was: Re: Expand oacc kernels after pass_fre ] On 04/06/15 18:02, Tom de Vries wrote: Please move this out of the class body. Fixed and committed (ommitting patch as trivial). +{ + unsigned res = execute_expand_omp (); + + /* After running pass_expand_omp_ssa to expand

Re: [committed, gomp4] Fix release_dangling_ssa_names

2015-08-05 Thread Tom de Vries
On 05/08/15 09:29, Richard Biener wrote: This patch fixes that by making sure we reset the def stmt to NULL. This means we can simplify release_dangling_ssa_names to just test for NULL def stmts. Not sure if I understand the problem correctly but why are you not simply releasing the SSA name

Re: [committed, gomp4] Fix release_dangling_ssa_names

2015-08-05 Thread Tom de Vries
On 05/08/15 11:30, Richard Biener wrote: On Wed, 5 Aug 2015, Tom de Vries wrote: On 05/08/15 09:29, Richard Biener wrote: This patch fixes that by making sure we reset the def stmt to NULL. This means we can simplify release_dangling_ssa_names to just test for NULL def stmts. Not sure if I

[committed] Add todo comment for move_sese_region_to_fn

2015-08-11 Thread Tom de Vries
comment of move_sese_region_to_fn. Committed as obvious. Thanks, - Tom Add todo comment for move_sese_region_to_fn 2015-08-11 Tom de Vries t...@codesourcery.com * tree-cfg.c (move_sese_region_to_fn): Add todo comment. --- gcc/tree-cfg.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion

[PATCH] Don't create superfluous parm in expand_omp_taskreg

2015-08-11 Thread Tom de Vries
[ was: Re: [committed, gomp4] Fix release_dangling_ssa_names ] On 05/08/15 13:13, Richard Biener wrote: On Wed, 5 Aug 2015, Tom de Vries wrote: On 05/08/15 11:30, Richard Biener wrote: On Wed, 5 Aug 2015, Tom de Vries wrote: On 05/08/15 09:29, Richard Biener wrote: This patch fixes

[committed, testsuite] Fix vect/trapv-vect-reduc-4.c for sparc

2015-08-11 Thread Tom de Vries
Hi, For sparc, the scan for 'vectorized 2 loops' in vect/trapv-vect-reduc-4.c fail because the vector instructions min and max are not supported. Tested on x86_64. Tested on sparc by Rainer. Committed as obvious. Thanks, - Tom Fix vect/trapv-vect-reduc-4.c for sparc 2015-08-12 Tom de

[RFC] Add check_effective_target_vect_min_max

2015-08-12 Thread Tom de Vries
[ was: Re: [committed, testsuite] Fix vect/trapv-vect-reduc-4.c for sparc ] On 12/08/15 07:57, Tom de Vries wrote: Hi, For sparc, the scan for 'vectorized 2 loops' in vect/trapv-vect-reduc-4.c fail because the vector instructions min and max are not supported. Tested on x86_64. Tested

Re: [RFC] Add check_effective_target_vect_min_max

2015-08-12 Thread Tom de Vries
On 12/08/15 10:51, Rainer Orth wrote: Tom de Vries tom_devr...@mentor.com writes: This follow-up patch introduces a new effective target vect_min_max, similar to how effective target vect_bswap is implemented. Any comments? Thanks, - Tom Add check_effective_target_vect_min_max 2015-08-12

[PATCH, PR67092, PR67098 ] Remove --with-host-libstdcxx

2015-08-12 Thread Tom de Vries
, the patch adds the missing documentation of the default behaviour of --with-stage1-ldflags. Bootstrapped and reg-tested on x86_64. OK for trunk? Thanks, - Tom Remove --with-host-libstdcxx 2015-08-12 Tom de Vries t...@codesourcery.com PR other/67092 PR other/67098 * doc/install.texi: Remove

[PATCH] Check TYPE_OVERFLOW_WRAPS for parloops reductions

2015-07-22 Thread Tom de Vries
[ was: Re: [RFC, PR66873] Use graphite for parloops ] On 22/07/15 13:02, Richard Biener wrote: On Wed, Jul 22, 2015 at 1:01 PM, Richard Biener richard.guent...@gmail.com wrote: On Tue, Jul 21, 2015 at 8:42 PM, Sebastian Pop seb...@gmail.com wrote: Tom de Vries wrote: Fix reduction safety

[PATCH] Document ftrapv/fwrapv interaction

2015-07-22 Thread Tom de Vries
2015-07-22 Tom de Vries t...@codesourcery.com * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction. --- gcc/doc/invoke.texi | 10 ++ 1 file changed, 10 insertions(+) diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 55c2659..aa0b0c0 100644 --- a/gcc/doc

[PATCH] Don't allow unsafe reductions in graphite

2015-07-22 Thread Tom de Vries
[ was: Re: [RFC, PR66873] Use graphite for parloops ] On 22/07/15 13:02, Richard Biener wrote: On Wed, Jul 22, 2015 at 1:01 PM, Richard Biener richard.guent...@gmail.com wrote: On Tue, Jul 21, 2015 at 8:42 PM, Sebastian Popseb...@gmail.com wrote: Tom de Vries wrote: Fix reduction safety

[PATCH] Enable reductions without fassociative-math in graphite

2015-07-22 Thread Tom de Vries
in graphite 2015-07-21 Tom de Vries t...@codesourcery.com * graphite-sese-to-poly.c (build_poly_scop): Always call rewrite_commutative_reductions_out_of_ssa. --- gcc/graphite-sese-to-poly.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gcc/graphite-sese-to-poly.c b/gcc

Re: [gomp4] fiuxup openacc default handling

2015-07-27 Thread Tom de Vries
On 26/07/15 19:09, Nathan Sidwell wrote: I've committed this update to my earlier breakout of default handling. After complaining about something because of 'none', we should fall through to the default handling, to prevent ICEing later (on patch seriesI'm working on). This matches the OMP

[committed] Update outer-4.c and uns-outer-4.c

2015-07-27 Thread Tom de Vries
Hi, this patch cleans up testcases autopar/outer-4.c and autopar/uns-outer-4.c. Committed as obvious. Thanks, - Tom Update outer-4.c and uns-outer-4.c 2015-07-27 Tom de Vries t...@codesourcery.com * gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline attribute. Update

[committed] Simplify gather_scalar_reductions

2015-07-27 Thread Tom de Vries
Hi, this patch adds an early-out to gather_scalar_reductions, and further simplifies the function structure. Bootstrapped on x86_64. Reg-tested with relevant testcases. Committed as obvious. Thanks, - Tom Simplify gather_scalar_reductions 2015-07-27 Tom de Vries t...@codesourcery.com

Re: [PING][PATCH, PR66851] Handle double reduction in parloops

2015-07-27 Thread Tom de Vries
On 24/07/15 12:30, Tom de Vries wrote: On 13/07/15 16:55, Tom de Vries wrote: Hi, this patch fixes PR66851. In parloops, we manage to parallelize outer loops, but not if the inner loop contains a reduction. There is an xfail in autopar/outer-4.c for this: ... /* { dg-final { scan-tree-dump

[PING][PATCH, PR46193] Handle mix/max pointer reductions in parloops

2015-07-22 Thread Tom de Vries
On 13/07/15 13:02, Tom de Vries wrote: Hi, this patch fixes PR46193. It handles min and max reductions of pointer type in parloops. Bootstrapped and reg-tested on x86_64. OK for trunk? Ping. Thanks, - Tom 0001-Handle-mix-max-pointer-reductions-in-parloops.patch Handle mix/max pointer

[gomp4, committed] Set safelen to INT_MAX for oacc independent pragma

2015-07-22 Thread Tom de Vries
for loops marked with the independent clause on the openacc loop directive. Build and reg-tested on x86_64 with nvidia accelerator. Committed to gomp-4_0-branch. Thanks, - Tom Set safelen to INT_MAX for oacc independent pragma 2015-07-22 Tom de Vries t...@codesourcery.com * omp-low.c

Re: [PATCH, PR66846] Mark inner loop for fixup in parloops

2015-07-24 Thread Tom de Vries
On 20/07/15 15:04, Tom de Vries wrote: On 16/07/15 12:15, Richard Biener wrote: On Thu, Jul 16, 2015 at 11:39 AM, Tom de Vries tom_devr...@mentor.com wrote: On 16/07/15 10:44, Richard Biener wrote: On Wed, Jul 15, 2015 at 9:36 PM, Tom de Vries tom_devr...@mentor.com wrote: Hi, I

[committed] Remove xfail in autopar/uns-outer-4.c

2015-07-24 Thread Tom de Vries
[ was: Re: [PATCH] Check TYPE_OVERFLOW_WRAPS for parloops reductions ] On 22/07/15 18:13, Tom de Vries wrote: 0003-Check-TYPE_OVERFLOW_WRAPS-for-parloops-reductions.patch Check TYPE_OVERFLOW_WRAPS for parloops reductions 2015-07-21 Tom de Vriest...@codesourcery.com * tree

[PING][PATCH, PR66851] Handle double reduction in parloops

2015-07-24 Thread Tom de Vries
On 13/07/15 16:55, Tom de Vries wrote: Hi, this patch fixes PR66851. In parloops, we manage to parallelize outer loops, but not if the inner loop contains a reduction. There is an xfail in autopar/outer-4.c for this: ... /* { dg-final { scan-tree-dump-times parallelizing outer loop 1 parloops

<    2   3   4   5   6   7   8   9   10   11   >