LLVM API Documentation

llvm::BranchInst Class Reference

#include <Instructions.h>

Inheritance diagram for llvm::BranchInst:

Inheritance graph
[legend]
Collaboration diagram for llvm::BranchInst:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 BranchInst (BasicBlock *IfTrue, Instruction *InsertBefore=0)
 BranchInst (BasicBlock *IfTrue, BasicBlock *IfFalse, Value *Cond, Instruction *InsertBefore=0)
 BranchInst (BasicBlock *IfTrue, BasicBlock *InsertAtEnd)
 BranchInst (BasicBlock *IfTrue, BasicBlock *IfFalse, Value *Cond, BasicBlock *InsertAtEnd)
ValuegetOperand (unsigned i) const
 Transparently provide more efficient getOperand methods.
void setOperand (unsigned i, Value *Val)
virtual BranchInstclone () const
bool isUnconditional () const
bool isConditional () const
ValuegetCondition () const
void setCondition (Value *V)
void setUnconditionalDest (BasicBlock *Dest)
unsigned getNumSuccessors () const
BasicBlockgetSuccessor (unsigned i) const
void setSuccessor (unsigned idx, BasicBlock *NewSucc)

Static Public Member Functions

static bool classof (const BranchInst *)
static bool classof (const Instruction *I)
 Methods for support type inquiry through isa, cast, and dyn_cast:.
static bool classof (const Value *V)

Detailed Description

BranchInst - Conditional or Unconditional Branch instruction.

Definition at line 1097 of file Instructions.h.


Constructor & Destructor Documentation

llvm::BranchInst::BranchInst ( BasicBlock IfTrue,
Instruction InsertBefore = 0 
) [inline]

Definition at line 1112 of file Instructions.h.

References llvm::Use::init(), and Ops.

llvm::BranchInst::BranchInst ( BasicBlock IfTrue,
BasicBlock IfFalse,
Value Cond,
Instruction InsertBefore = 0 
) [inline]

Definition at line 1117 of file Instructions.h.

References llvm::Use::init(), and Ops.

llvm::BranchInst::BranchInst ( BasicBlock IfTrue,
BasicBlock InsertAtEnd 
) [inline]

Definition at line 1128 of file Instructions.h.

References llvm::Use::init(), and Ops.

llvm::BranchInst::BranchInst ( BasicBlock IfTrue,
BasicBlock IfFalse,
Value Cond,
BasicBlock InsertAtEnd 
) [inline]

Definition at line 1134 of file Instructions.h.

References llvm::Use::init(), and Ops.


Member Function Documentation

Value* llvm::BranchInst::getOperand ( unsigned  i  )  const [inline]

Transparently provide more efficient getOperand methods.

Reimplemented from llvm::User.

Definition at line 1147 of file Instructions.h.

References llvm::UnaryInstruction::getNumOperands(), and Ops.

void llvm::BranchInst::setOperand ( unsigned  i,
Value Val 
) [inline]

Reimplemented from llvm::User.

Definition at line 1151 of file Instructions.h.

References llvm::UnaryInstruction::getNumOperands(), Ops, and Val.

BranchInst * BranchInst::clone (  )  const [virtual]

clone() - Create a copy of 'this' instruction that is identical in all ways except the following: The instruction has no parent The instruction has no name

Implements llvm::TerminatorInst.

Definition at line 1338 of file Instructions.cpp.

bool llvm::BranchInst::isUnconditional (  )  const [inline]

Definition at line 1158 of file Instructions.h.

References llvm::UnaryInstruction::getNumOperands().

Referenced by llvm::SelectionDAGLowering::visitBr(), and llvm::Interpreter::visitBranchInst().

bool llvm::BranchInst::isConditional (  )  const [inline]

Definition at line 1159 of file Instructions.h.

References llvm::UnaryInstruction::getNumOperands().

Referenced by AddReachableCodeToWorklist(), GetIfCondition(), and isBlockSimpleEnough().

Value* llvm::BranchInst::getCondition (  )  const [inline]

Definition at line 1161 of file Instructions.h.

References llvm::UnaryInstruction::getOperand().

Referenced by AddReachableCodeToWorklist(), FoldCondBranchOnPHI(), GetIfCondition(), GetValueEqualityComparisonCases(), HoistThenElseCodeToIf(), isBlockSimpleEnough(), llvm::SelectionDAGLowering::visitBr(), and llvm::Interpreter::visitBranchInst().

void llvm::BranchInst::setCondition ( Value V  )  [inline]

Definition at line 1166 of file Instructions.h.

References llvm::UnaryInstruction::setOperand(), and V.

void llvm::BranchInst::setUnconditionalDest ( BasicBlock Dest  )  [inline]

Definition at line 1174 of file Instructions.h.

References Dest, llvm::User::NumOperands, Ops, llvm::Use::set(), and llvm::UnaryInstruction::setOperand().

unsigned llvm::BranchInst::getNumSuccessors (  )  const [inline]

getNumSuccessors - Return the number of successors that this terminator has.

Reimplemented from llvm::TerminatorInst.

Definition at line 1183 of file Instructions.h.

BasicBlock* llvm::BranchInst::getSuccessor ( unsigned  i  )  const [inline]

getSuccessor - Return the specified successor.

Reimplemented from llvm::TerminatorInst.

Definition at line 1185 of file Instructions.h.

References llvm::UnaryInstruction::getOperand().

Referenced by AddReachableCodeToWorklist(), FoldCondBranchOnPHI(), GetIfCondition(), GetValueEqualityComparisonCases(), HoistThenElseCodeToIf(), llvm::SelectionDAGLowering::visitBr(), and llvm::Interpreter::visitBranchInst().

void llvm::BranchInst::setSuccessor ( unsigned  idx,
BasicBlock NewSucc 
) [inline]

setSuccessor - Update the specified successor to point at the provided block.

Reimplemented from llvm::TerminatorInst.

Definition at line 1191 of file Instructions.h.

References llvm::UnaryInstruction::setOperand().

static bool llvm::BranchInst::classof ( const BranchInst  )  [inline, static]

Definition at line 1197 of file Instructions.h.

static bool llvm::BranchInst::classof ( const Instruction I  )  [inline, static]

Methods for support type inquiry through isa, cast, and dyn_cast:.

Reimplemented from llvm::TerminatorInst.

Definition at line 1198 of file Instructions.h.

References llvm::Instruction::getOpcode().

static bool llvm::BranchInst::classof ( const Value V  )  [inline, static]

Reimplemented from llvm::TerminatorInst.

Definition at line 1201 of file Instructions.h.

References llvm::CastInst::classof(), and V.


The documentation for this class was generated from the following files: