|
clang
5.0.0
|
Protected Member Functions | |
| virtual void | createOffloadEntry (llvm::Constant *ID, llvm::Constant *Addr, uint64_t Size, int32_t Flags=0) |
| Creates offloading entry for the provided entry ID ID, address Addr, size Size, and flags Flags. More... | |
| 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... | |
| void | emitOMPIfClause (CodeGenFunction &CGF, const Expr *Cond, const RegionCodeGenTy &ThenGen, const RegionCodeGenTy &ElseGen) |
| Emits code for OpenMP 'if' clause using specified CodeGen function. More... | |
| llvm::Value * | emitUpdateLocation (CodeGenFunction &CGF, SourceLocation Loc, unsigned Flags=0) |
| Emits object of ident_t type with info for source location. More... | |
| llvm::Type * | getIdentTyPointerTy () |
| Returns pointer to ident_t type. More... | |
| llvm::Value * | getThreadID (CodeGenFunction &CGF, SourceLocation Loc) |
| Gets thread id value for the current thread. More... | |
| virtual StringRef | getOutlinedHelperName () const |
| Get the function name of an outlined region. More... | |
Protected Attributes | |
| CodeGenModule & | CGM |
Definition at line 199 of file CGOpenMPRuntime.h.
|
protectedvirtual |
Creates offloading entry for the provided entry ID ID, address Addr, size Size, and flags Flags.
Definition at line 3377 of file CGOpenMPRuntime.cpp.
References clang::CodeGen::ConstantInitBuilderTemplateBase< Traits >::beginStruct(), clang::ExternalLinkage, clang::CharUnits::fromQuantity(), clang::CodeGen::getTgtOffloadEntryQTy(), clang::InternalLinkage, and Name.
|
protected |
Emits code for OpenMP 'if' clause using specified CodeGen function.
Here is the logic: if (Cond) { ThenGen(); } else { ElseGen(); }
Definition at line 2369 of file CGOpenMPRuntime.cpp.
References clang::CodeGen::CodeGenFunction::ConstantFoldsToSimpleInteger(), clang::CodeGen::CodeGenFunction::createBasicBlock(), clang::CreateEmpty(), clang::CodeGen::CodeGenFunction::EmitBlock(), clang::CodeGen::CodeGenFunction::EmitBranch(), clang::CodeGen::CodeGenFunction::EmitBranchOnBoolExpr(), and clang::Stmt::getSourceRange().
|
protectedvirtual |
Helper to emit outlined function for 'target' directive.
| D | Directive to emit. |
| ParentName | Name of the function that encloses the target region. |
| OutlinedFn | Outlined function value to be defined by this call. |
| OutlinedFnID | Outlined function ID value to be defined by this call. |
| IsOffloadEntry | True if the outlined function is an offload entry. |
| CodeGen | Lambda codegen specific to an accelerator device. An outlined function may not be an entry if, e.g. the if clause always evaluates to false. |
Definition at line 5665 of file CGOpenMPRuntime.cpp.
References clang::ExternalLinkage, clang::OMPExecutableDirective::getAssociatedStmt(), clang::CodeGen::CodeGenModule::getContext(), clang::CodeGen::CodeGenModule::getLangOpts(), clang::OMPExecutableDirective::getLocStart(), clang::CodeGen::CodeGenModule::getModule(), getTargetEntryUniqueInfo(), clang::CodeGen::CodeGenTypeCache::Int8PtrTy, clang::CodeGen::CodeGenTypeCache::Int8Ty, Line, clang::CodeGen::OffloadEntriesInfoManager, and clang::CodeGen::OffloadEntriesInfoManagerTy::registerTargetRegionEntryInfo().
|
protected |
Emits object of ident_t type with info for source location.
| Flags | Flags for OpenMP location. |
Definition at line 1362 of file CGOpenMPRuntime.cpp.
References clang::CodeGen::CodeGenFunction::AllocaInsertPt, clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CGM, createIdentFieldGEP(), clang::CodeGen::CGBuilderTy::CreateMemCpy(), clang::CodeGen::CGBuilderTy::CreateStore(), clang::CodeGen::CodeGenFunction::CreateTempAlloca(), clang::CodeGen::CodeGenFunction::CurFn, clang::CodeGen::CodeGenFunction::CurFuncDecl, clang::PresumedLoc::getColumn(), clang::CodeGen::CodeGenFunction::getContext(), clang::PresumedLoc::getFilename(), getIdentAlign(), getIdentSize(), clang::PresumedLoc::getLine(), clang::CodeGen::Address::getPointer(), clang::SourceManager::getPresumedLoc(), clang::SourceLocation::getRawEncoding(), clang::ASTContext::getSourceManager(), I, IdentField_PSource, clang::SourceLocation::isInvalid(), clang::CodeGen::Address::isValid(), and clang::codegenoptions::NoDebugInfo.
|
protected |
Returns pointer to ident_t type.
Definition at line 1475 of file CGOpenMPRuntime.cpp.
|
inlineprotectedvirtual |
Get the function name of an outlined region.
Reimplemented in clang::CodeGen::CGOpenMPRuntimeNVPTX.
Definition at line 251 of file CGOpenMPRuntime.h.
|
protected |
Gets thread id value for the current thread.
Definition at line 1420 of file CGOpenMPRuntime.cpp.
References clang::CodeGen::CodeGenFunction::AllocaInsertPt, clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::CapturedStmtInfo, clang::CodeGen::createRuntimeFunction(), clang::CodeGen::CodeGenFunction::CurFn, clang::CodeGen::CodeGenFunction::EmitLoadOfLValue(), clang::CodeGen::CodeGenFunction::EmitRuntimeCall(), clang::CodeGen::RValue::getScalarVal(), I, and OMPRTL__kmpc_global_thread_num.
Referenced by clang::CodeGen::CGOpenMPRuntimeNVPTX::emitReduction().
|
protected |
Definition at line 201 of file CGOpenMPRuntime.h.
1.8.6