25 static struct RegisterInterp {
53 initializeExecutionEngine();
54 initializeExternalFunctions();
65 while (!AtExitHandlers.empty()) {
66 callFunction(AtExitHandlers.back(), std::vector<GenericValue>());
67 AtExitHandlers.pop_back();
76 const std::vector<GenericValue> &ArgValues) {
77 assert (F &&
"Function *F was null at entry to run()");
86 std::vector<GenericValue> ActualArgs;
88 for (
unsigned i = 0; i < ArgCount; ++i)
89 ActualArgs.push_back(ArgValues[i]);
virtual GenericValue runFunction(Function *F, const std::vector< GenericValue > &ArgValues)
The main container class for the LLVM Intermediate Representation.
unsigned getNumParams() const
void setDataLayout(const DataLayout *td)
void callFunction(Function *F, const std::vector< GenericValue > &ArgVals)
bool MaterializeAllPermanently(std::string *ErrInfo=0)
Abstract interface for implementation execution of LLVM modules, designed to support both interpreter...
static ExecutionEngine * create(Module *M, std::string *ErrorStr=0)
void LLVMLinkInInterpreter()
FunctionType * getFunctionType() const
INITIALIZE_PASS(GlobalMerge,"global-merge","Global Merge", false, false) bool GlobalMerge const DataLayout * TD