summaryrefslogtreecommitdiffstats
path: root/openmp/runtime/src/kmp_taskdeps.cpp
diff options
context:
space:
mode:
authorJonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>2016-08-04 11:03:47 +0000
committerJonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>2016-08-04 11:03:47 +0000
commit20236611d4e6d78e6f53946b7240806a5d618026 (patch)
tree51217be4aa696cc0bea4e050927070e60d075c19 /openmp/runtime/src/kmp_taskdeps.cpp
parent5d5ca9c0cb784737c64a536fa6b173bf30a93bc1 (diff)
downloadbcm5719-llvm-20236611d4e6d78e6f53946b7240806a5d618026.tar.gz
bcm5719-llvm-20236611d4e6d78e6f53946b7240806a5d618026.zip
kmp_taskdeps.cpp: Fix debugging output
node->dn.task is only filled after the dependencies are already processed. This currently leads to unhelpful output from KA_TRACE or even a crash if one enables KMP_SUPPORT_GRAPH_OUTPUT. llvm-svn: 277717
Diffstat (limited to 'openmp/runtime/src/kmp_taskdeps.cpp')
-rw-r--r--openmp/runtime/src/kmp_taskdeps.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/openmp/runtime/src/kmp_taskdeps.cpp b/openmp/runtime/src/kmp_taskdeps.cpp
index 46ba5df9c8c..1460f8da07c 100644
--- a/openmp/runtime/src/kmp_taskdeps.cpp
+++ b/openmp/runtime/src/kmp_taskdeps.cpp
@@ -212,7 +212,9 @@ __kmp_track_dependence ( kmp_depnode_t *source, kmp_depnode_t *sink,
{
#ifdef KMP_SUPPORT_GRAPH_OUTPUT
kmp_taskdata_t * task_source = KMP_TASK_TO_TASKDATA(source->dn.task);
- kmp_taskdata_t * task_sink = KMP_TASK_TO_TASKDATA(sink->dn.task); // this can be NULL when if(0) ...
+ // do not use sink->dn.task as that is only filled after the dependencies
+ // are already processed!
+ kmp_taskdata_t * task_sink = KMP_TASK_TO_TASKDATA(sink_task);
__kmp_printf("%d(%s) -> %d(%s)\n", source->dn.id, task_source->td_ident->psource, sink->dn.id, task_sink->td_ident->psource);
#endif
@@ -261,7 +263,7 @@ __kmp_process_deps ( kmp_int32 gtid, kmp_depnode_t *node, kmp_dephash_t *hash,
__kmp_track_dependence(indep,node,task);
indep->dn.successors = __kmp_add_node(thread, indep->dn.successors, node);
KA_TRACE(40,("__kmp_process_deps<%d>: T#%d adding dependence from %p to %p\n",
- filter,gtid, KMP_TASK_TO_TASKDATA(indep->dn.task), KMP_TASK_TO_TASKDATA(node->dn.task)));
+ filter,gtid, KMP_TASK_TO_TASKDATA(indep->dn.task), KMP_TASK_TO_TASKDATA(task)));
npredecessors++;
}
KMP_RELEASE_DEPNODE(gtid,indep);
@@ -277,7 +279,7 @@ __kmp_process_deps ( kmp_int32 gtid, kmp_depnode_t *node, kmp_dephash_t *hash,
__kmp_track_dependence(last_out,node,task);
last_out->dn.successors = __kmp_add_node(thread, last_out->dn.successors, node);
KA_TRACE(40,("__kmp_process_deps<%d>: T#%d adding dependence from %p to %p\n",
- filter,gtid, KMP_TASK_TO_TASKDATA(last_out->dn.task), KMP_TASK_TO_TASKDATA(node->dn.task)));
+ filter,gtid, KMP_TASK_TO_TASKDATA(last_out->dn.task), KMP_TASK_TO_TASKDATA(task)));
npredecessors++;
}
OpenPOWER on IntegriCloud