clang 22.0.0git
OMPInterchangeDirective Class Referencefinal

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

#include "clang/AST/StmtOpenMP.h"

Inheritance diagram for OMPInterchangeDirective:
[legend]

Public Member Functions

Stmt * getTransformedStmt () const
 Gets the associated loops after the transformation.
Stmt * getPreInits () const
 Return preinits statement.

Static Public Member Functions

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

Friends

class ASTStmtReader
class OMPExecutableDirective

Detailed Description

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

#pragma omp interchange
for (int i = 0; i < m; ++i)
for (int j = 0; j < n; ++j)
..

Definition at line 5855 of file StmtOpenMP.h.

Member Function Documentation

◆ classof()

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

Definition at line 5917 of file StmtOpenMP.h.

◆ Create()

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

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

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 affected loops (number of items in the 'permutation' clause if present).
AssociatedStmtThe outermost associated loop.
TransformedStmtThe loop nest after tiling, or nullptr in dependent contexts.
PreInitsHelper preinits statements for the loop nest.

Definition at line 492 of file StmtOpenMP.cpp.

References clang::C.

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

◆ CreateEmpty()

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

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

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

Definition at line 505 of file StmtOpenMP.cpp.

References clang::C.

◆ getPreInits()

Stmt * OMPInterchangeDirective::getPreInits ( ) const
inline

Return preinits statement.

Definition at line 5915 of file StmtOpenMP.h.

◆ getTransformedStmt()

Stmt * OMPInterchangeDirective::getTransformedStmt ( ) const
inline

Gets the associated loops after the transformation.

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

Definition at line 5910 of file StmtOpenMP.h.

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

◆ ASTStmtReader

friend class ASTStmtReader
friend

Definition at line 5857 of file StmtOpenMP.h.

References ASTStmtReader.

Referenced by ASTStmtReader.

◆ OMPExecutableDirective

friend class OMPExecutableDirective
friend

Definition at line 5858 of file StmtOpenMP.h.

References OMPExecutableDirective.

Referenced by OMPExecutableDirective.


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