|
clang 24.0.0git
|
This represents '#pragma omp atomic' directive. More...
#include "clang/AST/StmtOpenMP.h"
Classes | |
| struct | Expressions |
Public Member Functions | |
| Expr * | getX () |
| Get 'x' part of the associated expression/statement. | |
| const Expr * | getX () const |
| Expr * | getUpdateExpr () |
| Get helper expression of the form 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'. | |
| const Expr * | getUpdateExpr () const |
| bool | isXLHSInRHSPart () const |
| Return true if helper update expression has form 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' and false if it has form 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'. | |
| bool | isPostfixUpdate () const |
| Return true if 'v' expression must be updated to original value of 'x', false if 'v' must be updated to the new value of 'x'. | |
| bool | isFailOnly () const |
| Return true if 'v' is updated only when the condition is evaluated false (compare capture only). | |
| Expr * | getV () |
| Get 'v' part of the associated expression/statement. | |
| const Expr * | getV () const |
| Expr * | getR () |
| Get 'r' part of the associated expression/statement. | |
| const Expr * | getR () const |
| Expr * | getExpr () |
| Get 'expr' part of the associated expression/statement. | |
| const Expr * | getExpr () const |
| Expr * | getD () |
| Get 'd' part of the associated expression/statement. | |
| Expr * | getD () const |
| Expr * | getCondExpr () |
| Get the 'cond' part of the source atomic expression. | |
| Expr * | getCondExpr () const |
Static Public Member Functions | |
| static OMPAtomicDirective * | Create (const ASTContext &C, SourceLocation StartLoc, SourceLocation EndLoc, ArrayRef< OMPClause * > Clauses, Stmt *AssociatedStmt, Expressions Exprs) |
| Creates directive with a list of Clauses and 'x', 'v' and 'expr' parts of the atomic construct (see Section 2.12.6, atomic Construct, for detailed description of 'x', 'v' and 'expr'). | |
| static OMPAtomicDirective * | CreateEmpty (const ASTContext &C, unsigned NumClauses, EmptyShell) |
| Creates an empty directive with the place for NumClauses clauses. | |
| static bool | classof (const Stmt *T) |
Friends | |
| class | ASTStmtReader |
| class | OMPExecutableDirective |
This represents '#pragma omp atomic' directive.
In this example directive '#pragma omp atomic' has clause 'capture'.
Definition at line 3079 of file StmtOpenMP.h.
|
inlinestatic |
Definition at line 3271 of file StmtOpenMP.h.
|
static |
Creates directive with a list of Clauses and 'x', 'v' and 'expr' parts of the atomic construct (see Section 2.12.6, atomic Construct, for detailed description of 'x', 'v' and 'expr').
| C | AST context. |
| StartLoc | Starting location of the directive kind. |
| EndLoc | Ending Location of the directive. |
| Clauses | List of clauses. |
| AssociatedStmt | Statement, associated with the directive. |
| Exprs | Associated expressions or statements. |
Definition at line 1142 of file StmtOpenMP.cpp.
References clang::C, OMPAtomicDirective::Expressions::Cond, OMPAtomicDirective::Expressions::D, OMPAtomicDirective::Expressions::E, OMPAtomicDirective::Expressions::IsFailOnly, OMPAtomicDirective::Expressions::IsPostfixUpdate, OMPAtomicDirective::Expressions::IsXLHSInRHSPart, OMPAtomicDirective::Expressions::R, OMPAtomicDirective::Expressions::UE, OMPAtomicDirective::Expressions::V, and OMPAtomicDirective::Expressions::X.
Referenced by clang::SemaOpenMP::ActOnOpenMPAtomicDirective().
|
static |
Creates an empty directive with the place for NumClauses clauses.
| C | AST context. |
| NumClauses | Number of clauses. |
Definition at line 1160 of file StmtOpenMP.cpp.
References clang::C.
|
inline |
Get the 'cond' part of the source atomic expression.
Definition at line 3264 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
inline |
Definition at line 3267 of file StmtOpenMP.h.
|
inline |
Get 'd' part of the associated expression/statement.
Definition at line 3257 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
inline |
Definition at line 3260 of file StmtOpenMP.h.
|
inline |
Get 'expr' part of the associated expression/statement.
Definition at line 3250 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
inline |
Definition at line 3253 of file StmtOpenMP.h.
|
inline |
Get 'r' part of the associated expression/statement.
Definition at line 3243 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
inline |
Definition at line 3246 of file StmtOpenMP.h.
|
inline |
Get helper expression of the form 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' or 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'.
Definition at line 3217 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
inline |
Definition at line 3221 of file StmtOpenMP.h.
|
inline |
Get 'v' part of the associated expression/statement.
Definition at line 3236 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
inline |
Definition at line 3239 of file StmtOpenMP.h.
|
inline |
Get 'x' part of the associated expression/statement.
Definition at line 3208 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
inline |
Definition at line 3211 of file StmtOpenMP.h.
|
inline |
Return true if 'v' is updated only when the condition is evaluated false (compare capture only).
Definition at line 3234 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
inline |
Return true if 'v' expression must be updated to original value of 'x', false if 'v' must be updated to the new value of 'x'.
Definition at line 3231 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
inline |
Return true if helper update expression has form 'OpaqueValueExpr(x) binop OpaqueValueExpr(expr)' and false if it has form 'OpaqueValueExpr(expr) binop OpaqueValueExpr(x)'.
Definition at line 3228 of file StmtOpenMP.h.
Referenced by clang::CodeGen::CodeGenFunction::EmitOMPAtomicDirective().
|
friend |
Definition at line 3080 of file StmtOpenMP.h.
References ASTStmtReader.
Referenced by ASTStmtReader.
|
friend |
Definition at line 3081 of file StmtOpenMP.h.
References OMPExecutableDirective, and uint8_t.
Referenced by OMPExecutableDirective.