class IndirectBrInst

Declaration

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

Description

Indirect Branch Instruction.

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

Inherits from: Instruction

Member Variables

private unsigned int ReservedSpace

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::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)
  • private IndirectBrInst(llvm::Value * Address, unsigned int NumDests, llvm::Instruction * InsertBefore)
  • private IndirectBrInst(llvm::Value * Address, unsigned int NumDests, llvm::BasicBlock * InsertAtEnd)
  • private IndirectBrInst(const llvm::IndirectBrInst & IBI)
  • public void addDestination(llvm::BasicBlock * Dest)
  • public static bool classof(const llvm::Value * V)
  • public static bool classof(const llvm::Instruction * I)
  • 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
  • private void growOperands()
  • private void init(llvm::Value * Address, unsigned int NumDests)
  • 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:3702

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:3707

Parameters

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

IndirectBrInst(llvm::Value* Address,
               unsigned int NumDests,
               llvm::Instruction* InsertBefore)

Description

Create a new indirectbr instruction, specifying an Address to jump to. The number of expected destinations can be specified here to make memory allocation more efficient. This constructor can also autoinsert before another instruction.

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

Parameters

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

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

Description

Create a new indirectbr instruction, specifying an Address to jump to. The number of expected destinations can be specified here to make memory allocation more efficient. This constructor also autoinserts at the end of the specified BasicBlock.

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

Parameters

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

IndirectBrInst(const llvm::IndirectBrInst& IBI)

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

Parameters

const llvm::IndirectBrInst& IBI

void addDestination(llvm::BasicBlock* Dest)

Description

Add a destination.

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

Parameters

llvm::BasicBlock* Dest

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

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

Parameters

const llvm::Value* V

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

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

Parameters

const llvm::Instruction* I

llvm::IndirectBrInst* cloneImpl() const

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

llvm::Value* getAddress()

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

const llvm::Value* getAddress() const

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

llvm::BasicBlock* getDestination(unsigned int i)

Description

Return the specified destination.

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

Parameters

unsigned int i

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

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

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:3722

unsigned int getNumSuccessors() const

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

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

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

Parameters

unsigned int i

void growOperands()

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

void init(llvm::Value* Address,
          unsigned int NumDests)

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

Parameters

llvm::Value* Address
unsigned int NumDests

void removeDestination(unsigned int i)

Description

This method removes the specified successor from the indirectbr instruction.

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

Parameters

unsigned int i

void setAddress(llvm::Value* V)

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

Parameters

llvm::Value* V

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

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

Parameters

unsigned int i
llvm::BasicBlock* NewSucc

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

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

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

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