GCC Middle and Back End API Reference
omp_context Struct Reference
Collaboration diagram for omp_context:

Data Fields

copy_body_data cb
struct omp_contextouter
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
enum omp_clause_default_kind default_kind
int depth
bool is_nested

Detailed Description

@verbatim Lowering pass for OpenMP directives.  Converts OpenMP directives

into explicit calls to the runtime library (libgomp) and data marshalling to implement data sharing and copying clauses. Contributed by Diego Novillo dnovi.nosp@m.llo@.nosp@m.redha.nosp@m.t.co.nosp@m.m

Copyright (C) 2005-2013 Free Software Foundation, Inc.

This file is part of GCC.

GCC is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3, or (at your option) any later version.

GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with GCC; see the file COPYING3. If not see http://www.gnu.org/licenses/.

Lowering of OpenMP parallel and workshare constructs proceeds in two
   phases.  The first phase scans the function looking for OMP statements
   and then for variables that must be replaced to satisfy data sharing
   clauses.  The second phase expands code for the constructs, as well as
   re-gimplifying things when variables have been replaced with complex
   expressions.

   Final code generation is done by pass_expand_omp.  The flowgraph is
   scanned for parallel regions which are then moved to a new
   function, to be invoked by the thread library.   
Context structure.  Used to store information about each parallel
   directive in the code.   

Field Documentation

enum omp_clause_default_kind omp_context::default_kind
int omp_context::depth

Referenced by new_omp_context().

tree omp_context::sender_decl

The documentation for this struct was generated from the following file: