diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2022-07-24 15:11:41 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2023-02-08 19:04:38 +0000 |
commit | fcaf7f8644a9988098ac6be2165bce3ea4786e91 (patch) | |
tree | 08a554363df16b968a623d651c09d82a5a0b1c65 /contrib/llvm-project/openmp/runtime/src/kmp_settings.cpp | |
parent | 753f127f3ace09432b2baeffd71a308760641a62 (diff) | |
parent | 4b4fe385e49bd883fd183b5f21c1ea486c722e61 (diff) | |
download | src-fcaf7f8644a9988098ac6be2165bce3ea4786e91.tar.gz src-fcaf7f8644a9988098ac6be2165bce3ea4786e91.zip |
Merge llvm-project main llvmorg-15-init-17485-ga3e38b4a206b
This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
openmp to llvmorg-15-init-17485-ga3e38b4a206b.
PR: 265425
MFC after: 2 weeks
Diffstat (limited to 'contrib/llvm-project/openmp/runtime/src/kmp_settings.cpp')
-rw-r--r-- | contrib/llvm-project/openmp/runtime/src/kmp_settings.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/contrib/llvm-project/openmp/runtime/src/kmp_settings.cpp b/contrib/llvm-project/openmp/runtime/src/kmp_settings.cpp index 49b23a866a58..97b20d4f8664 100644 --- a/contrib/llvm-project/openmp/runtime/src/kmp_settings.cpp +++ b/contrib/llvm-project/openmp/runtime/src/kmp_settings.cpp @@ -2169,6 +2169,7 @@ static void __kmp_parse_affinity_env(char const *name, char const *value, int respect = 0; int gran = 0; int dups = 0; + int reset = 0; bool set = false; KMP_ASSERT(value != NULL); @@ -2224,6 +2225,7 @@ static void __kmp_parse_affinity_env(char const *name, char const *value, #define set_respect(val) _set_param(respect, *out_respect, val) #define set_dups(val) _set_param(dups, *out_dups, val) #define set_proclist(val) _set_param(proclist, *out_proclist, val) +#define set_reset(val) _set_param(reset, __kmp_affin_reset, val) #define set_gran(val, levels) \ { \ @@ -2293,6 +2295,12 @@ static void __kmp_parse_affinity_env(char const *name, char const *value, } else if (__kmp_match_str("norespect", buf, CCAST(const char **, &next))) { set_respect(FALSE); buf = next; + } else if (__kmp_match_str("reset", buf, CCAST(const char **, &next))) { + set_reset(TRUE); + buf = next; + } else if (__kmp_match_str("noreset", buf, CCAST(const char **, &next))) { + set_reset(FALSE); + buf = next; } else if (__kmp_match_str("duplicates", buf, CCAST(const char **, &next)) || __kmp_match_str("dups", buf, CCAST(const char **, &next))) { @@ -2433,6 +2441,7 @@ static void __kmp_parse_affinity_env(char const *name, char const *value, #undef set_warnings #undef set_respect #undef set_granularity +#undef set_reset __kmp_str_free(&buffer); @@ -2564,6 +2573,11 @@ static void __kmp_stg_print_affinity(kmp_str_buf_t *buffer, char const *name, } else { __kmp_str_buf_print(buffer, "%s,", "norespect"); } + if (__kmp_affin_reset) { + __kmp_str_buf_print(buffer, "%s,", "reset"); + } else { + __kmp_str_buf_print(buffer, "%s,", "noreset"); + } __kmp_str_buf_print(buffer, "granularity=%s,", __kmp_hw_get_keyword(__kmp_affinity_gran, false)); } |