class ShuffleVectorExpr

Declaration

class ShuffleVectorExpr : public Expr { /* full declaration omitted */ };

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.

Declared at: clang/include/clang/AST/Expr.h:4397

Inherits from: Expr

Member Variables

private clang::SourceLocation BuiltinLoc
private clang::SourceLocation RParenLoc
private clang::Stmt** SubExprs
private unsigned int NumExprs

Inherited from Stmt:

protected

Method Overview

  • public ShuffleVectorExpr(clang::Stmt::EmptyShell Empty)
  • public ShuffleVectorExpr(const clang::ASTContext & C, ArrayRef<clang::Expr *> args, clang::QualType Type, clang::SourceLocation BLoc, clang::SourceLocation RP)
  • public clang::Stmt::const_child_range children() const
  • public clang::Stmt::child_range children()
  • public static bool classof(const clang::Stmt * T)
  • public clang::SourceLocation getBeginLoc() const
  • public clang::SourceLocation getBuiltinLoc() const
  • public clang::SourceLocation getEndLoc() const
  • public clang::Expr * getExpr(unsigned int Index)
  • public const clang::Expr * getExpr(unsigned int Index) const
  • public unsigned int getNumSubExprs() const
  • public clang::SourceLocation getRParenLoc() const
  • public llvm::APSInt getShuffleMaskIdx(const clang::ASTContext & Ctx, unsigned int N) const
  • public clang::Expr ** getSubExprs()
  • public void setBuiltinLoc(clang::SourceLocation L)
  • public void setExprs(const clang::ASTContext & C, ArrayRef<clang::Expr *> Exprs)
  • public void setRParenLoc(clang::SourceLocation L)

Inherited from Expr:

Inherited from ValueStmt:

Inherited from Stmt:

Methods

ShuffleVectorExpr(clang::Stmt::EmptyShell Empty)

Description

Build an empty vector-shuffle expression.

Declared at: clang/include/clang/AST/Expr.h:4412

Parameters

clang::Stmt::EmptyShell Empty

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

Declared at: clang/include/clang/AST/Expr.h:4408

Parameters

const clang::ASTContext& C
ArrayRef<clang::Expr*> args
clang::QualType Type
clang::SourceLocation BLoc
clang::SourceLocation RP

clang::Stmt::const_child_range children() const

Declared at: clang/include/clang/AST/Expr.h:4457

clang::Stmt::child_range children()

Declared at: clang/include/clang/AST/Expr.h:4454

static bool classof(const clang::Stmt* T)

Declared at: clang/include/clang/AST/Expr.h:4424

Parameters

const clang::Stmt* T

clang::SourceLocation getBeginLoc() const

Declared at: clang/include/clang/AST/Expr.h:4421

clang::SourceLocation getBuiltinLoc() const

Declared at: clang/include/clang/AST/Expr.h:4415

clang::SourceLocation getEndLoc() const

Declared at: clang/include/clang/AST/Expr.h:4422

clang::Expr* getExpr(unsigned int Index)

Description

getExpr - Return the Expr at the specified index.

Declared at: clang/include/clang/AST/Expr.h:4437

Parameters

unsigned int Index

const clang::Expr* getExpr(
    unsigned int Index) const

Declared at: clang/include/clang/AST/Expr.h:4441

Parameters

unsigned int Index

unsigned int getNumSubExprs() const

Description

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

Declared at: clang/include/clang/AST/Expr.h:4431

clang::SourceLocation getRParenLoc() const

Declared at: clang/include/clang/AST/Expr.h:4418

llvm::APSInt getShuffleMaskIdx(
    const clang::ASTContext& Ctx,
    unsigned int N) const

Declared at: clang/include/clang/AST/Expr.h:4448

Parameters

const clang::ASTContext& Ctx
unsigned int N

clang::Expr** getSubExprs()

Description

Retrieve the array of expressions.

Declared at: clang/include/clang/AST/Expr.h:4434

void setBuiltinLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Expr.h:4416

Parameters

clang::SourceLocation L

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

Declared at: clang/include/clang/AST/Expr.h:4446

Parameters

const clang::ASTContext& C
ArrayRef<clang::Expr*> Exprs

void setRParenLoc(clang::SourceLocation L)

Declared at: clang/include/clang/AST/Expr.h:4419

Parameters

clang::SourceLocation L