clang 22.0.0git
OMPUnrollDirective Class Referencefinal

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

#include "clang/AST/StmtOpenMP.h"

Inheritance diagram for OMPUnrollDirective:
[legend]

Public Member Functions

Stmt * getTransformedStmt () const
 Get the de-sugared associated loops after unrolling.
Stmt * getPreInits () const
 Return the pre-init statements.

Static Public Member Functions

static OMPUnrollDirectiveCreate (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt, unsigned NumGeneratedLoops, Stmt *TransformedStmt, Stmt *PreInits)
 Create a new AST node representation for '#pragma omp unroll'.
static OMPUnrollDirectiveCreateEmpty (const ASTContext &C, unsigned NumClauses)
 Build an empty '#pragma omp unroll' AST node for deserialization.
static bool classof (const Stmt *T)

Friends

class ASTStmtReader
class OMPExecutableDirective

Detailed Description

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

#pragma omp unroll
for (int i = 0; i < 64; ++i)

Definition at line 5707 of file StmtOpenMP.h.

Member Function Documentation

◆ classof()

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

Definition at line 5770 of file StmtOpenMP.h.

◆ Create()

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

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

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.
AssociatedStmtThe outermost associated loop.
TransformedStmtThe loop nest after tiling, or nullptr in dependent contexts.
PreInitsHelper preinits statements for the loop nest.

Definition at line 451 of file StmtOpenMP.cpp.

References clang::C.

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

◆ CreateEmpty()

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

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

Parameters
CContext of the AST.
NumClausesNumber of clauses to allocate.

Definition at line 465 of file StmtOpenMP.cpp.

References clang::C.

◆ getPreInits()

Stmt * OMPUnrollDirective::getPreInits ( ) const
inline

Return the pre-init statements.

Definition at line 5768 of file StmtOpenMP.h.

◆ getTransformedStmt()

Stmt * OMPUnrollDirective::getTransformedStmt ( ) const
inline

Get the de-sugared associated loops after unrolling.

This is only used if the unrolled loop becomes an associated loop of another directive, otherwise the loop is emitted directly using loop transformation metadata. When the unrolled loop cannot be used by another directive (e.g. because of the full clause), the transformed stmt can also be nullptr.

Definition at line 5763 of file StmtOpenMP.h.

◆ ASTStmtReader

friend class ASTStmtReader
friend

Definition at line 5709 of file StmtOpenMP.h.

References ASTStmtReader.

Referenced by ASTStmtReader.

◆ OMPExecutableDirective

friend class OMPExecutableDirective
friend

Definition at line 5710 of file StmtOpenMP.h.

References OMPExecutableDirective.

Referenced by OMPExecutableDirective.


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