klee::LowerSwitchPass Class Reference

#include <Passes.h>

List of all members.

Classes

struct  SwitchCase

Public Types

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

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 102 of file Passes.h.


Member Typedef Documentation

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

Definition at line 119 of file Passes.h.

Definition at line 118 of file Passes.h.


Constructor & Destructor Documentation

klee::LowerSwitchPass::LowerSwitchPass (  )  [inline]

Definition at line 105 of file Passes.h.


Member Function Documentation

void klee::LowerSwitchPass::processSwitchInst ( llvm::SwitchInst *  SI  )  [private]

virtual bool klee::LowerSwitchPass::runOnFunction ( llvm::Function &  F  )  [virtual]

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


Member Data Documentation

char klee::LowerSwitchPass::ID = 0 [static]

Definition at line 104 of file Passes.h.


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

Generated on Fri Jun 5 03:32:44 2009 for klee by  doxygen 1.5.8