All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
klee::LowerSwitchPass Class Reference

#include <Passes.h>

Inherits FunctionPass.


struct  SwitchCase

Public Types

typedef std::vector< SwitchCaseCaseVector
typedef std::vector
< SwitchCase >::iterator 

Public Member Functions

 LowerSwitchPass ()
virtual bool runOnFunction (llvm::Function &F)

Static Public Attributes

static char ID = 0

Private Member Functions

void processSwitchInst (llvm::SwitchInst *SI)
void switchConvert (CaseItr begin, CaseItr end, llvm::Value *value, llvm::BasicBlock *origBlock, llvm::BasicBlock *defaultBlock)

Detailed Description

LowerSwitchPass - Replace all SwitchInst instructions with chained branch instructions. Note that this cannot be a BasicBlock pass because it modifies the CFG!

Definition at line 152 of file Passes.h.

Member Typedef Documentation

typedef std::vector<SwitchCase>::iterator klee::LowerSwitchPass::CaseItr

Definition at line 169 of file Passes.h.

Definition at line 168 of file Passes.h.

Constructor & Destructor Documentation

klee::LowerSwitchPass::LowerSwitchPass ( )

Definition at line 155 of file Passes.h.

Member Function Documentation

void klee::LowerSwitchPass::processSwitchInst ( llvm::SwitchInst *  SI)

Definition at line 97 of file LowerSwitch.cpp.

bool klee::LowerSwitchPass::runOnFunction ( llvm::Function &  F)

Definition at line 43 of file LowerSwitch.cpp.

void klee::LowerSwitchPass::switchConvert ( CaseItr  begin,
CaseItr  end,
llvm::Value *  value,
llvm::BasicBlock *  origBlock,
llvm::BasicBlock *  defaultBlock 

Definition at line 60 of file LowerSwitch.cpp.

Member Data Documentation

char klee::LowerSwitchPass::ID = 0

Definition at line 154 of file Passes.h.

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