klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
KModule.cpp File Reference
#include "../Core/Common.h"
#include "klee/Internal/Module/KModule.h"
#include "Passes.h"
#include "klee/Config/Version.h"
#include "klee/Interpreter.h"
#include "klee/Internal/Module/Cell.h"
#include "klee/Internal/Module/KInstruction.h"
#include "klee/Internal/Module/InstructionInfoTable.h"
#include "klee/Internal/Support/ModuleUtil.h"
#include "llvm/Bitcode/ReaderWriter.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/PassManager.h"
#include "llvm/Support/CallSite.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/raw_os_ostream.h"
#include "llvm/Support/Path.h"
#include "llvm/Transforms/Scalar.h"
#include <llvm/Transforms/Utils/Cloning.h>
#include <llvm/Support/InstIterator.h>
#include <llvm/Support/Debug.h>
#include <sstream>
Include dependency graph for KModule.cpp:

Go to the source code of this file.

Namespaces

 llvm
 

Enumerations

enum  SwitchImplType
 

Functions

void llvm::Optimize (Module *)
 
static Function * getStubFunctionForCtorList (Module *m, GlobalVariable *gv, std::string name)
 
static void injectStaticConstructorsAndDestructors (Module *m)
 
static void inlineChecks (Module *module, const char *functionName)
 
static int getOperandNum (Value *v, std::map< Instruction *, unsigned > &registerMap, KModule *km, KInstruction *ki)
 

Enumeration Type Documentation

Definition at line 62 of file KModule.cpp.

Function Documentation

static int getOperandNum ( Value *  v,
std::map< Instruction *, unsigned > &  registerMap,
KModule km,
KInstruction ki 
)
static

Definition at line 543 of file KModule.cpp.

References klee::KModule::getConstantID().

Referenced by klee::KFunction::KFunction().

Here is the call graph for this function:

Here is the caller graph for this function:

static Function* getStubFunctionForCtorList ( Module *  m,
GlobalVariable *  gv,
std::string  name 
)
static

Definition at line 136 of file KModule.cpp.

Referenced by injectStaticConstructorsAndDestructors().

Here is the caller graph for this function:

static void injectStaticConstructorsAndDestructors ( Module *  m)
static

Definition at line 179 of file KModule.cpp.

References getStubFunctionForCtorList(), and klee::klee_error().

Referenced by klee::KModule::prepare().

Here is the call graph for this function:

Here is the caller graph for this function:

static void inlineChecks ( Module *  module,
const char *  functionName 
)
static

This function will take try to inline all calls to functionName in the module module .

It is intended that this function be used for inling calls to check functions like klee_div_zero_check()

Definition at line 232 of file KModule.cpp.

References klee::klee_message(), and klee::klee_warning().

Here is the call graph for this function: