FLANG
Public Types | Public Member Functions | Public Attributes | List of all members
OpWithBodyGenInfo Struct Reference

Public Types

using GenOMPRegionEntryCBFn = std::function< llvm::SmallVector< const semantics::Symbol * >(mlir::Operation *)>
 

Public Member Functions

 OpWithBodyGenInfo (lower::AbstractConverter &converter, lower::SymMap &symTable, semantics::SemanticsContext &semaCtx, mlir::Location loc, lower::pft::Evaluation &eval, llvm::omp::Directive dir)
 
OpWithBodyGenInfosetClauses (const List< Clause > *value)
 
OpWithBodyGenInfosetDataSharingProcessor (DataSharingProcessor *value)
 
OpWithBodyGenInfosetGenRegionEntryCb (GenOMPRegionEntryCBFn value)
 
OpWithBodyGenInfosetGenSkeletonOnly (bool value)
 

Public Attributes

lower::AbstractConverterconverter
 [inout] converter to use for the clauses.
 
lower::SymMapsymTable
 [in] Symbol table
 
semantics::SemanticsContextsemaCtx
 [in] Semantics context
 
mlir::Location loc
 [in] location in source code.
 
lower::pft::Evaluationeval
 [in] current PFT node/evaluation.
 
llvm::omp::Directive dir
 [in] leaf directive for which to generate the op body.
 
const List< Clause > * clauses = nullptr
 [in] list of clauses to process.
 
DataSharingProcessordsp = nullptr
 [in] if provided, processes the construct's data-sharing attributes.
 
GenOMPRegionEntryCBFn genRegionEntryCB = nullptr
 
bool genSkeletonOnly = false
 

Member Typedef Documentation

◆ GenOMPRegionEntryCBFn

using OpWithBodyGenInfo::GenOMPRegionEntryCBFn = std::function<llvm::SmallVector<const semantics::Symbol *>( mlir::Operation *)>

A type for a code-gen callback function. This takes as argument the op for which the code is being generated and returns the arguments of the op's region.

Member Data Documentation

◆ genRegionEntryCB

GenOMPRegionEntryCBFn OpWithBodyGenInfo::genRegionEntryCB = nullptr

[in] if provided, emits the op's region entry. Otherwise, an emtpy block is created in the region.

◆ genSkeletonOnly

bool OpWithBodyGenInfo::genSkeletonOnly = false

[in] if set to true, skip generating nested evaluations and dispatching any further leaf constructs.


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