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 (const ASTContext &C, ArrayRef< Expr * > args, 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)
SourceLocation getLocStart () const LLVM_READONLY
SourceLocation getLocEnd () 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 (const ASTContext &C, ArrayRef< Expr * > Exprs)
llvm::APSInt getShuffleMaskIdx (const ASTContext &Ctx, unsigned N) const
child_range children ()

Static Public Member Functions

static bool classof (const Stmt *T)

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 3438 of file Expr.h.


Constructor & Destructor Documentation

ShuffleVectorExpr::ShuffleVectorExpr ( const ASTContext C,
ArrayRef< Expr * >  args,
QualType  Type,
SourceLocation  BLoc,
SourceLocation  RP 
)

Build an empty vector-shuffle expression.

Definition at line 3453 of file Expr.h.


Member Function Documentation

Reimplemented from clang::Stmt.

Definition at line 3495 of file Expr.h.

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

Reimplemented from clang::Expr.

Definition at line 3465 of file Expr.h.

References clang::Stmt::getStmtClass().

Definition at line 3456 of file Expr.h.

getExpr - Return the Expr at the specified index.

Definition at line 3478 of file Expr.h.

Referenced by getShuffleMaskIdx().

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

Definition at line 3482 of file Expr.h.

Reimplemented from clang::Stmt.

Definition at line 3463 of file Expr.h.

Reimplemented from clang::Stmt.

Definition at line 3462 of file Expr.h.

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 3472 of file Expr.h.

Definition at line 3459 of file Expr.h.

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

Definition at line 3489 of file Expr.h.

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

Retrieve the array of expressions.

Definition at line 3475 of file Expr.h.

Definition at line 3457 of file Expr.h.

void ShuffleVectorExpr::setExprs ( const ASTContext C,
ArrayRef< Expr * >  Exprs 
)

Definition at line 3705 of file Expr.cpp.

References AttributeLangSupport::C, and clang::ASTContext::Deallocate().

Definition at line 3460 of file Expr.h.


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