25 static struct RegisterInterp {
36 std::string *ErrStr) {
38 if (std::error_code EC = M->materializeAllPermanently()) {
40 *ErrStr = EC.message();
57 initializeExecutionEngine();
58 initializeExternalFunctions();
69 while (!AtExitHandlers.empty()) {
71 AtExitHandlers.pop_back();
80 assert (F &&
"Function *F was null at entry to run()");
static ExecutionEngine * create(std::unique_ptr< Module > M, std::string *ErrorStr=nullptr)
Create an interpreter ExecutionEngine.
Interpreter(std::unique_ptr< Module > M)
unsigned getNumParams() const
getNumParams - Return the number of fixed parameters this function type requires. ...
Number of individual test Apply this number of consecutive mutations to each input exit after the first new interesting input is found the minimized corpus is saved into the first input directory Number of jobs to run If min(jobs, NumberOfCpuCores()/2)\" is used.") FUZZER_FLAG_INT(reload
ArrayRef< T > slice(unsigned N) const
slice(n) - Chop off the first N elements of the array.
void callFunction(Function *F, ArrayRef< GenericValue > ArgVals)
ArrayRef - Represent a constant reference to an array (0 or more elements consecutively in memory)...
void emitGlobals()
EmitGlobals - Emit all of the global variables to memory, storing their addresses into GlobalAddress...
size_t size() const
size - Get the array size.
void setDataLayout(const DataLayout *Val)
Abstract interface for implementation execution of LLVM modules, designed to support both interpreter...
Module.h This file contains the declarations for the Module class.
GenericValue runFunction(Function *F, ArrayRef< GenericValue > ArgValues) override
run - Start execution with the specified function and arguments.
void runAtExitHandlers()
runAtExitHandlers - Run any functions registered by the program's calls to atexit(3), which we intercept and store in AtExitHandlers.
void LLVMLinkInInterpreter()
FunctionType * getFunctionType() const