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

Public Member Functions

 parallel_g (parallel_g *parent, unsigned mode)
 
 ~parallel_g ()
 

Data Fields

parallel_gparent
 
parallel_gnext
 
parallel_ginner
 
unsigned mask
 
unsigned inner_mask
 
basic_block forked_block
 
basic_block join_block
 
gimpleforked_stmt
 
gimplejoin_stmt
 
gimplefork_stmt
 
gimplejoining_stmt
 
auto_vec< basic_blockblocks
 
tree record_type
 
tree sender_decl
 
tree receiver_decl
 

Detailed Description

OpenACC worker partitioning via middle end neutering/broadcasting scheme

Copyright (C) 2015-2024 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/>.   
Loop structure of the function.  The entire function is described as
a NULL loop.   
Adapted from 'gcc/config/nvptx/nvptx.cc:struct parallel'.   

Constructor & Destructor Documentation

◆ parallel_g()

parallel_g::parallel_g ( parallel_g * parent_,
unsigned mask_ )
Constructor links the new parallel into it's parent's chain of
children.   

References fork_stmt, forked_block, forked_stmt, inner, join_block, join_stmt, joining_stmt, next, NULL, NULL_TREE, parent, receiver_decl, record_type, and sender_decl.

◆ ~parallel_g()

parallel_g::~parallel_g ( )

References inner, and next.

Field Documentation

◆ blocks

auto_vec<basic_block> parallel_g::blocks

◆ fork_stmt

gimple* parallel_g::fork_stmt

Referenced by parallel_g().

◆ forked_block

basic_block parallel_g::forked_block

Referenced by parallel_g().

◆ forked_stmt

gimple* parallel_g::forked_stmt

Referenced by parallel_g().

◆ inner

parallel_g* parallel_g::inner

Referenced by parallel_g(), and ~parallel_g().

◆ inner_mask

unsigned parallel_g::inner_mask

◆ join_block

basic_block parallel_g::join_block

Referenced by parallel_g().

◆ join_stmt

gimple* parallel_g::join_stmt

Referenced by parallel_g().

◆ joining_stmt

gimple* parallel_g::joining_stmt

Referenced by parallel_g().

◆ mask

unsigned parallel_g::mask

◆ next

parallel_g* parallel_g::next

Referenced by parallel_g(), and ~parallel_g().

◆ parent

parallel_g* parallel_g::parent

Referenced by parallel_g().

◆ receiver_decl

tree parallel_g::receiver_decl

Referenced by parallel_g().

◆ record_type

tree parallel_g::record_type

Referenced by parallel_g().

◆ sender_decl

tree parallel_g::sender_decl

Referenced by parallel_g().


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