clang API Documentation

Public Member Functions | Static Public Member Functions
clang::ShuffleVectorExpr Class Reference

#include <Expr.h>

Inheritance diagram for clang::ShuffleVectorExpr:
Inheritance graph
[legend]
Collaboration diagram for clang::ShuffleVectorExpr:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 ShuffleVectorExpr (ASTContext &C, Expr **args, unsigned nexpr, QualType Type, SourceLocation BLoc, SourceLocation RP)
 ShuffleVectorExpr (EmptyShell Empty)
 Build an empty vector-shuffle expression.
SourceLocation getBuiltinLoc () const
void setBuiltinLoc (SourceLocation L)
SourceLocation getRParenLoc () const
void setRParenLoc (SourceLocation L)
SourceRange getSourceRange () const LLVM_READONLY
unsigned getNumSubExprs () const
Expr ** getSubExprs ()
 Retrieve the array of expressions.
ExprgetExpr (unsigned Index)
 getExpr - Return the Expr at the specified index.
const ExprgetExpr (unsigned Index) const
void setExprs (ASTContext &C, Expr **Exprs, unsigned NumExprs)
unsigned getShuffleMaskIdx (ASTContext &Ctx, unsigned N)
child_range children ()

Static Public Member Functions

static bool classof (const Stmt *T)
static bool classof (const ShuffleVectorExpr *)

Detailed Description

ShuffleVectorExpr - clang-specific builtin-in function __builtin_shufflevector. This AST node represents a operator that does a constant shuffle, similar to LLVM's shufflevector instruction. It takes two vectors and a variable number of constant indices, and returns the appropriately shuffled vector.

Definition at line 3244 of file Expr.h.


Constructor & Destructor Documentation

ShuffleVectorExpr::ShuffleVectorExpr ( ASTContext C,
Expr **  args,
unsigned  nexpr,
QualType  Type,
SourceLocation  BLoc,
SourceLocation  RP 
)
clang::ShuffleVectorExpr::ShuffleVectorExpr ( EmptyShell  Empty) [inline, explicit]

Build an empty vector-shuffle expression.

Definition at line 3260 of file Expr.h.


Member Function Documentation

child_range clang::ShuffleVectorExpr::children ( ) [inline]

Reimplemented from clang::Stmt.

Definition at line 3303 of file Expr.h.

static bool clang::ShuffleVectorExpr::classof ( const Stmt T) [inline, static]

Reimplemented from clang::Expr.

Definition at line 3272 of file Expr.h.

References clang::Stmt::getStmtClass().

static bool clang::ShuffleVectorExpr::classof ( const ShuffleVectorExpr ) [inline, static]

Definition at line 3275 of file Expr.h.

SourceLocation clang::ShuffleVectorExpr::getBuiltinLoc ( ) const [inline]

Definition at line 3263 of file Expr.h.

Expr* clang::ShuffleVectorExpr::getExpr ( unsigned  Index) [inline]

getExpr - Return the Expr at the specified index.

Definition at line 3286 of file Expr.h.

References Index.

Referenced by getShuffleMaskIdx().

const Expr* clang::ShuffleVectorExpr::getExpr ( unsigned  Index) const [inline]

Definition at line 3290 of file Expr.h.

References Index.

unsigned clang::ShuffleVectorExpr::getNumSubExprs ( ) const [inline]

getNumSubExprs - Return the size of the SubExprs array. This includes the constant expression, the actual arguments passed in, and the function pointers.

Definition at line 3280 of file Expr.h.

SourceLocation clang::ShuffleVectorExpr::getRParenLoc ( ) const [inline]

Definition at line 3266 of file Expr.h.

unsigned clang::ShuffleVectorExpr::getShuffleMaskIdx ( ASTContext Ctx,
unsigned  N 
) [inline]

Definition at line 3297 of file Expr.h.

References clang::Expr::EvaluateKnownConstInt(), and getExpr().

SourceRange clang::ShuffleVectorExpr::getSourceRange ( ) const [inline]

SourceLocation tokens are not useful in isolation - they are low level value objects created/interpreted by SourceManager. We assume AST clients will have a pointer to the respective SourceManager.

Reimplemented from clang::Stmt.

Definition at line 3269 of file Expr.h.

Expr** clang::ShuffleVectorExpr::getSubExprs ( ) [inline]

Retrieve the array of expressions.

Definition at line 3283 of file Expr.h.

void clang::ShuffleVectorExpr::setBuiltinLoc ( SourceLocation  L) [inline]

Definition at line 3264 of file Expr.h.

void ShuffleVectorExpr::setExprs ( ASTContext C,
Expr **  Exprs,
unsigned  NumExprs 
)

Definition at line 3029 of file Expr.cpp.

References clang::ASTContext::Deallocate().

void clang::ShuffleVectorExpr::setRParenLoc ( SourceLocation  L) [inline]

Definition at line 3267 of file Expr.h.


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