On Wed, Nov 04, 2020 at 02:02:56AM +0800, Chung-Lin Tang wrote:
> gcc/
> * gimplify.c (is_or_contains_p): New static helper function.
> (omp_target_reorder_clauses): New function.
> (gimplify_scan_omp_clauses): Add use of omp_target_reorder_clauses to
> reorder clause
On 2020/10/29 7:49 PM, Jakub Jelinek wrote:
On Wed, Oct 28, 2020 at 06:32:21PM +0800, Chung-Lin Tang wrote:
@@ -8958,25 +9083,20 @@ gimplify_scan_omp_clauses (tree *list_p, gimple_seq
*pre_p,
/* An "attach/detach" operation on an update directive should
behave as
On Wed, Oct 28, 2020 at 06:32:21PM +0800, Chung-Lin Tang wrote:
> > > @@ -8958,25 +9083,20 @@ gimplify_scan_omp_clauses (tree *list_p,
> > > gimple_seq *pre_p,
> > > /* An "attach/detach" operation on an update directive
> > > should
> > >behave as a GOMP_MAP_A
On 2020/10/13 9:31 PM, Jakub Jelinek wrote:
+/* Implement OpenMP 5.x map ordering rules for target directives. There are
+ several rules, and with some level of ambiguity, hopefully we can at least
+ collect the complexity here in one place. */
+
+static void
+omp_target_reorder_clauses (tre
On Tue, Sep 01, 2020 at 09:16:48PM +0800, Chung-Lin Tang wrote:
> --- a/gcc/gimplify.c
> +++ b/gcc/gimplify.c
> @@ -8350,14 +8350,126 @@ extract_base_bit_offset (tree base, tree *base_ref,
> poly_int64 *bitposp,
>/* Set *BASE_REF if BASE was a dereferenced reference variable. */
>if (base
These are the middle-end gimplifier and omp-low changes.
Compiler testcases are also included in this patch.
For attach/detach clauses, I'm currently using the clause tree expression
itself as the key for lookup, to solve the "same-decl" problem when
multiple clauses have the same OMP_CLAUSE_DECL