clang 24.0.0git
OMPTileDirective Class Referencefinal

This represents the '#pragma omp tile' loop transformation directive. More...

#include "clang/AST/StmtOpenMP.h"

Inheritance diagram for OMPTileDirective:
[legend]

Public Member Functions

Stmt * getTransformedStmt () const
 Gets/sets the associated loops after tiling.
Stmt * getPreInits () const
 Return preinits statement.
Stmt * getFinals () const
 Return finals statement (loop variable finalization).
Public Member Functions inherited from OMPCanonicalLoopNestTransformationDirective
unsigned getNumAssociatedLoops () const
 Return the number of associated (consumed) loops.
Stmt * getTransformedStmt () const
 Get the de-sugared statements after the loop transformation.
Stmt * getPreInits () const
 Return preinits statement.
Stmt * getFinals () const
 Return loop variable finalization statement, or nullptr if the concrete transformation does not produce one (e.g. unroll).
Public Member Functions inherited from OMPLoopTransformationDirective
unsigned getNumGeneratedTopLevelLoops () const
Stmt * getDirective () const
 Returns the specific directive related to this loop transformation.
Stmt * getTransformedStmt () const
 Get the de-sugared statements after the loop transformation.
Stmt * getPreInits () const
 Return preinits statement.
Stmt * getFinals () const
 Return loop variable finalization statement, or nullptr if the concrete transformation does not produce one (e.g. unroll).

Static Public Member Functions

static OMPTileDirective * Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef< OMPClause * > Clauses, unsigned NumLoops, Stmt *AssociatedStmt, Stmt *TransformedStmt, Stmt *PreInits, Stmt *Finals)
 Create a new AST node representation for '#pragma omp tile'.
static OMPTileDirective * CreateEmpty (const ASTContext &C, unsigned NumClauses, unsigned NumLoops)
 Build an empty '#pragma omp tile' AST node for deserialization.
static bool classof (const Stmt *T)
Static Public Member Functions inherited from OMPCanonicalLoopNestTransformationDirective
static bool classof (const Stmt *T)
Static Public Member Functions inherited from OMPLoopTransformationDirective
static bool classof (const Stmt *T)

Friends

class ASTStmtReader
class OMPExecutableDirective

Additional Inherited Members

Protected Member Functions inherited from OMPCanonicalLoopNestTransformationDirective
 OMPCanonicalLoopNestTransformationDirective (StmtClass SC, OpenMPDirectiveKind Kind, SourceLocation StartLoc, SourceLocation EndLoc, unsigned NumAssociatedLoops)
Protected Member Functions inherited from OMPLoopTransformationDirective
void setNumGeneratedTopLevelLoops (unsigned N)
 OMPLoopTransformationDirective (Stmt *S)

Detailed Description

This represents the '#pragma omp tile' loop transformation directive.

Definition at line 5708 of file StmtOpenMP.h.

Member Function Documentation

◆ classof()

bool OMPTileDirective::classof ( const Stmt * T)
inlinestatic

Definition at line 5784 of file StmtOpenMP.h.

◆ Create()

OMPTileDirective * OMPTileDirective::Create ( const ASTContext & C,
SourceLocation StartLoc,
SourceLocation EndLoc,
ArrayRef< OMPClause * > Clauses,
unsigned NumLoops,
Stmt * AssociatedStmt,
Stmt * TransformedStmt,
Stmt * PreInits,
Stmt * Finals )
static

Create a new AST node representation for '#pragma omp tile'.

Parameters
CContext of the AST.
StartLocLocation of the introducer (e.g. the 'omp' token).
EndLocLocation of the directive's end (e.g. the tok::eod).
ClausesThe directive's clauses.
NumLoopsNumber of associated loops (number of items in the 'sizes' clause).
AssociatedStmtThe outermost associated loop.
TransformedStmtThe loop nest after tiling, or nullptr in dependent contexts.
PreInitsHelper preinits statements for the loop nest.
FinalsLoop variable finalization statements.

Definition at line 585 of file StmtOpenMP.cpp.

References clang::C.

Referenced by clang::SemaOpenMP::ActOnOpenMPTileDirective().

◆ CreateEmpty()

OMPTileDirective * OMPTileDirective::CreateEmpty ( const ASTContext & C,
unsigned NumClauses,
unsigned NumLoops )
static

Build an empty '#pragma omp tile' AST node for deserialization.

Parameters
CContext of the AST.
NumClausesNumber of clauses to allocate.
NumLoopsNumber of associated loops to allocate.

Definition at line 597 of file StmtOpenMP.cpp.

References clang::C.

◆ getFinals()

Stmt * OMPTileDirective::getFinals ( ) const
inline

Return finals statement (loop variable finalization).

Definition at line 5782 of file StmtOpenMP.h.

◆ getPreInits()

Stmt * OMPTileDirective::getPreInits ( ) const
inline

Return preinits statement.

Definition at line 5779 of file StmtOpenMP.h.

◆ getTransformedStmt()

Stmt * OMPTileDirective::getTransformedStmt ( ) const
inline

Gets/sets the associated loops after tiling.

This is in de-sugared format stored as a CompoundStmt.

for (...)
...

Note that if the generated loops a become associated loops of another directive, they may need to be hoisted before them.

Definition at line 5774 of file StmtOpenMP.h.

◆ ASTStmtReader

friend class ASTStmtReader
friend

Definition at line 5710 of file StmtOpenMP.h.

References ASTStmtReader.

Referenced by ASTStmtReader.

◆ OMPExecutableDirective

friend class OMPExecutableDirective
friend

Definition at line 5711 of file StmtOpenMP.h.

References OMPExecutableDirective.

Referenced by OMPExecutableDirective.


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