File: kmp_task_deps.h

package info (click to toggle)
llvm-toolchain-20 1%3A20.1.6-1~exp1
  • links: PTS, VCS
  • area: main
  • in suites: experimental
  • size: 2,111,304 kB
  • sloc: cpp: 7,438,677; ansic: 1,393,822; asm: 1,012,926; python: 241,650; f90: 86,635; objc: 75,479; lisp: 42,144; pascal: 17,286; sh: 10,027; ml: 5,082; perl: 4,730; awk: 3,523; makefile: 3,349; javascript: 2,251; xml: 892; fortran: 672
file content (56 lines) | stat: -rw-r--r-- 1,465 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
#ifndef KMP_TASK_DEPS_H
#define KMP_TASK_DEPS_H

#include <stddef.h> /* size_t */

// ---------------------------------------------------------------------------
// internal data to emulate compiler codegen
typedef struct DEP {
  size_t addr;
  size_t len;
  unsigned char flags;
} dep;

typedef struct task {
  void **shareds;
  void *entry;
  int part_id;
  void *destr_thunk;
  int priority;
  long long device_id;
  int f_priv;
} kmp_task_t;
typedef int (*entry_t)(int, kmp_task_t *);
typedef struct ID {
  int reserved_1;
  int flags;
  int reserved_2;
  int reserved_3;
  char *psource;
} id;

#define TIED 1

struct kmp_depnode_list;

typedef struct kmp_base_depnode {
  struct kmp_depnode_list *successors;
  /* [...] more stuff down here */
} kmp_base_depnode_t;

typedef struct kmp_depnode_list {
  struct kmp_base_depnode *node;
  struct kmp_depnode_list *next;
} kmp_depnode_list_t;

static id loc = {0, 2, 0, 0, ";file;func;0;0;;"};
kmp_task_t *__kmpc_omp_task_alloc(id *loc, int gtid, int flags, size_t sz,
                                  size_t shar, entry_t rtn);
int __kmpc_omp_task_with_deps(id *loc, int gtid, kmp_task_t *task, int nd,
                              dep *dep_lst, int nd_noalias,
                              dep *noalias_dep_lst);
kmp_depnode_list_t *__kmpc_task_get_successors(kmp_task_t *task);
kmp_base_depnode_t *__kmpc_task_get_depnode(kmp_task_t *task);
int __kmpc_global_thread_num(id *);

#endif /* KMP_TASK_DEPS_H */