summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoachim Protze <protze@itc.rwth-aachen.de>2018-01-17 10:06:06 +0000
committerJoachim Protze <protze@itc.rwth-aachen.de>2018-01-17 10:06:06 +0000
commit0c9516b36c90a2ef92ca04d457ff158052f8fde1 (patch)
tree7cbd9fbba0e012f3b556e86b835a15ffef408df1
parent1b2bd2680bd5ff9641c74488a6e77561ebe21e5f (diff)
downloadbcm5719-llvm-0c9516b36c90a2ef92ca04d457ff158052f8fde1.tar.gz
bcm5719-llvm-0c9516b36c90a2ef92ca04d457ff158052f8fde1.zip
[OMPT] Add Workaround for Intel Compiler Bug
Add Workaround for Intel Compiler Bug with Case#: 03138964 A critical region within a nested task causes a segfault in icc 14-18: int main() { #pragma omp parallel num_threads(2) #pragma omp master #pragma omp task #pragma omp task #pragma omp critical printf("test\n"); } When the critical region is in a separate function, the segault does not occur. So we add noinline to make sure that the function call stays there. Differential Revision: https://reviews.llvm.org/D41182 llvm-svn: 322622
-rw-r--r--openmp/runtime/test/ompt/tasks/task_types.c2
-rw-r--r--openmp/runtime/test/ompt/tasks/task_types_serialized.c1
2 files changed, 2 insertions, 1 deletions
diff --git a/openmp/runtime/test/ompt/tasks/task_types.c b/openmp/runtime/test/ompt/tasks/task_types.c
index 7a4f775cc48..77b82ee2571 100644
--- a/openmp/runtime/test/ompt/tasks/task_types.c
+++ b/openmp/runtime/test/ompt/tasks/task_types.c
@@ -4,7 +4,7 @@
#include <omp.h>
#include <math.h>
-
+__attribute__ ((noinline)) // workaround for bug in icc
void print_task_type(int id)
{
#pragma omp critical
diff --git a/openmp/runtime/test/ompt/tasks/task_types_serialized.c b/openmp/runtime/test/ompt/tasks/task_types_serialized.c
index dfd5598d24d..7726f5b0330 100644
--- a/openmp/runtime/test/ompt/tasks/task_types_serialized.c
+++ b/openmp/runtime/test/ompt/tasks/task_types_serialized.c
@@ -4,6 +4,7 @@
#include "callback.h"
#include <omp.h>
+__attribute__ ((noinline)) // workaround for bug in icc
void print_task_type(int id)
{
#pragma omp critical
OpenPOWER on IntegriCloud