clang  14.0.0git
Classes | Public Types | Public Member Functions | Static Public Member Functions | List of all members
clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers Struct Reference

#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/CodeGen/CodeGenFunction.h"


class  InlinedRegionBodyRAII
 RAII for preserving necessary info during inlined region body codegen. More...
class  OMPAllocateCleanupTy
 Cleanup action for allocate support. More...
class  OutlinedRegionBodyRAII
 RAII for preserving necessary info during Outlined region body codegen. More...

Public Types

using InsertPointTy = llvm::OpenMPIRBuilder::InsertPointTy

Public Member Functions

 OMPBuilderCBHelpers ()=delete
 OMPBuilderCBHelpers (const OMPBuilderCBHelpers &)=delete
OMPBuilderCBHelpersoperator= (const OMPBuilderCBHelpers &)=delete

Static Public Member Functions

static Address getAddrOfThreadPrivate (CodeGenFunction &CGF, const VarDecl *VD, Address VDAddr, SourceLocation Loc)
 Returns address of the threadprivate variable for the current thread. More...
static Address getAddressOfLocalVariable (CodeGenFunction &CGF, const VarDecl *VD)
 Gets the OpenMP-specific address of the local variable /p VD. More...
static std::string getNameWithSeparators (ArrayRef< StringRef > Parts, StringRef FirstSeparator=".", StringRef Separator=".")
 Get the platform-specific name separator. More...
static void FinalizeOMPRegion (CodeGenFunction &CGF, InsertPointTy IP)
 Emit the Finalization for an OMP region. More...
static void EmitOMPRegionBody (CodeGenFunction &CGF, const Stmt *RegionBodyStmt, InsertPointTy CodeGenIP, llvm::BasicBlock &FiniBB)
 Emit the body of an OMP region. More...
static void EmitCaptureStmt (CodeGenFunction &CGF, InsertPointTy CodeGenIP, llvm::BasicBlock &FiniBB, llvm::Function *Fn, ArrayRef< llvm::Value * > Args)

Detailed Description

Definition at line 1693 of file CodeGenFunction.h.

Member Typedef Documentation

◆ InsertPointTy

using clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::InsertPointTy = llvm::OpenMPIRBuilder::InsertPointTy

Definition at line 1699 of file CodeGenFunction.h.

Constructor & Destructor Documentation

◆ OMPBuilderCBHelpers() [1/2]

clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::OMPBuilderCBHelpers ( )

◆ OMPBuilderCBHelpers() [2/2]

clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::OMPBuilderCBHelpers ( const OMPBuilderCBHelpers )

Member Function Documentation

◆ EmitCaptureStmt()

static void clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::EmitCaptureStmt ( CodeGenFunction CGF,
InsertPointTy  CodeGenIP,
llvm::BasicBlock &  FiniBB,
llvm::Function *  Fn,
ArrayRef< llvm::Value * >  Args 

◆ EmitOMPRegionBody()

static void clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::EmitOMPRegionBody ( CodeGenFunction CGF,
const Stmt RegionBodyStmt,
InsertPointTy  CodeGenIP,
llvm::BasicBlock &  FiniBB 

Emit the body of an OMP region.

CGFThe Codegen function this belongs to
RegionBodyStmtThe body statement for the OpenMP region being generated
CodeGenIPInsertion point for generating the body code.
FiniBBThe finalization basic block

Definition at line 1766 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::Builder, and clang::CodeGen::CodeGenFunction::EmitStmt().

◆ FinalizeOMPRegion()

static void clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::FinalizeOMPRegion ( CodeGenFunction CGF,
InsertPointTy  IP 

Emit the Finalization for an OMP region.

CGFThe Codegen function this belongs to
IPInsertion point for generating the finalization code.

Definition at line 1744 of file CodeGenFunction.h.

References clang::CodeGen::CodeGenFunction::Builder, clang::CodeGen::CodeGenFunction::EmitBranchThroughCleanup(), and clang::CodeGen::CodeGenFunction::getJumpDestInCurrentScope().

◆ getAddressOfLocalVariable()

Address CodeGenFunction::OMPBuilderCBHelpers::getAddressOfLocalVariable ( CodeGenFunction CGF,
const VarDecl VD 

◆ getAddrOfThreadPrivate()

Address CodeGenFunction::OMPBuilderCBHelpers::getAddrOfThreadPrivate ( CodeGenFunction CGF,
const VarDecl VD,
Address  VDAddr,
SourceLocation  Loc 

◆ getNameWithSeparators()

std::string CodeGenFunction::OMPBuilderCBHelpers::getNameWithSeparators ( ArrayRef< StringRef >  Parts,
StringRef  FirstSeparator = ".",
StringRef  Separator = "." 

Get the platform-specific name separator.

Partsdifferent parts of the final name that needs separation
FirstSeparatorFirst separator used between the initial two parts of the name.
Separatorseparator used between all of the rest consecutinve parts of the name

Definition at line 1683 of file CGStmtOpenMP.cpp.

◆ operator=()

OMPBuilderCBHelpers& clang::CodeGen::CodeGenFunction::OMPBuilderCBHelpers::operator= ( const OMPBuilderCBHelpers )

The documentation for this struct was generated from the following files: