class CallBrInst

Declaration

class CallBrInst : public CallBase { /* full declaration omitted */ };

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

Inherits from: CallBase

Member Variables

Inherited from CallBase:

protected Attrs
protected FTy
protected static CalledOperandOpEndIdx = -1

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::CallBrInst * Create(llvm::FunctionType * Ty, llvm::Value * Func, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, const llvm::Twine & NameStr, llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::CallBrInst * Create(llvm::FunctionType * Ty, llvm::Value * Func, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> Bundles = <null expr>, const llvm::Twine & NameStr = "", llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::CallBrInst * Create(llvm::FunctionType * Ty, llvm::Value * Func, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • public static llvm::CallBrInst * Create(llvm::FunctionType * Ty, llvm::Value * Func, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> Bundles, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • public static llvm::CallBrInst * Create(llvm::FunctionCallee Func, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, const llvm::Twine & NameStr, llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::CallBrInst * Create(llvm::FunctionCallee Func, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> Bundles = <null expr>, const llvm::Twine & NameStr = "", llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::CallBrInst * Create(llvm::FunctionCallee Func, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • public static llvm::CallBrInst * Create(llvm::FunctionCallee Func, llvm::BasicBlock * DefaultDest, ArrayRef<llvm::BasicBlock *> IndirectDests, ArrayRef<llvm::Value *> Args, ArrayRef<llvm::OperandBundleDef> Bundles, const llvm::Twine & NameStr, llvm::BasicBlock * InsertAtEnd)
  • public static llvm::CallBrInst * Create(llvm::CallBrInst * CBI, ArrayRef<llvm::OperandBundleDef> Bundles, llvm::Instruction * InsertPt = nullptr)
  • public static bool classof(const llvm::Value * V)
  • public static bool classof(const llvm::Instruction * I)
  • protected llvm::CallBrInst * cloneImpl() const
  • public llvm::BasicBlock * getDefaultDest() const
  • public llvm::BasicBlock * getIndirectDest(unsigned int i) const
  • public llvm::Value * getIndirectDestLabel(unsigned int i) const
  • public llvm::Value * getIndirectDestLabelUse(unsigned int i) const
  • public SmallVector<llvm::BasicBlock *, 16> getIndirectDests() const
  • public unsigned int getNumIndirectDests() const
  • public unsigned int getNumSuccessors() const
  • public llvm::BasicBlock * getSuccessor(unsigned int i) const
  • public void setDefaultDest(llvm::BasicBlock * B)
  • public void setIndirectDest(unsigned int i, llvm::BasicBlock * B)
  • public void setSuccessor(unsigned int i, llvm::BasicBlock * NewSucc)

Inherited from CallBase:

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

static llvm::CallBrInst* Create(
    llvm::FunctionType* Ty,
    llvm::Value* Func,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    const llvm::Twine& NameStr,
    llvm::Instruction* InsertBefore = nullptr)

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

Parameters

llvm::FunctionType* Ty
llvm::Value* Func
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
const llvm::Twine& NameStr
llvm::Instruction* InsertBefore = nullptr

static llvm::CallBrInst* Create(
    llvm::FunctionType* Ty,
    llvm::Value* Func,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> Bundles =
        <null expr>,
    const llvm::Twine& NameStr = "",
    llvm::Instruction* InsertBefore = nullptr)

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

Parameters

llvm::FunctionType* Ty
llvm::Value* Func
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> Bundles = <null expr>
const llvm::Twine& NameStr = ""
llvm::Instruction* InsertBefore = nullptr

static llvm::CallBrInst* Create(
    llvm::FunctionType* Ty,
    llvm::Value* Func,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    const llvm::Twine& NameStr,
    llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::FunctionType* Ty
llvm::Value* Func
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

static llvm::CallBrInst* Create(
    llvm::FunctionType* Ty,
    llvm::Value* Func,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> Bundles,
    const llvm::Twine& NameStr,
    llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::FunctionType* Ty
llvm::Value* Func
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> Bundles
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

static llvm::CallBrInst* Create(
    llvm::FunctionCallee Func,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    const llvm::Twine& NameStr,
    llvm::Instruction* InsertBefore = nullptr)

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

Parameters

llvm::FunctionCallee Func
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
const llvm::Twine& NameStr
llvm::Instruction* InsertBefore = nullptr

static llvm::CallBrInst* Create(
    llvm::FunctionCallee Func,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> Bundles =
        <null expr>,
    const llvm::Twine& NameStr = "",
    llvm::Instruction* InsertBefore = nullptr)

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

Parameters

llvm::FunctionCallee Func
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> Bundles = <null expr>
const llvm::Twine& NameStr = ""
llvm::Instruction* InsertBefore = nullptr

static llvm::CallBrInst* Create(
    llvm::FunctionCallee Func,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    const llvm::Twine& NameStr,
    llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::FunctionCallee Func
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

static llvm::CallBrInst* Create(
    llvm::FunctionCallee Func,
    llvm::BasicBlock* DefaultDest,
    ArrayRef<llvm::BasicBlock*> IndirectDests,
    ArrayRef<llvm::Value*> Args,
    ArrayRef<llvm::OperandBundleDef> Bundles,
    const llvm::Twine& NameStr,
    llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::FunctionCallee Func
llvm::BasicBlock* DefaultDest
ArrayRef<llvm::BasicBlock*> IndirectDests
ArrayRef<llvm::Value*> Args
ArrayRef<llvm::OperandBundleDef> Bundles
const llvm::Twine& NameStr
llvm::BasicBlock* InsertAtEnd

static llvm::CallBrInst* Create(
    llvm::CallBrInst* CBI,
    ArrayRef<llvm::OperandBundleDef> Bundles,
    llvm::Instruction* InsertPt = nullptr)

Description

Create a clone of \p CBI with a different set of operand bundles and insert it before \p InsertPt. The returned callbr instruction is identical to \p CBI in every way except that the operand bundles for the new instruction are set to the operand bundles in \p Bundles.

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

Parameters

llvm::CallBrInst* CBI
ArrayRef<llvm::OperandBundleDef> Bundles
llvm::Instruction* InsertPt = nullptr

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

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

Parameters

const llvm::Value* V

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

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

Parameters

const llvm::Instruction* I

llvm::CallBrInst* cloneImpl() const

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

llvm::BasicBlock* getDefaultDest() const

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

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

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

Parameters

unsigned int i

llvm::Value* getIndirectDestLabel(
    unsigned int i) const

Description

getIndirectDestLabel - Return the i-th indirect dest label.

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

Parameters

unsigned int i

llvm::Value* getIndirectDestLabelUse(
    unsigned int i) const

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

Parameters

unsigned int i

SmallVector<llvm::BasicBlock*, 16>
getIndirectDests() const

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

unsigned int getNumIndirectDests() const

Description

Return the number of callbr indirect dest labels.

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

unsigned int getNumSuccessors() const

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

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

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

Parameters

unsigned int i

void setDefaultDest(llvm::BasicBlock* B)

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

Parameters

llvm::BasicBlock* B

void setIndirectDest(unsigned int i,
                     llvm::BasicBlock* B)

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

Parameters

unsigned int i
llvm::BasicBlock* B

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

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

Parameters

unsigned int i
llvm::BasicBlock* NewSucc