class ExtractElementInst

Declaration

class ExtractElementInst : public Instruction { /* full declaration omitted */ };

Description

This instruction extracts a single (scalar) element from a VectorType value

Declared at: llvm/include/llvm/IR/Instructions.h:1872

Inherits from: Instruction

Member Variables

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasMetadata
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 32
public static MaximumAlignment = 1ULL << MaxAlignmentExponent

Method Overview

  • public static llvm::ExtractElementInst * Create(llvm::Value * Vec, llvm::Value * Idx, const llvm::Twine & NameStr = "", llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::ExtractElementInst * Create(llvm::Value * Vec, llvm::Value * Idx, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • private ExtractElementInst(llvm::Value * Vec, llvm::Value * Idx, const llvm::Twine & NameStr = "", llvm::Instruction * InsertBefore = nullptr)
  • private ExtractElementInst(llvm::Value * Vec, llvm::Value * Idx, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • public static bool classof(const llvm::Instruction * I)
  • public static bool classof(const llvm::Value * V)
  • protected llvm::ExtractElementInst * cloneImpl() const
  • public llvm::Value * getIndexOperand()
  • public const llvm::Value * getIndexOperand() const
  • public llvm::Value * getVectorOperand()
  • public const llvm::Value * getVectorOperand() const
  • public llvm::VectorType * getVectorOperandType() const
  • public static bool isValidOperands(const llvm::Value * Vec, const llvm::Value * Idx)

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

static llvm::ExtractElementInst* Create(
    llvm::Value* Vec,
    llvm::Value* Idx,
    const llvm::Twine& NameStr = "",
    llvm::Instruction* InsertBefore = nullptr)

Declared at: llvm/include/llvm/IR/Instructions.h:1885

Parameters

llvm::Value* Vec
llvm::Value* Idx
const llvm::Twine& NameStr = ""
llvm::Instruction* InsertBefore = nullptr

static llvm::ExtractElementInst* Create(
    llvm::Value* Vec,
    llvm::Value* Idx,
    const llvm::Twine& NameStr,
    llvm::BasicBlock* InsertAtEnd)

Declared at: llvm/include/llvm/IR/Instructions.h:1891

Parameters

llvm::Value* Vec
llvm::Value* Idx
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

ExtractElementInst(
    llvm::Value* Vec,
    llvm::Value* Idx,
    const llvm::Twine& NameStr = "",
    llvm::Instruction* InsertBefore = nullptr)

Declared at: llvm/include/llvm/IR/Instructions.h:1873

Parameters

llvm::Value* Vec
llvm::Value* Idx
const llvm::Twine& NameStr = ""
llvm::Instruction* InsertBefore = nullptr

ExtractElementInst(llvm::Value* Vec,
                   llvm::Value* Idx,
                   const llvm::Twine& NameStr,
                   llvm::BasicBlock* InsertAtEnd)

Declared at: llvm/include/llvm/IR/Instructions.h:1875

Parameters

llvm::Value* Vec
llvm::Value* Idx
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

static bool classof(const llvm::Instruction* I)

Declared at: llvm/include/llvm/IR/Instructions.h:1914

Parameters

const llvm::Instruction* I

static bool classof(const llvm::Value* V)

Declared at: llvm/include/llvm/IR/Instructions.h:1917

Parameters

const llvm::Value* V

llvm::ExtractElementInst* cloneImpl() const

Declared at: llvm/include/llvm/IR/Instructions.h:1882

llvm::Value* getIndexOperand()

Declared at: llvm/include/llvm/IR/Instructions.h:1902

const llvm::Value* getIndexOperand() const

Declared at: llvm/include/llvm/IR/Instructions.h:1904

llvm::Value* getVectorOperand()

Declared at: llvm/include/llvm/IR/Instructions.h:1901

const llvm::Value* getVectorOperand() const

Declared at: llvm/include/llvm/IR/Instructions.h:1903

llvm::VectorType* getVectorOperandType() const

Declared at: llvm/include/llvm/IR/Instructions.h:1906

static bool isValidOperands(
    const llvm::Value* Vec,
    const llvm::Value* Idx)

Description

Return true if an extractelement instruction can be formed with the specified operands.

Declared at: llvm/include/llvm/IR/Instructions.h:1899

Parameters

const llvm::Value* Vec
const llvm::Value* Idx