/* Loop structure of the function. The entire function is described as
a NULL loop. */
+/* See also 'gcc/omp-oacc-neuter-broadcast.cc:struct parallel_g'. */
struct parallel
{
partitioning mode of the function as a whole. Populate MAP with
head and tail blocks. We also clear the BB visited flag, which is
used when finding partitions. */
+/* See also 'gcc/omp-oacc-neuter-broadcast.cc:omp_sese_split_blocks'. */
static void
nvptx_split_blocks (bb_insn_map_t *map)
}
/* Dump this parallel and all its inner parallels. */
+/* See also 'gcc/omp-oacc-neuter-broadcast.cc:omp_sese_dump_pars'. */
static void
nvptx_dump_pars (parallel *par, unsigned depth)
/* If BLOCK contains a fork/join marker, process it to create or
terminate a loop structure. Add this block to the current loop,
and then walk successor blocks. */
+/* See also 'gcc/omp-oacc-neuter-broadcast.cc:omp_sese_find_par'. */
static parallel *
nvptx_find_par (bb_insn_map_t *map, parallel *par, basic_block block)
to head & tail markers, discovered when splitting blocks. This
speeds up the discovery. We rely on the BB visited flag having
been cleared when splitting blocks. */
+/* See also 'gcc/omp-oacc-neuter-broadcast.cc:omp_sese_discover_pars'. */
static parallel *
nvptx_discover_pars (bb_insn_map_t *map)
/* Loop structure of the function. The entire function is described as
a NULL loop. */
+/* Adapted from 'gcc/config/nvptx/nvptx.c:struct parallel'. */
struct parallel_g
{
partitioning mode of the function as a whole. Populate MAP with
head and tail blocks. We also clear the BB visited flag, which is
used when finding partitions. */
+/* Adapted from 'gcc/config/nvptx/nvptx.c:nvptx_split_blocks'. */
static void
omp_sese_split_blocks (bb_stmt_map_t *map)
}
/* Dump this parallel and all its inner parallels. */
+/* Adapted from 'gcc/config/nvptx/nvptx.c:nvptx_dump_pars'. */
static void
omp_sese_dump_pars (parallel_g *par, unsigned depth)
/* If BLOCK contains a fork/join marker, process it to create or
terminate a loop structure. Add this block to the current loop,
and then walk successor blocks. */
+/* Adapted from 'gcc/config/nvptx/nvptx.c:nvptx_find_par'. */
static parallel_g *
omp_sese_find_par (bb_stmt_map_t *map, parallel_g *par, basic_block block)
to head & tail markers, discovered when splitting blocks. This
speeds up the discovery. We rely on the BB visited flag having
been cleared when splitting blocks. */
+/* Adapted from 'gcc/config/nvptx/nvptx.c:nvptx_discover_pars'. */
static parallel_g *
omp_sese_discover_pars (bb_stmt_map_t *map)
update_stmt (acc_bar);
}
-/* This is a copied and renamed omp-low.c:omp_build_component_ref. */
+/* Build COMPONENT_REF and set TREE_THIS_VOLATILE and TREE_READONLY on it
+ as appropriate. */
+/* Adapted from 'gcc/omp-low.c:omp_build_component_ref'. */
static tree
oacc_build_component_ref (tree obj, tree field)