Lines Matching refs:task
184 && thr->task in GOMP_taskloop()
185 && thr->task->taskgroup) in GOMP_taskloop()
187 if (thr->task->taskgroup->cancelled) in GOMP_taskloop()
189 if (thr->task->taskgroup->workshare in GOMP_taskloop()
190 && thr->task->taskgroup->prev in GOMP_taskloop()
191 && thr->task->taskgroup->prev->cancelled) in GOMP_taskloop()
210 || (thr->task && thr->task->final_task) in GOMP_taskloop()
216 struct gomp_task task[num_tasks]; in GOMP_taskloop() local
217 struct gomp_task *parent = thr->task; in GOMP_taskloop()
225 gomp_init_task (&task[i], parent, gomp_icv (false)); in GOMP_taskloop()
226 task[i].priority = priority; in GOMP_taskloop()
227 task[i].kind = GOMP_TASK_UNDEFERRED; in GOMP_taskloop()
228 task[i].final_task = (thr->task && thr->task->final_task) in GOMP_taskloop()
230 if (thr->task) in GOMP_taskloop()
232 task[i].in_tied_task = thr->task->in_tied_task; in GOMP_taskloop()
233 task[i].taskgroup = thr->task->taskgroup; in GOMP_taskloop()
235 thr->task = &task[i]; in GOMP_taskloop()
242 thr->task = &task[i]; in GOMP_taskloop()
250 if (!priority_queue_empty_p (&task[i].children_queue, in GOMP_taskloop()
254 gomp_clear_parent (&task[i].children_queue); in GOMP_taskloop()
263 struct gomp_task task; in GOMP_taskloop() local
265 gomp_init_task (&task, thr->task, gomp_icv (false)); in GOMP_taskloop()
266 task.priority = priority; in GOMP_taskloop()
267 task.kind = GOMP_TASK_UNDEFERRED; in GOMP_taskloop()
268 task.final_task = (thr->task && thr->task->final_task) in GOMP_taskloop()
270 if (thr->task) in GOMP_taskloop()
272 task.in_tied_task = thr->task->in_tied_task; in GOMP_taskloop()
273 task.taskgroup = thr->task->taskgroup; in GOMP_taskloop()
275 thr->task = &task; in GOMP_taskloop()
282 if (!priority_queue_empty_p (&task.children_queue, in GOMP_taskloop()
286 gomp_clear_parent (&task.children_queue); in GOMP_taskloop()
295 struct gomp_task *parent = thr->task; in GOMP_taskloop()
303 struct gomp_task *task in GOMP_taskloop() local
304 = gomp_malloc (sizeof (*task) + arg_size + arg_align - 1); in GOMP_taskloop()
305 tasks[i] = task; in GOMP_taskloop()
306 arg = (char *) (((uintptr_t) (task + 1) + arg_align - 1) in GOMP_taskloop()
308 gomp_init_task (task, parent, gomp_icv (false)); in GOMP_taskloop()
309 task->priority = priority; in GOMP_taskloop()
310 task->kind = GOMP_TASK_UNDEFERRED; in GOMP_taskloop()
311 task->in_tied_task = parent->in_tied_task; in GOMP_taskloop()
312 task->taskgroup = taskgroup; in GOMP_taskloop()
313 thr->task = task; in GOMP_taskloop()
317 task->copy_ctors_done = true; in GOMP_taskloop()
326 thr->task = parent; in GOMP_taskloop()
327 task->kind = GOMP_TASK_WAITING; in GOMP_taskloop()
328 task->fn = fn; in GOMP_taskloop()
329 task->fn_data = arg; in GOMP_taskloop()
330 task->final_task = (flags & GOMP_TASK_FLAG_FINAL) >> 1; in GOMP_taskloop()
365 struct gomp_task *task = tasks[i]; in GOMP_taskloop() local
367 task, priority, in GOMP_taskloop()
370 task->parent_depends_on); in GOMP_taskloop()
373 task, priority, PRIORITY_INSERT_BEGIN, in GOMP_taskloop()
375 task->parent_depends_on); in GOMP_taskloop()
376 priority_queue_insert (PQ_TEAM, &team->task_queue, task, priority, in GOMP_taskloop()
379 task->parent_depends_on); in GOMP_taskloop()