class InsertValueInst

Declaration

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

Description

This instruction inserts a struct field of array element value into an aggregate value.

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

Inherits from: Instruction

Member Variables

private SmallVector<unsigned int, 4> Indices

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::InsertValueInst * Create(llvm::Value * Agg, llvm::Value * Val, ArrayRef<unsigned int> Idxs, const llvm::Twine & NameStr = "", llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::InsertValueInst * Create(llvm::Value * Agg, llvm::Value * Val, ArrayRef<unsigned int> Idxs, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • private inline InsertValueInst(llvm::Value * Agg, llvm::Value * Val, ArrayRef<unsigned int> Idxs, const llvm::Twine & NameStr, llvm::Instruction * InsertBefore)
  • private inline InsertValueInst(llvm::Value * Agg, llvm::Value * Val, ArrayRef<unsigned int> Idxs, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • private InsertValueInst(llvm::Value * Agg, llvm::Value * Val, unsigned int Idx, const llvm::Twine & NameStr = "", llvm::Instruction * InsertBefore = nullptr)
  • private InsertValueInst(llvm::Value * Agg, llvm::Value * Val, unsigned int Idx, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • private InsertValueInst(const llvm::InsertValueInst & IVI)
  • public static bool classof(const llvm::Value * V)
  • public static bool classof(const llvm::Instruction * I)
  • protected llvm::InsertValueInst * cloneImpl() const
  • public llvm::Value * getAggregateOperand()
  • public const llvm::Value * getAggregateOperand() const
  • public static unsigned int getAggregateOperandIndex()
  • public ArrayRef<unsigned int> getIndices() const
  • public llvm::Value * getInsertedValueOperand()
  • public const llvm::Value * getInsertedValueOperand() const
  • public static unsigned int getInsertedValueOperandIndex()
  • public unsigned int getNumIndices() const
  • public bool hasIndices() const
  • public inline llvm::InsertValueInst::idx_iterator idx_begin() const
  • public inline llvm::InsertValueInst::idx_iterator idx_end() const
  • public inline iterator_range<llvm::InsertValueInst::idx_iterator> indices() const
  • private void init(llvm::Value * Agg, llvm::Value * Val, ArrayRef<unsigned int> Idxs, const llvm::Twine & NameStr)

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

static llvm::InsertValueInst* Create(
    llvm::Value* Agg,
    llvm::Value* Val,
    ArrayRef<unsigned int> Idxs,
    const llvm::Twine& NameStr = "",
    llvm::Instruction* InsertBefore = nullptr)

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

Parameters

llvm::Value* Agg
llvm::Value* Val
ArrayRef<unsigned int> Idxs
const llvm::Twine& NameStr = ""
llvm::Instruction* InsertBefore = nullptr

static llvm::InsertValueInst* Create(
    llvm::Value* Agg,
    llvm::Value* Val,
    ArrayRef<unsigned int> Idxs,
    const llvm::Twine& NameStr,
    llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::Value* Agg
llvm::Value* Val
ArrayRef<unsigned int> Idxs
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

inline InsertValueInst(
    llvm::Value* Agg,
    llvm::Value* Val,
    ArrayRef<unsigned int> Idxs,
    const llvm::Twine& NameStr,
    llvm::Instruction* InsertBefore)

Description

Constructors - Create a insertvalue instruction with a base aggregate value, a value to insert, and a list of indices. The first ctor can optionally insert before an existing instruction, the second appends the new instruction to the specified BasicBlock.

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

Parameters

llvm::Value* Agg
llvm::Value* Val
ArrayRef<unsigned int> Idxs
const llvm::Twine& NameStr
llvm::Instruction* InsertBefore

inline InsertValueInst(
    llvm::Value* Agg,
    llvm::Value* Val,
    ArrayRef<unsigned int> Idxs,
    const llvm::Twine& NameStr,
    llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::Value* Agg
llvm::Value* Val
ArrayRef<unsigned int> Idxs
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

InsertValueInst(
    llvm::Value* Agg,
    llvm::Value* Val,
    unsigned int Idx,
    const llvm::Twine& NameStr = "",
    llvm::Instruction* InsertBefore = nullptr)

Description

Constructors - These two constructors are convenience methods because one and two index insertvalue instructions are so common.

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

Parameters

llvm::Value* Agg
llvm::Value* Val
unsigned int Idx
const llvm::Twine& NameStr = ""
llvm::Instruction* InsertBefore = nullptr

InsertValueInst(llvm::Value* Agg,
                llvm::Value* Val,
                unsigned int Idx,
                const llvm::Twine& NameStr,
                llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::Value* Agg
llvm::Value* Val
unsigned int Idx
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

InsertValueInst(const llvm::InsertValueInst& IVI)

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

Parameters

const llvm::InsertValueInst& IVI

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

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

Parameters

const llvm::Value* V

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

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

Parameters

const llvm::Instruction* I

llvm::InsertValueInst* cloneImpl() const

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

llvm::Value* getAggregateOperand()

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

const llvm::Value* getAggregateOperand() const

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

static unsigned int getAggregateOperandIndex()

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

ArrayRef<unsigned int> getIndices() const

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

llvm::Value* getInsertedValueOperand()

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

const llvm::Value* getInsertedValueOperand() const

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

static unsigned int getInsertedValueOperandIndex()

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

unsigned int getNumIndices() const

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

bool hasIndices() const

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

inline llvm::InsertValueInst::idx_iterator
idx_begin() const

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

inline llvm::InsertValueInst::idx_iterator
idx_end() const

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

inline iterator_range<
    llvm::InsertValueInst::idx_iterator>
indices() const

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

void init(llvm::Value* Agg,
          llvm::Value* Val,
          ArrayRef<unsigned int> Idxs,
          const llvm::Twine& NameStr)

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

Parameters

llvm::Value* Agg
llvm::Value* Val
ArrayRef<unsigned int> Idxs
const llvm::Twine& NameStr