OmpAttribute.h File Reference

#include <iostream>
#include <string>
#include <map>
#include <cassert>
#include <vector>

Include dependency graph for OmpAttribute.h:

Go to the source code of this file.

Namespaces

namespace  OmpSupport

Classes

class  OmpSupport::OmpAttributeList
class  OmpSupport::OmpAttribute

Enumerations

enum  OmpSupport::omp_construct_enum {
  OmpSupport::e_unknown = 0,
  OmpSupport::e_parallel,
  OmpSupport::e_for,
  OmpSupport::e_do,
  OmpSupport::e_workshare,
  OmpSupport::e_sections,
  OmpSupport::e_section,
  OmpSupport::e_single,
  OmpSupport::e_master,
  OmpSupport::e_critical,
  OmpSupport::e_barrier,
  OmpSupport::e_atomic,
  OmpSupport::e_flush,
  OmpSupport::e_threadprivate,
  OmpSupport::e_parallel_for,
  OmpSupport::e_parallel_do,
  OmpSupport::e_parallel_sections,
  OmpSupport::e_parallel_workshare,
  OmpSupport::e_task,
  OmpSupport::e_taskwait,
  OmpSupport::e_ordered_directive,
  OmpSupport::e_end_critical,
  OmpSupport::e_end_do,
  OmpSupport::e_end_master,
  OmpSupport::e_end_ordered,
  OmpSupport::e_end_parallel_do,
  OmpSupport::e_end_parallel_sections,
  OmpSupport::e_end_parallel_workshare,
  OmpSupport::e_end_parallel,
  OmpSupport::e_end_sections,
  OmpSupport::e_end_single,
  OmpSupport::e_end_task,
  OmpSupport::e_end_workshare,
  OmpSupport::e_default,
  OmpSupport::e_shared,
  OmpSupport::e_private,
  OmpSupport::e_firstprivate,
  OmpSupport::e_lastprivate,
  OmpSupport::e_copyin,
  OmpSupport::e_copyprivate,
  OmpSupport::e_if,
  OmpSupport::e_num_threads,
  OmpSupport::e_nowait,
  OmpSupport::e_ordered_clause,
  OmpSupport::e_reduction,
  OmpSupport::e_schedule,
  OmpSupport::e_collapse,
  OmpSupport::e_untied,
  OmpSupport::e_default_none,
  OmpSupport::e_default_shared,
  OmpSupport::e_default_private,
  OmpSupport::e_default_firstprivate,
  OmpSupport::e_reduction_plus,
  OmpSupport::e_reduction_mul,
  OmpSupport::e_reduction_minus,
  OmpSupport::e_reduction_bitand,
  OmpSupport::e_reduction_bitor,
  OmpSupport::e_reduction_bitxor,
  OmpSupport::e_reduction_logand,
  OmpSupport::e_reduction_logor,
  OmpSupport::e_reduction_and,
  OmpSupport::e_reduction_or,
  OmpSupport::e_reduction_eqv,
  OmpSupport::e_reduction_neqv,
  OmpSupport::e_reduction_max,
  OmpSupport::e_reduction_min,
  OmpSupport::e_reduction_iand,
  OmpSupport::e_reduction_ior,
  OmpSupport::e_reduction_ieor,
  OmpSupport::e_schedule_none,
  OmpSupport::e_schedule_static,
  OmpSupport::e_schedule_dynamic,
  OmpSupport::e_schedule_guided,
  OmpSupport::e_schedule_auto,
  OmpSupport::e_schedule_runtime,
  OmpSupport::e_not_omp
}

Functions

std::string OmpSupport::toString (omp_construct_enum omp_type)
 Output omp_construct_enum to a string:.
bool OmpSupport::isFortranEndDirective (omp_construct_enum omp_type)
 Check if the construct is a Fortran END ... directive.
bool OmpSupport::isFortranBeginDirective (omp_construct_enum omp_type)
 Check if the construct is a Fortran directive which can (optionally) have a corresponding END directive.
bool OmpSupport::isDirective (omp_construct_enum omp_type)
 Check if an OpenMP construct is a directive.
bool OmpSupport::isDirectiveWithBody (omp_construct_enum omp_type)
 Check if an OpenMP directive has a structured body.
bool OmpSupport::isClause (omp_construct_enum omp_type)
 Check if an OpenMP construct is a clause.
bool OmpSupport::isReductionOperator (omp_construct_enum omp_type)
 Check if an OpenMP construct is a reduction operator.
OmpAttribute * OmpSupport::buildOmpAttribute (enum omp_construct_enum directive_type, SgNode *context_node, bool useDefined)
 A builder for OmpAttribute, useDefined indicates if the directive is added by programmer or not (by autoParallelization).
void OmpSupport::addOmpAttribute (OmpAttribute *ompattribute, SgNode *node)
 Add OmpAttribute to a SgNode.
void OmpSupport::removeOmpAttribute (OmpAttribute *ompattribute, SgNode *node)
 Remove OmpAttribute from a SgNode.
bool OmpSupport::isEquivalentOmpAttribute (OmpAttribute *a1, OmpAttribute *a2)
 Check if two OmpAttributes are semantically equivalent to each other.
OmpAttributeList * OmpSupport::getOmpAttributeList (SgNode *node)
 Get OmpAttribute from a SgNode, return NULL if not found.
OmpAttribute * OmpSupport::getOmpAttribute (SgNode *node)
 Get the first OmpAttribute from a SgNode, return NULL if not found.
omp_construct_enum OmpSupport::getOmpConstructEnum (SgPragmaDeclaration *decl)
 Get omp enum from an OpenMP pragma attached with OmpAttribute.
omp_construct_enum OmpSupport::getBeginOmpConstructEnum (omp_construct_enum end_enum)
 Get the corresponding begin construct enum from an end construct enum.
omp_construct_enum OmpSupport::getEndOmpConstructEnum (omp_construct_enum begin_enum)
 Get the corresponding end construct enum from a begin construct enum.
void OmpSupport::generatePragmaFromOmpAttribute (SgNode *sg_node)
 Generate a pragma declaration from OmpAttribute attached to a statement.
std::string OmpSupport::generateDiffTextFromOmpAttribute (SgNode *sg_node)
 Generate diff text from OmpAttribute attached to a statement.

Variables

std::list< OmpAttribute * > OmpSupport::omp_comment_list


Generated on Wed May 16 06:19:01 2012 for ROSE by  doxygen 1.4.7