Home | History | Annotate | Download | only in libgomp

Lines Matching defs:task

29 /* Called when encountering an explicit task directive.  If IF_CLAUSE is
30 false, then we must not delay in executing the task. If UNTIED is true,
31 then the task may be executed by any member of the team. */
43 /* If pthread_mutex_* is used for omp_*lock*, then each task must be
184 && thr->task
185 && thr->task->taskgroup)
187 if (thr->task->taskgroup->cancelled)
189 if (thr->task->taskgroup->workshare
190 && thr->task->taskgroup->prev
191 && thr->task->taskgroup->prev->cancelled)
210 || (thr->task && thr->task->final_task)
216 struct gomp_task task[num_tasks];
217 struct gomp_task *parent = thr->task;
225 gomp_init_task (&task[i], parent, gomp_icv (false));
226 task[i].priority = priority;
227 task[i].kind = GOMP_TASK_UNDEFERRED;
228 task[i].final_task = (thr->task && thr->task->final_task)
230 if (thr->task)
232 task[i].in_tied_task = thr->task->in_tied_task;
233 task[i].taskgroup = thr->task->taskgroup;
235 thr->task = &task[i];
242 thr->task = &task[i];
250 if (!priority_queue_empty_p (&task[i].children_queue,
254 gomp_clear_parent (&task[i].children_queue);
263 struct gomp_task task;
265 gomp_init_task (&task, thr->task, gomp_icv (false));
266 task.priority = priority;
267 task.kind = GOMP_TASK_UNDEFERRED;
268 task.final_task = (thr->task && thr->task->final_task)
270 if (thr->task)
272 task.in_tied_task = thr->task->in_tied_task;
273 task.taskgroup = thr->task->taskgroup;
275 thr->task = &task;
282 if (!priority_queue_empty_p (&task.children_queue,
286 gomp_clear_parent (&task.children_queue);
295 struct gomp_task *parent = thr->task;
303 struct gomp_task *task
304 = gomp_malloc (sizeof (*task) + arg_size + arg_align - 1);
305 tasks[i] = task;
306 arg = (char *) (((uintptr_t) (task + 1) + arg_align - 1)
308 gomp_init_task (task, parent, gomp_icv (false));
309 task->priority = priority;
310 task->kind = GOMP_TASK_UNDEFERRED;
311 task->in_tied_task = parent->in_tied_task;
312 task->taskgroup = taskgroup;
313 thr->task = task;
317 task->copy_ctors_done = true;
326 thr->task = parent;
327 task->kind = GOMP_TASK_WAITING;
328 task->fn = fn;
329 task->fn_data = arg;
330 task->final_task = (flags & GOMP_TASK_FLAG_FINAL) >> 1;
365 struct gomp_task *task = tasks[i];
367 task, priority,
370 task->parent_depends_on);
373 task, priority, PRIORITY_INSERT_BEGIN,
375 task->parent_depends_on);
376 priority_queue_insert (PQ_TEAM, &team->task_queue, task, priority,
379 task->parent_depends_on);