class BranchInst

Declaration

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

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

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::BranchInst * Create(llvm::BasicBlock * IfTrue, llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::BranchInst * Create(llvm::BasicBlock * IfTrue, llvm::BasicBlock * IfFalse, llvm::Value * Cond, llvm::Instruction * InsertBefore = nullptr)
  • public static llvm::BranchInst * Create(llvm::BasicBlock * IfTrue, llvm::BasicBlock * InsertAtEnd)
  • public static llvm::BranchInst * Create(llvm::BasicBlock * IfTrue, llvm::BasicBlock * IfFalse, llvm::Value * Cond, llvm::BasicBlock * InsertAtEnd)
  • public static bool classof(const llvm::Value * V)
  • public static bool classof(const llvm::Instruction * I)
  • protected llvm::BranchInst * cloneImpl() const
  • public llvm::Value * getCondition() const
  • public unsigned int getNumSuccessors() const
  • public llvm::BasicBlock * getSuccessor(unsigned int i) const
  • public bool isConditional() const
  • public bool isUnconditional() const
  • public void setCondition(llvm::Value * V)
  • public void setSuccessor(unsigned int idx, llvm::BasicBlock * NewSucc)
  • public iterator_range<llvm::BranchInst::succ_op_iterator> successors()
  • public iterator_range<llvm::BranchInst::const_succ_op_iterator> successors() const
  • public void swapSuccessors()

Inherited from Instruction:

Inherited from User:

Inherited from Value:

Methods

static llvm::BranchInst* Create(
    llvm::BasicBlock* IfTrue,
    llvm::Instruction* InsertBefore = nullptr)

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

Parameters

llvm::BasicBlock* IfTrue
llvm::Instruction* InsertBefore = nullptr

static llvm::BranchInst* Create(
    llvm::BasicBlock* IfTrue,
    llvm::BasicBlock* IfFalse,
    llvm::Value* Cond,
    llvm::Instruction* InsertBefore = nullptr)

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

Parameters

llvm::BasicBlock* IfTrue
llvm::BasicBlock* IfFalse
llvm::Value* Cond
llvm::Instruction* InsertBefore = nullptr

static llvm::BranchInst* Create(
    llvm::BasicBlock* IfTrue,
    llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::BasicBlock* IfTrue
llvm::BasicBlock* InsertAtEnd

static llvm::BranchInst* Create(
    llvm::BasicBlock* IfTrue,
    llvm::BasicBlock* IfFalse,
    llvm::Value* Cond,
    llvm::BasicBlock* InsertAtEnd)

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

Parameters

llvm::BasicBlock* IfTrue
llvm::BasicBlock* IfFalse
llvm::Value* Cond
llvm::BasicBlock* InsertAtEnd

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

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

Parameters

const llvm::Value* V

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

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

Parameters

const llvm::Instruction* I

llvm::BranchInst* cloneImpl() const

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

llvm::Value* getCondition() const

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

unsigned int getNumSuccessors() const

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

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

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

Parameters

unsigned int i

bool isConditional() const

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

bool isUnconditional() const

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

void setCondition(llvm::Value* V)

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

Parameters

llvm::Value* V

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

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

Parameters

unsigned int idx
llvm::BasicBlock* NewSucc

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

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

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

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

void swapSuccessors()

Description

Swap the successors of this branch instruction. Swaps the successors of the branch instruction. This also swaps any branch weight metadata associated with the instruction so that it continues to map correctly to each operand.

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