clang API Documentation
#include "CGOpenMPRuntime.h"
#include "CodeGenFunction.h"
#include "CodeGenModule.h"
#include "clang/AST/Stmt.h"
#include "clang/AST/StmtOpenMP.h"
#include "TargetInfo.h"
Go to the source code of this file.
Functions | |
static void | EmitOMPIfClause (CodeGenFunction &CGF, const Expr *Cond, const std::function< void(bool)> &CodeGen) |
Emits code for OpenMP 'if' clause using specified CodeGen function. Here is the logic: if (Cond) { CodeGen(true); } else { CodeGen(false); }. | |
static void | EmitOMPParallelCall (CodeGenFunction &CGF, const OMPParallelDirective &S, llvm::Value *OutlinedFn, llvm::Value *CapturedStruct) |
Emits code for OpenMP parallel directive in the parallel region. | |
static void | EmitOMPAlignedClause (CodeGenFunction &CGF, CodeGenModule &CGM, const OMPAlignedClause &Clause) |
static void | EmitPrivateLoopCounters (CodeGenFunction &CGF, CodeGenFunction::OMPPrivateScope &LoopScope, ArrayRef< Expr * > Counters) |
static void EmitOMPAlignedClause | ( | CodeGenFunction & | CGF, |
CodeGenModule & | CGM, | ||
const OMPAlignedClause & | Clause | ||
) | [static] |
Definition at line 331 of file CGStmtOpenMP.cpp.
References clang::CodeGen::CodeGenFunction::EmitAlignmentAssumption(), clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::OMPAlignedClause::getAlignment(), clang::TargetCodeGenInfo::getOpenMPSimdDefaultAlignment(), clang::CodeGen::CodeGenModule::getTargetCodeGenInfo(), and clang::OMPVarListClause< T >::varlists().
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPSimdDirective().
static void EmitOMPIfClause | ( | CodeGenFunction & | CGF, |
const Expr * | Cond, | ||
const std::function< void(bool)> & | CodeGen | ||
) | [static] |
Emits code for OpenMP 'if' clause using specified CodeGen function. Here is the logic: if (Cond) { CodeGen(true); } else { CodeGen(false); }.
Definition at line 34 of file CGStmtOpenMP.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::ConstantFoldsToSimpleInteger(), clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::CodeGen::CodeGenFunction::EmitBlock(), clang::CodeGen::CodeGenFunction::EmitBranch(), clang::CodeGen::CodeGenFunction::EmitBranchOnBoolExpr(), and clang::Stmt::getSourceRange().
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPParallelDirective().
static void EmitOMPParallelCall | ( | CodeGenFunction & | CGF, |
const OMPParallelDirective & | S, | ||
llvm::Value * | OutlinedFn, | ||
llvm::Value * | CapturedStruct | ||
) | [static] |
Emits code for OpenMP parallel directive in the parallel region.
Definition at line 214 of file CGStmtOpenMP.cpp.
References AttributeLangSupport::C, clang::CodeGen::CodeGenFunction::CGM, clang::CodeGen::CodeGenFunction::EmitScalarExpr(), clang::OMPExecutableDirective::getLocStart(), clang::CodeGen::CodeGenModule::getOpenMPRuntime(), and clang::OMPExecutableDirective::getSingleClause().
static void EmitPrivateLoopCounters | ( | CodeGenFunction & | CGF, |
CodeGenFunction::OMPPrivateScope & | LoopScope, | ||
ArrayRef< Expr * > | Counters | ||
) | [static] |
Definition at line 357 of file CGStmtOpenMP.cpp.
References clang::CodeGen::CodeGenFunction::OMPPrivateScope::addPrivate(), clang::CodeGen::CodeGenFunction::EmitAutoVarAlloca(), clang::CodeGen::CodeGenFunction::EmitAutoVarCleanups(), and clang::CodeGen::CodeGenFunction::OMPPrivateScope::Privatize().
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPSimdDirective().