clang 22.0.0git
OMPFuseDirective Class Referencefinal

Represents the '#pragma omp fuse' loop transformation directive. More...

#include "clang/AST/StmtOpenMP.h"

Inheritance diagram for OMPFuseDirective:
[legend]

Public Member Functions

Stmt * getTransformedStmt () const
 Gets the associated loops after the transformation.
Stmt * getPreInits () const
 Return preinits statement.
Public Member Functions inherited from OMPCanonicalLoopSequenceTransformationDirective
StmtgetTransformedStmt () const
 Get the de-sugared statements after the loop transformation.
StmtgetPreInits () const
 Return preinits statement.

Static Public Member Functions

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

Friends

class ASTStmtReader
class OMPExecutableDirective

Additional Inherited Members

Protected Member Functions inherited from OMPCanonicalLoopSequenceTransformationDirective
 OMPCanonicalLoopSequenceTransformationDirective (StmtClass SC, OpenMPDirectiveKind Kind, SourceLocation StartLoc, SourceLocation EndLoc)

Detailed Description

Represents the '#pragma omp fuse' loop transformation directive.

#pragma omp fuse
{
for(int i = 0; i < m1; ++i) {...}
for(int j = 0; j < m2; ++j) {...}
...
}

Definition at line 6003 of file StmtOpenMP.h.

Member Function Documentation

◆ classof()

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

Definition at line 6063 of file StmtOpenMP.h.

◆ Create()

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

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

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
NumLoopsTotal number of loops in the canonical loop sequence.
NumGeneratedTopLevelLoopsNumber of top-level generated loops.
AssociatedStmtThe outermost associated loop
TransformedStmtThe loop nest after fusion, or nullptr in dependent
PreInitsHelper preinits statements for the loop nest

Definition at line 555 of file StmtOpenMP.cpp.

References clang::C.

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

◆ CreateEmpty()

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

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

Parameters
CContext of the AST
NumClausesNumber of clauses to allocate
NumLoopsNumber of top level loops to allocate

Definition at line 568 of file StmtOpenMP.cpp.

References clang::C.

◆ getPreInits()

Stmt * OMPFuseDirective::getPreInits ( ) const
inline

Return preinits statement.

Definition at line 6061 of file StmtOpenMP.h.

◆ getTransformedStmt()

Stmt * OMPFuseDirective::getTransformedStmt ( ) const
inline

Gets the associated loops after the transformation.

This is the de-sugared replacement or nulltpr in dependent contexts.

Definition at line 6056 of file StmtOpenMP.h.

Referenced by clang::CodeGen::CodeGenFunction::EmitOMPFuseDirective().

◆ ASTStmtReader

friend class ASTStmtReader
friend

Definition at line 6005 of file StmtOpenMP.h.

References ASTStmtReader.

Referenced by ASTStmtReader.

◆ OMPExecutableDirective

friend class OMPExecutableDirective
friend

Definition at line 6006 of file StmtOpenMP.h.

References OMPExecutableDirective.

Referenced by OMPExecutableDirective.


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