clang 20.0.0git
|
#include "CGOpenMPRuntimeGPU.h"
#include "CodeGenFunction.h"
#include "clang/AST/Attr.h"
#include "clang/AST/DeclOpenMP.h"
#include "clang/AST/OpenMPClause.h"
#include "clang/AST/StmtOpenMP.h"
#include "clang/AST/StmtVisitor.h"
#include "clang/Basic/Cuda.h"
#include "llvm/ADT/SmallPtrSet.h"
#include "llvm/Frontend/OpenMP/OMPGridValues.h"
#include "llvm/Support/MathExtras.h"
Go to the source code of this file.
Functions | |
static bool | hasNestedSPMDDirective (ASTContext &Ctx, const OMPExecutableDirective &D) |
Check for inner (nested) SPMD construct, if any. | |
static bool | supportsSPMDExecutionMode (ASTContext &Ctx, const OMPExecutableDirective &D) |
static void | getDistributeLastprivateVars (ASTContext &Ctx, const OMPExecutableDirective &D, llvm::SmallVectorImpl< const ValueDecl * > &Vars) |
Get list of lastprivate variables from the teams distribute ... or teams {distribute ...} directives. | |
static void | getTeamsReductionVars (ASTContext &Ctx, const OMPExecutableDirective &D, llvm::SmallVectorImpl< const ValueDecl * > &Vars) |
Get list of reduction variables from the teams ... directives. | |
static llvm::Value * | castValueToType (CodeGenFunction &CGF, llvm::Value *Val, QualType ValTy, QualType CastTy, SourceLocation Loc) |
Cast value to the specified type. | |
static OffloadArch | getOffloadArch (CodeGenModule &CGM) |
|
static |
Cast value to the specified type.
Definition at line 1387 of file CGOpenMPRuntimeGPU.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::ConvertTypeForMem(), clang::CodeGen::CodeGenFunction::CreateMemTemp(), clang::CodeGen::CodeGenFunction::EmitLoadOfScalar(), clang::CodeGen::CodeGenFunction::EmitStoreOfScalar(), clang::CodeGen::CodeGenFunction::getContext(), clang::ASTContext::getTypeSizeInChars(), clang::Type::hasSignedIntegerRepresentation(), clang::Type::isIntegerType(), clang::CharUnits::isZero(), Loc, clang::CodeGen::Type, and clang::CodeGen::Address::withElementType().
|
static |
Get list of lastprivate variables from the teams distribute ... or teams {distribute ...} directives.
Definition at line 936 of file CGOpenMPRuntimeGPU.cpp.
References clang::C, D, E, clang::OMPExecutableDirective::getClausesOfKind(), clang::OMPExecutableDirective::getDirectiveKind(), getPrivateItem(), clang::CodeGen::CGOpenMPRuntime::getSingleCompoundChild(), clang::isOpenMPDistributeDirective(), and clang::isOpenMPTeamsDirective().
Referenced by clang::CodeGen::CGOpenMPRuntimeGPU::emitTeamsOutlinedFunction().
|
static |
Definition at line 2230 of file CGOpenMPRuntimeGPU.cpp.
References clang::TargetOptions::FeatureMap, clang::CodeGen::CodeGenModule::getTarget(), clang::TargetInfo::getTargetOpts(), clang::TargetInfo::hasFeature(), clang::StringToOffloadArch(), and clang::UNKNOWN.
Referenced by clang::Sema::CreateLaunchBoundsAttr(), and clang::CodeGen::CGOpenMPRuntimeGPU::processRequiresDirective().
|
static |
Get list of reduction variables from the teams ... directives.
Definition at line 961 of file CGOpenMPRuntimeGPU.cpp.
References clang::C, D, E, getPrivateItem(), and clang::isOpenMPTeamsDirective().
Referenced by clang::CodeGen::CGOpenMPRuntimeGPU::emitTeamsOutlinedFunction().
|
static |
Check for inner (nested) SPMD construct, if any.
Definition at line 515 of file CGOpenMPRuntimeGPU.cpp.
References D, clang::CodeGen::CGOpenMPRuntime::getSingleCompoundChild(), and clang::isOpenMPParallelDirective().
Referenced by supportsSPMDExecutionMode().
|
static |
Definition at line 617 of file CGOpenMPRuntimeGPU.cpp.
References D, and hasNestedSPMDDirective().