GCC Middle and Back End API Reference
|
Data Fields | |
copy_body_data | cb |
struct omp_context * | outer |
gimple | stmt |
splay_tree | field_map |
tree | record_type |
tree | sender_decl |
tree | receiver_decl |
splay_tree | sfield_map |
tree | srecord_type |
tree | block_vars |
tree | cancel_label |
enum omp_clause_default_kind | default_kind |
int | depth |
bool | is_nested |
bool | cancellable |
Context structure. Used to store information about each parallel directive in the code.
tree omp_context::block_vars |
A chain of variables to add to the top-level block surrounding the construct. In the case of a parallel, this is in the child function.
Referenced by lower_omp_sections(), and maybe_add_implicit_barrier_cancel().
tree omp_context::cancel_label |
Label to which GOMP_cancel{,llation_point} and explicit and implicit barriers should jump to during omplower pass.
bool omp_context::cancellable |
True if this construct can be cancelled.
Referenced by scan_omp_teams().
copy_body_data omp_context::cb |
This field must be at the beginning, as we do "inheritance": Some callback functions for tree-inline.c (e.g., omp_copy_decl) receive a copy_body_data pointer that is up-casted to an omp_context pointer.
Referenced by finalize_task_copyfn().
enum omp_clause_default_kind omp_context::default_kind |
What to do with variables with implicitly determined sharing attributes.
int omp_context::depth |
Nesting depth of this context. Used to beautify error messages re invalid gotos. The outermost ctx is depth 1, with depth 0 being reserved for the main body of the function.
splay_tree omp_context::field_map |
Map variables to fields in a structure that allows communication between sending and receiving threads.
Referenced by finalize_task_copyfn(), and is_reference().
bool omp_context::is_nested |
True if this parallel directive is nested within another.
struct omp_context* omp_context::outer |
The tree of contexts corresponding to the encountered constructs.
Referenced by maybe_lookup_field().
tree omp_context::receiver_decl |
Referenced by finalize_task_copyfn().
tree omp_context::record_type |
Referenced by finalize_task_copyfn(), and find_combined_for().
tree omp_context::sender_decl |
splay_tree omp_context::sfield_map |
These are used just by task contexts, if task firstprivate fn is needed. srecord_type is used to communicate from the thread that encountered the task construct to task firstprivate fn, record_type is allocated by GOMP_task, initialized by task firstprivate fn and passed to the task body fn.
tree omp_context::srecord_type |
gimple omp_context::stmt |
Referenced by find_omp_clause(), omp_max_vf(), scan_omp_op(), scan_omp_single(), scan_omp_teams(), and use_pointer_for_field().