Re: question about REG_PARM_STACK_SPACE usage in expand_call

2013-12-14 Thread Tom de Vries
On 15-12-13 04:37, Alan Modra wrote: On Sat, Dec 14, 2013 at 09:14:34PM +0100, Tom de Vries wrote: I wonder if OUTGOING_REG_PARM_STACK_SPACE makes a difference here. If OUTGOING_REG_PARM_STACK_SPACE == 0, it is the responsibility of the callee to allocate the area reserved for arguments passed

Re: [PATCH] -fuse-caller-save - Implement TARGET_FN_OTHER_HARD_REG_USAGE hook for MIPS

2013-12-25 Thread Tom de Vries
On 07-12-13 16:07, Tom de Vries wrote: Richard, This patch implements the target hook TARGET_FN_OTHER_HARD_REG_USAGE (posted here: http://gcc.gnu.org/ml/gcc-patches/2013-03/msg01318.html) for MIPS, to address the issue that $6 is sometimes used in split calls. Build and reg-tested on MIPS. OK

Re: [PATCH] Fix PR59715

2014-01-09 Thread Tom de Vries
destroyed - notes in pass_sink_code that PROP_no_crit_edge is not required (because it's now ensured by the pass itself) Build and reg-tested pr59715.c on x86_64. OK for stage3 trunk if bootstrap and full reg-test on x86_64 is ok? Thanks, - Tom 2014-01-09 Tom de Vries * tree-ssa-

[PING^2][PATCH] -fuse-caller-save - Implement TARGET_FN_OTHER_HARD_REG_USAGE hook for MIPS

2014-01-09 Thread Tom de Vries
On 25/12/13 14:02, Tom de Vries wrote: > On 07-12-13 16:07, Tom de Vries wrote: >> Richard, >> >> This patch implements the target hook TARGET_FN_OTHER_HARD_REG_USAGE (posted >> here: http://gcc.gnu.org/ml/gcc-patches/2013-03/msg01318.html) for MIPS, to >> addre

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-01-09 Thread Tom de Vries
On 09-01-14 15:41, Richard Earnshaw wrote: On 30/03/13 16:10, Tom de Vries wrote: On 29/03/13 13:54, Tom de Vries wrote: I split the patch up into 10 patches, to facilitate further review: ... 0001-Add-command-line-option.patch 0002-Add-new-reg-note-REG_CALL_DECL.patch 0003-Add-implicit

Re: [PING^2][PATCH] -fuse-caller-save - Implement TARGET_FN_OTHER_HARD_REG_USAGE hook for MIPS

2014-01-09 Thread Tom de Vries
On 09-01-14 16:31, Richard Sandiford wrote: Tom de Vries writes: On 25/12/13 14:02, Tom de Vries wrote: On 07-12-13 16:07, Tom de Vries wrote: Richard, This patch implements the target hook TARGET_FN_OTHER_HARD_REG_USAGE (posted here: http://gcc.gnu.org/ml/gcc-patches/2013-03/msg01318.html

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-01-09 Thread Tom de Vries
On 09-01-14 22:10, Andi Kleen wrote: Tom de Vries writes: Is this patch OK for stage1 (after proper retesting)? Could you perhaps post the latest series first? I don't think it made it to the mailing list. Andi, the current status is: - toplevel of patch series: http://gcc.gnu.o

Re: [PATCH] Fix PR59715

2014-01-10 Thread Tom de Vries
On 09-01-14 13:33, Richard Biener wrote: On Thu, 9 Jan 2014, Tom de Vries wrote: On 09-01-14 10:16, Richard Biener wrote: This fixes PR59715 by splitting critical edges again before code sinking. The critical edge splitting done before PRE was designed to survive until sinking originally

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-01-10 Thread Tom de Vries
On 10-01-14 12:39, Richard Earnshaw wrote: On 09/01/14 20:42, Tom de Vries wrote: On 09-01-14 15:41, Richard Earnshaw wrote: On 30/03/13 16:10, Tom de Vries wrote: On 29/03/13 13:54, Tom de Vries wrote: I split the patch up into 10 patches, to facilitate further review: ... 0001-Add-command

Re: [PING^2][PATCH] -fuse-caller-save - Implement TARGET_FN_OTHER_HARD_REG_USAGE hook for MIPS

2014-01-13 Thread Tom de Vries
On 10-01-14 09:47, Richard Sandiford wrote: Tom de Vries writes: Why not just collect the usage information at the end of final rather than at the beginning, so that all splits during final have been done? If we have a call to a leaf function, the final rtl representation does not contain

Re: [PATCH][IRA] Analysis of register usage of functions for usage by IRA.

2014-01-13 Thread Tom de Vries
up,"ax",%progbits ... Btw, the results are the same for -mno-lra and -mlra. I'm just using the -mno-lra version here because the -mlra version of -fuse-caller-save is still in review ( http://gcc.gnu.org/ml/gcc-patches/2013-12/msg00586.html ). Thanks, - Tom 2014-01-11 Tom

[gomp4, committed] Handle nested loops in kernels regions

2015-07-12 Thread Tom de Vries
o gomp-4_0-branch. Bootstrapped and reg-tested on x86_64. Build and reg-tested on setup with nvidia accelerator. Thanks, - Tom Handle nested loops in kernels regions 2015-07-12 Tom de Vries * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping. * tree-parloops.c (gen_parallel_lo

Re: [RFC] two-phase marking in gt_cleare_cache

2015-07-12 Thread Tom de Vries
On 09/07/15 14:24, Michael Matz wrote: Hi, On Thu, 9 Jul 2015, Tom de Vries wrote: Given this I think the call to gt_ggc_mx is superfluous because it wouldn't work relyably for multi-step dependencies anyway. Hence a situation that works with that call in place, and breaking without

Don't allow multi-step dependencies in caches

2015-07-12 Thread Tom de Vries
Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple: - establishing a policy for multi-step depe

[PATCH 1/5] Downgrade debug_args_for_decl to non-cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple

[PATCH 2/5] Add struct tree_decl_map_hasher

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple

[PATCH 3/5] Downgrade debug_expr_for_decl to non-cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple

[PATCH 4/5] Downgrade value_expr_for_decl to non-cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple

[PATCH 5/5] Don't mark live recursively in gt_cleare_cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:45, Tom de Vries wrote: Hi, this patch series implements the forbidding of multi-step garbage collection liveness dependencies between caches. The first four patches downgrade 3 caches to non-cache, since they introduce multi-step dependencies. This allows us to decouple

Re: [RFC] two-phase marking in gt_cleare_cache

2015-07-12 Thread Tom de Vries
On 12/07/15 17:43, Tom de Vries wrote: On 09/07/15 14:24, Michael Matz wrote: Hi, On Thu, 9 Jul 2015, Tom de Vries wrote: Given this I think the call to gt_ggc_mx is superfluous because it wouldn't work relyably for multi-step dependencies anyway. Hence a situation that works with that

Re: Merge trunk r225562 (2015-07-08) into gomp-4_0-branch

2015-07-13 Thread Tom de Vries
On 12/07/15 11:39, Thomas Schwinge wrote: Hi! On Fri, 10 Jul 2015 18:50:20 -0400, Nathan Sidwell wrote: it looks like the most recent merge from trunk to gomp4 was early May. I think it is time for another one -- can you handle that? Indeed :-) -- and, as it happens, resolving the "merge a

[Committed] Mark *.omp_data_i as non-trapping

2015-07-13 Thread Tom de Vries
y? (Jakub?) I think so. I already bootstrapped and regtested (on x86_64) the patch on top of trunk. Committed to trunk. Thanks, - Tom Mark *.omp_data_i as non-trapping 2015-07-12 Tom de Vries * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping. --- gcc/omp-low.c

Re: Merge trunk r225562 (2015-07-08) into gomp-4_0-branch

2015-07-13 Thread Tom de Vries
On 13/07/15 10:31, Thomas Schwinge wrote: Hi Tom! On Mon, 13 Jul 2015 09:20:16 +0200, Tom de Vries wrote: >On 12/07/15 11:39, Thomas Schwinge wrote: > >On Fri, 10 Jul 2015 18:50:20 -0400, Nathan Sidwell wrote: > >>it looks like the most recent merge from trunk to gomp4

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

2015-07-13 Thread Tom de Vries
On 07/07/15 09:53, Tom de Vries wrote: 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,

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

2015-07-13 Thread Tom de Vries
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? Thanks, - Tom Handle mix/max pointer reductions in parloops 2015-07-13 Tom de Vries PR tree-optimization/46193 * omp-low.c

Re: [RFC] two-phase marking in gt_cleare_cache

2015-07-13 Thread Tom de Vries
On 13/07/15 15:43, Michael Matz wrote: Hi, On Sun, 12 Jul 2015, Tom de Vries wrote: I'm trying to get to a defined policy for what is allowed for caches. Either forbidding or allowing multi-step dependencies, I don't really mind. I think forbidding is the way to go, because ...

Re: [RFC] two-phase marking in gt_cleare_cache

2015-07-13 Thread Tom de Vries
On 13/07/15 16:21, Michael Matz wrote: Hi, On Mon, 13 Jul 2015, Tom de Vries wrote: Implementing multi-step maps or making the hashmaps non-caching doesn't solve any of the above problems I'm not saying that making those hashmaps non-caching solves any of these problems. Ah, I d

[PATCH, PR66851] Handle double reduction in parloops

2015-07-13 Thread Tom de Vries
} } } */ ... This patch allows outer loops with a reduction in the inner loop to be parallelized. Bootstrapped and reg-tested on x86_64. OK for trunk? Thanks, - Tom Handle double reduction in parloops 2015-07-13 Tom de Vries PR tree-optimization/66851 * tree-parloops.c (reduc_stm

[gomp4, committed] Use marked_independent in oacc kernels region

2015-07-14 Thread Tom de Vries
Hi, this patch uses the marked_independent field to skip the dependence analysis in parloops for loops in oacc kernels regions. Bootstrapped and reg-tested on x86_64. Committed to gomp-4_0-branch. Thanks, - Tom Use marked_independent in oacc kernels region 2015-07-14 Tom de Vries

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

2015-07-14 Thread Tom de Vries
On 14/07/15 06:54, Jeff Law wrote: On 07/13/2015 04:58 AM, Tom de Vries wrote: On 07/07/15 09:53, Tom de Vries wrote: 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

Re: Merge trunk r225562 (2015-07-08) into gomp-4_0-branch

2015-07-14 Thread Tom de Vries
On 13/07/15 10:31, Thomas Schwinge wrote: Hi Tom! On Mon, 13 Jul 2015 09:20:16 +0200, Tom de Vries wrote: On 12/07/15 11:39, Thomas Schwinge wrote: On Fri, 10 Jul 2015 18:50:20 -0400, Nathan Sidwell wrote: it looks like the most recent merge from trunk to gomp4 was early May. I think it

Re: [gomp4] New test loop independent clause

2015-07-15 Thread Tom de Vries
On 15/07/15 11:28, Thomas Schwinge wrote: Hi! On Tue, 14 Jul 2015 14:10:01 -0500, James Norris wrote: The attached adds testing for the independent clause with the loop directive in Fortran. Committed to gomp-4_0-branch. --- /dev/null +++ b/libgomp/testsuite/libgomp.oacc-fortran/kernels-i

Re: [gomp4] New test loop independent clause

2015-07-15 Thread Tom de Vries
On 15/07/15 14:03, Thomas Schwinge wrote: Hi Tom! On Wed, 15 Jul 2015 12:43:05 +0200, Tom de Vries wrote: On 15/07/15 11:28, Thomas Schwinge wrote: On Tue, 14 Jul 2015 14:10:01 -0500, James Norris wrote: The attached adds testing for the independent clause with the loop directive in

[committed] check_GNU_style.sh: Fix quoting in cat_with_prefix

2015-07-15 Thread Tom de Vries
Hi, I've committed this obvious fix. Thanks, - Tom check_GNU_style.sh: Fix quoting in cat_with_prefix 2015-07-15 Tom de Vries * check_GNU_style.sh (cat_with_prefix): Fix quoting. diff --git a/contrib/check_GNU_style.sh b/contrib/check_GNU_style.sh index 033a2c9..ac54ed0 100755

[committed] Add kernels-loop-nest-independent.f95

2015-07-15 Thread Tom de Vries
[ was: Re: [gomp4] New test loop independent clause ] On 15/07/15 12:43, Tom de Vries wrote: I'm not sure if I mentioned it at the meeting, but marking the outer loop of that example as independent does not result in parallelization either. So that's something to be investigated. I

[gomp4, committed] Add c-c++-common/goacc/kernels-loop-nest-independent.c

2015-07-15 Thread Tom de Vries
Hi, this patch adds a testcase testing the independent clause on outer loop in oacc kernels region. Committed to gomp-4_0-branch. Thanks, - Tom Add c-c++-common/goacc/kernels-loop-nest-independent.c 2015-07-15 Tom de Vries * c-c++-common/goacc/kernels-loop-nest-independent.c: New test

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

2015-07-15 Thread Tom de Vries
t create a loop state and sets the fixup flag on the loop state, but postpones the init_loops_structure call till move_sese_region_to_fn, where it can succeed. III. Bootstrapped and reg-tested on x86_64. OK for trunk? Thanks, - Tom Mark inner loop for fixup in parloops 2015-07-13 Tom de Vr

[RFC, PR66873] Use graphite for parloops

2015-07-15 Thread Tom de Vries
lize-loops > 1) because running it before graphite makes the graphite scop detection fail. Bootstrapped and reg-tested on x86_64. Any comments? Thanks, - Tom Use graphite for parloops 2015-07-15 Tom de Vries PR tree-optimization/66873 * graphite-isl-ast-to-gimple.c (translate_isl

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

2015-07-16 Thread Tom de Vries
On 16/07/15 10:44, Richard Biener wrote: On Wed, Jul 15, 2015 at 9:36 PM, Tom de Vries wrote: Hi, I. In openmp expansion of loops, we do some effort to try to create matching loops in the loop state of the child function, f.i.in expand_omp_for_generic: ... struct loop *outer_loop

Re: [RFC, PR66873] Use graphite for parloops

2015-07-16 Thread Tom de Vries
On 16/07/15 12:23, Richard Biener wrote: On Thu, Jul 16, 2015 at 12:19 PM, Thomas Schwinge wrote: Hi Tom! On Thu, 16 Jul 2015 10:46:00 +0200, Richard Biener wrote: On Wed, Jul 15, 2015 at 10:26 PM, Tom de Vries wrote: I tried to parallelize this fortran test-case (based on autopar/outer

[gomp4, committed] Fix if-clause handling for kernels

2015-07-17 Thread Tom de Vries
-17 Tom de Vries * omp-low.c (expand_omp_target): Fix location of insertion of if-clause handling code. * c-c++-common/goacc/if-clause-2.c: Compile with -Wall. --- gcc/omp-low.c | 3 ++- gcc/testsuite/c-c++-common/goacc/if-clause-2.c | 2 ++ 2 files changed, 4

[gomp4, committed] Fix OACC_LOOP usage in goacc tests

2015-07-18 Thread Tom de Vries
#pragma acc ACC_LOOP #endif ... would work with: - undefined ACC_LOOP, - #define ACC_LOOP loop - #define ACC_LOOP loop independent ] Committed to gomp-4_0-branch. Thanks, - Tom Fix OACC_LOOP usage in goacc tests 2015-07-17 Tom de Vries * c-c++-common/goacc/kernels-loop-2-acc-loop.c (AC

[gomp4, committed] Obvious -Wall fixes in openacc tests

2015-07-18 Thread Tom de Vries
Hi, I've committed these three obvious patches that fix -Wall warnings in openacc test-cases to gomp-4_0-branch. Thanks, - Tom Add missing return in private-reduction-1.c 2015-07-17 Tom de Vries * c-c++-common/goacc/private-reduction-1.c (reduction): Add missing return. ---

Re: [gomp4] remove kernel-specific launch

2015-07-19 Thread Tom de Vries
On 19/07/15 14:27, Nathan Sidwell wrote: Tom, as we discussed this patch removes the GOACC_kernels call, which forwards to GOACC_parallel. We simply call GOACC_parallel directly. ok for gomp4 branch? Hi Nathan, yes, that looks good. Thanks, - Tom

Re: [gomp4] remove kernel-specific launch

2015-07-19 Thread Tom de Vries
On 19/07/15 22:30, Thomas Schwinge wrote: Does it make sense then to rename GOACC_kernels_internal to GOACC_kernels? I prefer to keep the name GOACC_kernels_internal, IMO it's clearer. Thanks, - Tom

Re: [gomp4] remove kernel-specific launch

2015-07-20 Thread Tom de Vries
for remove GOACC_kernels 2015-07-20 Tom de Vries * tree-parloops.c (create_parallel_loop): Update comments for removal of GOACC_kernels. Rename goacc_kernels variable into goacc_kernels_internal. --- gcc/tree-parloops.c | 10 ++ 1 file changed, 6 insertions(+), 4 deletions(-) diff --git

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

2015-07-20 Thread Tom de Vries
On 16/07/15 12:15, Richard Biener wrote: On Thu, Jul 16, 2015 at 11:39 AM, Tom de Vries wrote: On 16/07/15 10:44, Richard Biener wrote: On Wed, Jul 15, 2015 at 9:36 PM, Tom de Vries wrote: Hi, I. In openmp expansion of loops, we do some effort to try to create matching loops in the loop

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

2015-07-20 Thread Tom de Vries
On 09/07/15 13:04, Richard Biener wrote: On Thu, 9 Jul 2015, Tom de Vries wrote: On 07/07/15 17:58, Tom de Vries wrote: If you can handle one exit edge I also can't see the difficulty in handling all exit edges. Agreed, that doesn't look to complicated. I

Re: [RFC, PR66873] Use graphite for parloops

2015-07-20 Thread Tom de Vries
On 20/07/15 20:22, Sebastian Pop wrote: Tom de Vries wrote: graphite dependence analysis is too slow to be enabled unconditionally. (read: hours in some simple cases - see bugzilla) Haha, "cool"! ;-) Maybe it is still reasonable to use graphite to analyze the code inside OpenA

Re: [RFC, PR66873] Use graphite for parloops

2015-07-20 Thread Tom de Vries
On 20/07/15 20:31, Sebastian Pop wrote: Tom de Vries wrote: So I wondered, why not always use the graphite dependency analysis in parloops. (Of course you could use -floop-parallelize-all, but that also changes the heuristic). So I wrote a patch for parloops to use graphite dependency analysis

Re: [gomp4] remove kernel-specific launch

2015-07-21 Thread Tom de Vries
On 21/07/15 12:19, Thomas Schwinge wrote: Hi! Thanks for the cleanup! On Mon, 20 Jul 2015 11:54:48 +0200, Tom de Vries wrote: On 19/07/15 23:08, Nathan Sidwell wrote: On 07/19/15 16:30, Thomas Schwinge wrote: Does it make sense then to rename GOACC_kernels_internal to GOACC_kernels

Re: [RFC, PR66873] Use graphite for parloops

2015-07-21 Thread Tom de Vries
On 21/07/15 02:21, Tom de Vries wrote: On 20/07/15 20:31, Sebastian Pop wrote: Tom de Vries wrote: So I wondered, why not always use the graphite dependency analysis in parloops. (Of course you could use -floop-parallelize-all, but that also changes the heuristic). So I wrote a patch for

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

2015-07-22 Thread Tom de Vries
On 01/07/15 13:16, Tom de Vries wrote: Hi, testcase libgomp.oacc-c-c++-common/lib-3.c is supposed to fail. It fails currently in two ways: - no device found, if there is no nonhost device type supported, so just host and host_nonshm - no device initialized, if there is a nonhost device type

[PATCH] Document ftrapv/fwrapv interaction

2015-07-22 Thread Tom de Vries
ftrapv/fwrapv interaction 2015-07-22 Tom de Vries * 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/invo

[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 wrote: >On Tue, Jul 21, 2015 at 8:42 PM, Sebastian Pop wrote: >>Tom de Vries wrote: >>>Fix reduction safety checks >>>

[PATCH] Enable reductions without fassociative-math in graphite

2015-07-22 Thread Tom de Vries
graphite 2015-07-21 Tom de Vries * 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/graphite-sese-to

[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 wrote: On Tue, Jul 21, 2015 at 8:42 PM, Sebastian Pop wrote: Tom de Vries wrote: Fix reduction safety checks diff --git a/gcc/tree-vect-loop.c

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

2015-07-22 Thread Tom de Vries
oops. This patch sets safelen to INT_MAX 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

[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

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 wrote: On 16/07/15 10:44, Richard Biener wrote: On Wed, Jul 15, 2015 at 9:36 PM, Tom de Vries wrote: Hi, I. In openmp expansion of loops, we do some effort to

[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 Vries * tree-parloops.c

[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 lo

[PATCH] Add FIXED_POINT_TYPE_OVERFLOW_WRAPS_P

2015-07-24 Thread Tom de Vries
sn't change behaviour of the compiler. Currently bootstrapping and reg-testing on x86_64. OK for trunk? Thanks, - Tom Add FIXED_POINT_TYPE_OVERFLOW_WRAPS_P 2015-07-24 Tom de Vries * tree.h (FIXED_POINT_TYPE_OVERFLOW_WRAPS_P): Define. * fold-const.c (split_tree): Use FIXED_POINT_T

[PATCH] Allow non-overflow ops in vect_is_simple_reduction_1

2015-07-24 Thread Tom de Vries
in vect_is_simple_reduction_1 2015-07-24 Tom de Vries * tree.c (no_overflow_tree_code): New function. * tree.h (no_overflow_tree_code): Declare. * tree-vect-loop.c (vect_is_simple_reduction_1): Use no_overflow_tree_code. * gcc.dg/autopar/reduc-2char.c (init_arrays): Mark with attribute

[committed] Add transform_to_exit_first_loop_alt dump success message

2015-07-24 Thread Tom de Vries
transform_to_exit_first_loop_alt dump success message 2015-07-24 Tom de Vries * tree-parloops.c (gen_parallel_loop): Add debug print for alternative exit-first loop transform. * gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for alternative exit-first loop transform. * gcc.dg/parloops-exit-first-loop-alt-3

Re: [PATCH, i386]: Fix PR 64003, valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md

2015-07-24 Thread Tom de Vries
On 24/07/15 18:29, Uros Bizjak wrote: This patch introduces ADJUST_INSN_LENGTH define to i386.h to increase the length of the insn when bnd prefix is used. 2015-07-24 Uros Bizjak PR target/64003 * config/i386/i386.h (ADJUST_INSN_LENGTH): New define. * config/i386/i386.md (mayb

Re: [PATCH] Don't allow unsafe reductions in graphite

2015-07-25 Thread Tom de Vries
On 24/07/15 22:20, Sebastian Pop wrote: Richard Biener wrote: On Wed, Jul 22, 2015 at 6:00 PM, Tom de Vries wrote: Currently bootstrapping and reg-testing on x86_64. OK for trunk? OK 5 and 4.9 release branches? Ok if Sebastian is fine with it. Ok to backport as well. Thanks Tom for the

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

2015-07-26 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

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

2015-07-26 Thread Tom de Vries
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 behaviour of the type. Bootstrapped and

[PATCH] Enable fixed-point reductions in graphite

2015-07-26 Thread Tom de Vries
ds, for the case that the fixed point overflow wraps. The patch uses FIXED_POINT_TYPE_OVERFLOW_WRAPS_P, introduced in proposed patch https://gcc.gnu.org/ml/gcc-patches/2015-07/msg02049.html . Bootstrapped and reg-tested on x86_64. OK for trunk? Thanks, - Tom Enable fixed-point reductions in gra

Re: [RFC, PR66873] Use graphite for parloops

2015-07-26 Thread Tom de Vries
On 16/07/15 12:28, Richard Biener wrote: On Thu, Jul 16, 2015 at 12:23 PM, Richard Biener wrote: On Thu, Jul 16, 2015 at 12:19 PM, Thomas Schwinge wrote: Hi Tom! On Thu, 16 Jul 2015 10:46:00 +0200, Richard Biener wrote: On Wed, Jul 15, 2015 at 10:26 PM, Tom de Vries wrote: I tried to

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 defau

[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 * gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline attribute. Update comment. (main): Remove

[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 * tree-parloops.c

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

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

2015-07-27 Thread Tom de Vries
UP to loop state in gen_parallel_loop. 2015-07-27 Tom de Vries revert: 2015-07-12 Tom de Vries * 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-parloops.c b/gcc/tree-parloops.c

[gomp4, committed] various parloops-related backports

2015-07-27 Thread Tom de Vries
g gt 2015-07-27 Tom de Vries backport from trunk: 2015-07-14 Tom de Vries * 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 greater_than_spec_func function with

[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] 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

[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] 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 backport from trunk: 2015-

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

2015-07-28 Thread Tom de Vries
2015-07-28 Tom de Vries * 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-pta

[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 * 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 | 2 ++ .../c-c

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

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 wrote: On 28/07/15 09:59, Richard Biener wrote: On Fri, Jul 24, 2015 at 4:39 PM, Tom de Vries wrote: Hi, this patch allows parallelization and vectorization of reduction operators that are guaranteed

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 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 wrote: On 16/07/15 10:44, Richard Biener wrote: On Wed, Jul 15

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 wrote: On 29/07/15 10:09, Richard Biener wrote: On Tue, Jul 28, 2015 at 2:08 PM, Tom de Vries wrote: On 28/07/15 09:59, Richard Biener wrote: On Fri, Jul 24, 2015 at 4:39 PM, Tom de Vries wrote

[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 the

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 wh

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

[PATCH][PR67666] Handle single restrict pointer in struct in create_variable_info_for_1

2015-09-21 Thread Tom de Vries
the desired effect. This patch fixes the handling of structs with a single field in alias analysis. Bootstrapped and reg-tested on x86_64. OK for trunk? Thanks, - Tom Handle single restrict pointer in struct in create_variable_info_for_1 2015-09-22 Tom de Vries PR tree-optimization/6

[PING][PR67476] Add param parloops-schedule

2015-09-22 Thread Tom de Vries
Hi, These two patches: - https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00938.html - https://gcc.gnu.org/ml/gcc-patches/2015-09/msg00940.html add a param parloop-schedule=. Thanks, - Tom

[PATCH][PR67671] Handle restrict pointer references as restrict in AA

2015-09-22 Thread Tom de Vries
both clique/base annotations for the the second example. Bootstrapped and reg-tested on x86_64. OK for trunk? Thanks, - Tom Handle restrict pointer references as restrict in AA 2015-09-22 Tom de Vries PR tree-optimization/67671 * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict p

Re: [PATCH] Don't create superfluous parm in expand_omp_taskreg

2015-09-23 Thread Tom de Vries
On 24/09/15 08:23, Thomas Schwinge wrote: Hi Tom! On Tue, 11 Aug 2015 20:53:39 +0200, Tom de Vries wrote: Don't create superfluous parm in expand_omp_taskreg 2015-08-11 Tom de Vries * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to parm_decl, r

[gomp4, committed] Skip inner loops in oacc kernels region

2015-09-25 Thread Tom de Vries
Hi, this patch fixes an ICE when trying to parallelize inner loops in an oacc kernels region. The patch fixes it by not trying to parallelize those inner loops. Committed to gomp-4_0-branch. Thanks, - Tom Skip inner loops in oacc kernels region 2015-09-24 Tom de Vries * tree

[gom4, committed] Don't parallelize oacc kernels region with adjacent loops

2015-09-25 Thread Tom de Vries
Hi, this patch prevents adjacent loops in a kernels region to paralellized. This fixes an ICE in the test-case. Committed to gomp-4_0-branch. Thanks, - Tom Don't parallelize oacc kernels region with adjacent loops 2015-09-26 Tom de Vries * omp-low.c (mark_loops_in_oacc_kernels_r

[Committed] Add gcc.dg/vect/pr62171.c

2015-09-28 Thread Tom de Vries
Hi, this patch adds testcase gcc.dg/vect/pr62171.c. The testcase passes thanks to the fix for PR67673. Committed to trunk. Thanks, - Tom Add gcc.dg/vect/pr62171.c 2015-09-28 Tom de Vries * gcc.dg/vect/pr62171.c: New test. --- gcc/testsuite/gcc.dg/vect/pr62171.c | 27

[RFC] Dump function attributes

2015-09-28 Thread Tom de Vries
Hi, patch below prints the function attributes in the dump file. Say we mark a function foo with attributes noinline and noclone like this: ... int __attribute__((noinline, noclone)) foo (void) ... Then using this patch, we find in the dump file: ... ;; Function foo (foo, funcdef_no=10, decl_ui

[gomp4, WIP] Implement -foffload-alias

2015-09-28 Thread Tom de Vries
;3rd-level restrict ignored". Thanks, - Tom Implement -foffload-alias 2015-09-28 Tom de Vries * common.opt (foffload-alias): New option. * flag-types.h (enum offload_alias): New enum. * omp-low.c (is_gimple_oacc_offload): New function. (install_var_field): Handle flag_offload_alias. *

[patch, committed] Dump function attributes

2015-09-28 Thread Tom de Vries
[ was: Re: [RFC] Dump function attributes ] On 28/09/15 17:17, Bernd Schmidt wrote: On 09/28/2015 04:32 PM, Tom de Vries wrote: patch below prints the function attributes in the dump file. foo () [ noclone , noinline ] { ... Good idea? If so, do we want one attribute per line? Only for

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