LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | List of all members
llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy > Class Template Reference

#include <Instructions.h>

Inheritance diagram for llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >:
Inheritance graph
[legend]
Collaboration diagram for llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >:
Collaboration graph
[legend]

Public Types

typedef CaseIteratorT
< SwitchInstTy, ConstantIntTy,
BasicBlockTy > 
Self
 

Public Member Functions

 CaseIteratorT (SwitchInstTy *SI, unsigned CaseNum)
 
ConstantIntTy * getCaseValue ()
 Resolves case value for current case. More...
 
BasicBlockTy * getCaseSuccessor ()
 Resolves successor for current case. More...
 
unsigned getCaseIndex () const
 Returns number of current case. More...
 
unsigned getSuccessorIndex () const
 Returns TerminatorInst's successor index for current case successor. More...
 
Self operator++ ()
 
Self operator++ (int)
 
Self operator-- ()
 
Self operator-- (int)
 
bool operator== (const Self &RHS) const
 
bool operator!= (const Self &RHS) const
 

Static Public Member Functions

static Self fromSuccessorIndex (SwitchInstTy *SI, unsigned SuccessorIndex)
 

Protected Attributes

SwitchInstTy * SI
 
unsigned Index
 

Detailed Description

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
class llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >

Definition at line 2484 of file Instructions.h.

Member Typedef Documentation

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
typedef CaseIteratorT<SwitchInstTy, ConstantIntTy, BasicBlockTy> llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::Self

Definition at line 2492 of file Instructions.h.

Constructor & Destructor Documentation

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::CaseIteratorT ( SwitchInstTy *  SI,
unsigned  CaseNum 
)
inline

Initializes case iterator for given SwitchInst and for given case number.

Definition at line 2496 of file Instructions.h.

Member Function Documentation

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
static Self llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::fromSuccessorIndex ( SwitchInstTy *  SI,
unsigned  SuccessorIndex 
)
inlinestatic

Initializes case iterator for given SwitchInst and for given TerminatorInst's successor index.

Definition at line 2503 of file Instructions.h.

Referenced by llvm::DOTGraphTraits< const Function * >::getEdgeSourceLabel().

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
unsigned llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::getCaseIndex ( ) const
inline

Returns number of current case.

Definition at line 2526 of file Instructions.h.

Referenced by EliminateDeadSwitchCases(), and llvm::SwitchInst::removeCase().

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
BasicBlockTy* llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::getCaseSuccessor ( )
inline

Resolves successor for current case.

Definition at line 2518 of file Instructions.h.

Referenced by llvm::ConstantFoldTerminator(), EliminateDeadSwitchCases(), SimplifySwitchOnSelect(), and TurnSwitchRangeIntoICmp().

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
ConstantIntTy* llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::getCaseValue ( )
inline

Resolves case value for current case.

Definition at line 2512 of file Instructions.h.

Referenced by llvm::ConstantFoldTerminator(), llvm::DOTGraphTraits< const Function * >::getEdgeSourceLabel(), and TurnSwitchRangeIntoICmp().

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
unsigned llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::getSuccessorIndex ( ) const
inline

Returns TerminatorInst's successor index for current case successor.

Definition at line 2529 of file Instructions.h.

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
bool llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::operator!= ( const Self RHS) const
inline

Definition at line 2565 of file Instructions.h.

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
Self llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::operator++ ( )
inline

Definition at line 2535 of file Instructions.h.

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
Self llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::operator++ ( int  )
inline

Definition at line 2542 of file Instructions.h.

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
Self llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::operator-- ( )
inline

Definition at line 2547 of file Instructions.h.

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
Self llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::operator-- ( int  )
inline

Definition at line 2556 of file Instructions.h.

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
bool llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::operator== ( const Self RHS) const
inline

Definition at line 2561 of file Instructions.h.

Member Data Documentation

template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
unsigned llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::Index
protected
template<class SwitchInstTy, class ConstantIntTy, class BasicBlockTy>
SwitchInstTy* llvm::SwitchInst::CaseIteratorT< SwitchInstTy, ConstantIntTy, BasicBlockTy >::SI
protected

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