class IndirectBrInst

Declaration

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

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

Inherits from: Instruction

Member Variables

Inherited from Value:

protected SubclassOptionalData
protected NumUserOperands
protected IsUsedByMD
protected HasName
protected HasHungOffUses
protected HasDescriptor
public static MaxAlignmentExponent = 29
public static MaximumAlignment = 1U << MaxAlignmentExponent

Method Overview

  • public static llvm::IndirectBrInst * Create(llvm::Value * Address, unsigned int NumDests, llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::IndirectBrInst * Create(llvm::Value * Address, unsigned int NumDests, llvm::BasicBlock * InsertAtEnd)
  • public void addDestination(llvm::BasicBlock * Dest)
  • public static bool classof(const llvm::Instruction * I)
  • public static bool classof(const llvm::Value * V)
  • protected llvm::IndirectBrInst * cloneImpl() const
  • public llvm::Value * getAddress()
  • public const llvm::Value * getAddress() const
  • public llvm::BasicBlock * getDestination(unsigned int i)
  • public const llvm::BasicBlock * getDestination(unsigned int i) const
  • public unsigned int getNumDestinations() const
  • public unsigned int getNumSuccessors() const
  • public llvm::BasicBlock * getSuccessor(unsigned int i) const
  • public void removeDestination(unsigned int i)
  • public void setAddress(llvm::Value * V)
  • public void setSuccessor(unsigned int i, llvm::BasicBlock * NewSucc)
  • public iterator_range<llvm::IndirectBrInst::succ_op_iterator> successors()
  • public iterator_range<llvm::IndirectBrInst::const_succ_op_iterator> successors() const

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

static llvm::IndirectBrInst* Create(
    llvm::Value* Address,
    unsigned int NumDests,
    llvm::Instruction* InsertBefore = nullptr)

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

Parameters

llvm::Value* Address
unsigned int NumDests
llvm::Instruction* InsertBefore = nullptr

static llvm::IndirectBrInst* Create(
    llvm::Value* Address,
    unsigned int NumDests,
    llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::Value* Address
unsigned int NumDests
llvm::BasicBlock* InsertAtEnd

void addDestination(llvm::BasicBlock* Dest)

Description

Add a destination.

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

Parameters

llvm::BasicBlock* Dest

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

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

Parameters

const llvm::Instruction* I

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

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

Parameters

const llvm::Value* V

llvm::IndirectBrInst* cloneImpl() const

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

llvm::Value* getAddress()

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

const llvm::Value* getAddress() const

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

llvm::BasicBlock* getDestination(unsigned int i)

Description

Return the specified destination.

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

Parameters

unsigned int i

const llvm::BasicBlock* getDestination(
    unsigned int i) const

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

Parameters

unsigned int i

unsigned int getNumDestinations() const

Description

return the number of possible destinations in this indirectbr instruction.

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

unsigned int getNumSuccessors() const

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

llvm::BasicBlock* getSuccessor(
    unsigned int i) const

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

Parameters

unsigned int i

void removeDestination(unsigned int i)

Description

This method removes the specified successor from the indirectbr instruction.

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

Parameters

unsigned int i

void setAddress(llvm::Value* V)

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

Parameters

llvm::Value* V

void setSuccessor(unsigned int i,
                  llvm::BasicBlock* NewSucc)

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

Parameters

unsigned int i
llvm::BasicBlock* NewSucc

iterator_range<
    llvm::IndirectBrInst::succ_op_iterator>
successors()

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

iterator_range<
    llvm::IndirectBrInst::const_succ_op_iterator>
successors() const

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