klee
KModule.cpp File Reference
#include "Passes.h"
#include "klee/Config/Version.h"
#include "klee/Core/Interpreter.h"
#include "klee/Support/OptionCategories.h"
#include "klee/Module/Cell.h"
#include "klee/Module/InstructionInfoTable.h"
#include "klee/Module/KInstruction.h"
#include "klee/Module/KModule.h"
#include "klee/Support/Debug.h"
#include "klee/Support/ErrorHandling.h"
#include "klee/Support/ModuleUtil.h"
#include "llvm/Bitcode/BitcodeWriter.h"
#include "llvm/IR/DataLayout.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/LegacyPassManager.h"
#include "llvm/IR/LLVMContext.h"
#include "llvm/IR/Module.h"
#include "llvm/IR/ValueSymbolTable.h"
#include "llvm/IR/Verifier.h"
#include "llvm/Linker/Linker.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Path.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/raw_os_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include "llvm/Transforms/Scalar/Scalarizer.h"
#include "llvm/Transforms/Utils/Cloning.h"
#include "llvm/Transforms/Utils.h"
#include <sstream>
Include dependency graph for KModule.cpp:

Go to the source code of this file.

Namespaces

namespace  klee
 
namespace  llvm
 

Macros

#define DEBUG_TYPE   "KModule"
 

Functions

cl::OptionCategory klee::ModuleCat ("Module-related options", "These options affect the compile-time processing of the code.")
 
void llvm::Optimize (Module *, llvm::ArrayRef< const char * > preservedFunctions)
 
static Function * getStubFunctionForCtorList (Module *m, GlobalVariable *gv, std::string name)
 
static void injectStaticConstructorsAndDestructors (Module *m, llvm::StringRef entryFunction)
 
static int getOperandNum (Value *v, std::map< Instruction *, unsigned > &registerMap, KModule *km, KInstruction *ki)
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "KModule"

Definition at line 10 of file KModule.cpp.

Function Documentation

◆ getOperandNum()

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

Definition at line 406 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:

◆ getStubFunctionForCtorList()

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

Definition at line 117 of file KModule.cpp.

Referenced by injectStaticConstructorsAndDestructors().

Here is the caller graph for this function:

◆ injectStaticConstructorsAndDestructors()

static void injectStaticConstructorsAndDestructors ( Module *  m,
llvm::StringRef  entryFunction 
)
static

Definition at line 169 of file KModule.cpp.

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

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

Here is the call graph for this function:
Here is the caller graph for this function: