clang
3.9.0
|
#include <CGOpenMPRuntimeNVPTX.h>
Classes | |
class | EntryFunctionState |
class | WorkerFunctionState |
Public Member Functions | |
void | emitEntryHeader (CodeGenFunction &CGF, EntryFunctionState &EST, WorkerFunctionState &WST) |
Helper for target entry function. More... | |
void | emitEntryFooter (CodeGenFunction &CGF, EntryFunctionState &EST) |
Signal termination of OMP execution. More... | |
CGOpenMPRuntimeNVPTX (CodeGenModule &CGM) | |
void | emitNumTeamsClause (CodeGenFunction &CGF, const Expr *NumTeams, const Expr *ThreadLimit, SourceLocation Loc) override |
This function ought to emit, in the general case, a call to. More... | |
llvm::Value * | emitParallelOrTeamsOutlinedFunction (const OMPExecutableDirective &D, const VarDecl *ThreadIDVar, OpenMPDirectiveKind InnermostKind, const RegionCodeGenTy &CodeGen) override |
Emits inlined function for the specified OpenMP parallel. More... | |
void | emitTeamsCall (CodeGenFunction &CGF, const OMPExecutableDirective &D, SourceLocation Loc, llvm::Value *OutlinedFn, ArrayRef< llvm::Value * > CapturedVars) override |
Emits code for teams call of the OutlinedFn with variables captured in a record which address is stored in CapturedStruct. More... | |
Additional Inherited Members | |
![]() | |
virtual void | emitTargetOutlinedFunctionHelper (const OMPExecutableDirective &D, StringRef ParentName, llvm::Function *&OutlinedFn, llvm::Constant *&OutlinedFnID, bool IsOffloadEntry, const RegionCodeGenTy &CodeGen) |
Helper to emit outlined function for 'target' directive. More... | |
![]() | |
CodeGenModule & | CGM |
Definition at line 26 of file CGOpenMPRuntimeNVPTX.h.
|
explicit |
Definition at line 347 of file CGOpenMPRuntimeNVPTX.cpp.
References clang::CodeGen::CodeGenModule::getLangOpts().
void CGOpenMPRuntimeNVPTX::emitEntryFooter | ( | CodeGenFunction & | CGF, |
EntryFunctionState & | EST | ||
) |
Signal termination of OMP execution.
Definition at line 245 of file CGOpenMPRuntimeNVPTX.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CGBuilderTy::CreateAlignedStore(), clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::CodeGen::CodeGenFunction::EmitBlock(), clang::CodeGen::CodeGenFunction::EmitBranch(), and clang::CodeGen::CGOpenMPRuntimeNVPTX::EntryFunctionState::ExitBB.
void CGOpenMPRuntimeNVPTX::emitEntryHeader | ( | CodeGenFunction & | CGF, |
EntryFunctionState & | EST, | ||
WorkerFunctionState & | WST | ||
) |
Helper for target entry function.
Guide the master and worker threads to their respective locations.
Definition at line 203 of file CGOpenMPRuntimeNVPTX.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::CodeGen::CodeGenFunction::EmitBlock(), clang::CodeGen::CodeGenFunction::EmitBranch(), clang::CodeGen::CodeGenFunction::EmitCallOrInvoke(), clang::CodeGen::CodeGenFunction::EmitRuntimeCall(), clang::CodeGen::CGOpenMPRuntimeNVPTX::EntryFunctionState::ExitBB, clang::None, and clang::CodeGen::CGOpenMPRuntimeNVPTX::WorkerFunctionState::WorkerFn.
|
override |
This function ought to emit, in the general case, a call to.
NumTeams | An integer expression of teams. |
ThreadLimit | An integer expression of threads. |
Definition at line 356 of file CGOpenMPRuntimeNVPTX.cpp.
|
override |
Emits inlined function for the specified OpenMP parallel.
D. This outlined function has type void(*)(kmp_int32 ThreadID, kmp_int32 BoundID, struct context_vars).
D | OpenMP directive. |
ThreadIDVar | Variable for thread id in the current OpenMP region. |
InnermostKind | Kind of innermost directive (for simple directives it is a directive itself, for combined - its innermost directive). |
CodeGen | Code generation sequence for the D directive. |
Definition at line 361 of file CGOpenMPRuntimeNVPTX.cpp.
References clang::CodeGen::emitParallelOrTeamsOutlinedFunction().
|
override |
Emits code for teams call of the OutlinedFn with variables captured in a record which address is stored in CapturedStruct.
OutlinedFn | Outlined function to be run by team masters. Type of this function is void(*)(kmp_int32 *, kmp_int32, struct context_vars*). |
CapturedVars | A pointer to the record with the references to variables used in OutlinedFn function. |
Definition at line 379 of file CGOpenMPRuntimeNVPTX.cpp.
References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CreateTempAlloca(), clang::CodeGen::CodeGenFunction::EmitCallOrInvoke(), clang::CharUnits::fromQuantity(), clang::CodeGen::Address::getPointer(), clang::CodeGen::CodeGenFunction::HaveInsertPoint(), clang::CodeGen::CodeGenFunction::InitTempAlloca(), and clang::CodeGen::CodeGenTypeCache::Int32Ty.