[Openmp-commits] [PATCH] D39890: [OMPT] Fix assertion for OpenMP code generated with outdated compilers
Joachim Protze via Phabricator via Openmp-commits
openmp-commits at lists.llvm.org
Fri Nov 10 05:31:38 PST 2017
protze.joachim updated this revision to Diff 122428.
protze.joachim added a comment.
Addressing Olgas suggestions
https://reviews.llvm.org/D39890
Files:
runtime/src/i18n/en_US.txt
runtime/src/kmp_csupport.cpp
runtime/src/kmp_sched.cpp
Index: runtime/src/kmp_sched.cpp
===================================================================
--- runtime/src/kmp_sched.cpp
+++ runtime/src/kmp_sched.cpp
@@ -68,7 +68,7 @@
ompt_task_info_t *task_info = NULL;
ompt_work_type_t ompt_work_type;
- if (ompt_enabled.enabled) {
+ if (ompt_enabled.ompt_callback_work) {
// Only fully initialize variables needed by OMPT if OMPT is enabled.
team_info = __ompt_get_teaminfo(0, NULL);
task_info = __ompt_get_task_info_object(0);
@@ -81,8 +81,8 @@
} else if ((loc->flags & KMP_IDENT_WORK_DISTRIBUTE) != 0) {
ompt_work_type = ompt_work_distribute;
} else {
- KMP_ASSERT2(0,
- "__kmpc_for_static_init: can't determine workshare type");
+ ompt_work_type = ompt_work_loop;
+ KMP_WARNING(OmptOutdatedWorkshare);
}
KMP_DEBUG_ASSERT(ompt_work_type);
}
Index: runtime/src/kmp_csupport.cpp
===================================================================
--- runtime/src/kmp_csupport.cpp
+++ runtime/src/kmp_csupport.cpp
@@ -1761,17 +1761,17 @@
ompt_work_type_t ompt_work_type;
ompt_team_info_t *team_info = __ompt_get_teaminfo(0, NULL);
ompt_task_info_t *task_info = __ompt_get_task_info_object(0);
- // Determine workshare type
+ // Determine workshare type
if (loc != NULL) {
if ((loc->flags & KMP_IDENT_WORK_LOOP) != 0) {
ompt_work_type = ompt_work_loop;
} else if ((loc->flags & KMP_IDENT_WORK_SECTIONS) != 0) {
ompt_work_type = ompt_work_sections;
} else if ((loc->flags & KMP_IDENT_WORK_DISTRIBUTE) != 0) {
ompt_work_type = ompt_work_distribute;
} else {
- KMP_ASSERT2(0,
- "__kmpc_for_static_fini: can't determine workshare type");
+ ompt_work_type = ompt_work_loop;
+ KMP_WARNING(OmptOutdatedWorkshare);
}
KMP_DEBUG_ASSERT(ompt_work_type);
}
Index: runtime/src/i18n/en_US.txt
===================================================================
--- runtime/src/i18n/en_US.txt
+++ runtime/src/i18n/en_US.txt
@@ -325,6 +325,8 @@
# %1, -- name of ignored variable, %2 -- name of variable with higher priority.
OBSOLETE "%1$s: overrides %3$s specified before"
# %1, %2 -- name and value of the overriding variable, %3 -- name of overriden variable.
+OmptOutdatedWorkshare "OMPT: Cannot determine workshare type; using the default (loop) instead. "
+ "This is should be fixed in an up-to-date compiler."
# --- OpenMP errors detected at runtime ---
#
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D39890.122428.patch
Type: text/x-patch
Size: 2669 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/openmp-commits/attachments/20171110/ffadaf90/attachment-0001.bin>
More information about the Openmp-commits
mailing list