aboutsummaryrefslogtreecommitdiff
path: root/libgomp/parallel.c
diff options
context:
space:
mode:
authorKwok Cheung Yeung <kcy@codesourcery.com>2020-11-18 11:24:36 -0800
committerKwok Cheung Yeung <kcy@codesourcery.com>2020-11-18 11:24:36 -0800
commit6fae7eda968db658c280ad6f94fe6906a15af0c9 (patch)
tree0453cb6dd1c52f71b96326f558695408e62e4607 /libgomp/parallel.c
parent965e0cc371b292190f69f23ab9d35c8a20b13076 (diff)
downloadgcc-6fae7eda968db658c280ad6f94fe6906a15af0c9.zip
gcc-6fae7eda968db658c280ad6f94fe6906a15af0c9.tar.gz
gcc-6fae7eda968db658c280ad6f94fe6906a15af0c9.tar.bz2
openmp: Retire nest-var ICV for OpenMP 5.1
This removes the nest-var ICV, expressing nesting in terms of the max-active-levels-var ICV instead. The max-active-levels-var ICV is now per data environment rather than per device. 2020-11-18 Kwok Cheung Yeung <kcy@codesourcery.com> libgomp/ * env.c (gomp_global_icv): Remove nest_var field. Add max_active_levels_var field. (gomp_max_active_levels_var): Remove. (parse_boolean): Return true on success. (handle_omp_display_env): Express OMP_NESTED in terms of max_active_levels_var. Change format specifier for max_active_levels_var. (initialize_env): Set max_active_levels_var from OMP_MAX_ACTIVE_LEVELS, OMP_NESTED, OMP_NUM_THREADS and OMP_PROC_BIND. * icv.c (omp_set_nested): Express in terms of max_active_levels_var. (omp_get_nested): Likewise. (omp_set_max_active_levels): Use max_active_levels_var field instead of gomp_max_active_levels_var. (omp_get_max_active_levels): Likewise. * libgomp.h (struct gomp_task_icv): Remove nest_var field. Add max_active_levels_var field. (gomp_supported_active_levels): Set to UCHAR_MAX. (gomp_max_active_levels_var): Delete. * libgomp.texi (omp_get_nested): Update documentation. (omp_set_nested): Likewise. (OMP_MAX_ACTIVE_LEVELS): Likewise. (OMP_NESTED): Likewise. (OMP_NUM_THREADS): Likewise. (OMP_PROC_BIND): Likewise. * parallel.c (gomp_resolve_num_threads): Replace reference to nest_var with max_active_levels_var. Use max_active_levels_var field instead of gomp_max_active_levels_var.
Diffstat (limited to 'libgomp/parallel.c')
-rw-r--r--libgomp/parallel.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libgomp/parallel.c b/libgomp/parallel.c
index 2fe4f573..ebce492 100644
--- a/libgomp/parallel.c
+++ b/libgomp/parallel.c
@@ -53,11 +53,11 @@ gomp_resolve_num_threads (unsigned specified, unsigned count)
/* Accelerators with fixed thread counts require this to return 1 for
nested parallel regions. */
#if !defined(__AMDGCN__) && !defined(__nvptx__)
- && !icv->nest_var
+ && icv->max_active_levels_var <= 1
#endif
)
return 1;
- else if (thr->ts.active_level >= gomp_max_active_levels_var)
+ else if (thr->ts.active_level >= icv->max_active_levels_var)
return 1;
/* If NUM_THREADS not specified, use nthreads_var. */