diff options
author | dim <dim@FreeBSD.org> | 2015-06-21 13:59:01 +0000 |
---|---|---|
committer | dim <dim@FreeBSD.org> | 2015-06-21 13:59:01 +0000 |
commit | 60174f118de85cbcad51deb11c650f22c9be2235 (patch) | |
tree | bc48361fe2cd1ca5f93ac01b38b183774468fc79 /lib/ExecutionEngine/ExecutionEngine.cpp | |
parent | 9b27354f6f3e9086d5f7abbc373b617209fc35b2 (diff) | |
download | FreeBSD-src-60174f118de85cbcad51deb11c650f22c9be2235.zip FreeBSD-src-60174f118de85cbcad51deb11c650f22c9be2235.tar.gz |
Vendor import of llvm trunk r240225:
https://llvm.org/svn/llvm-project/llvm/trunk@240225
Diffstat (limited to 'lib/ExecutionEngine/ExecutionEngine.cpp')
-rw-r--r-- | lib/ExecutionEngine/ExecutionEngine.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/lib/ExecutionEngine/ExecutionEngine.cpp b/lib/ExecutionEngine/ExecutionEngine.cpp index 9e71b10..94e8090 100644 --- a/lib/ExecutionEngine/ExecutionEngine.cpp +++ b/lib/ExecutionEngine/ExecutionEngine.cpp @@ -153,6 +153,14 @@ Function *ExecutionEngine::FindFunctionNamed(const char *FnName) { return nullptr; } +GlobalVariable *ExecutionEngine::FindGlobalVariableNamed(const char *Name, bool AllowInternal) { + for (unsigned i = 0, e = Modules.size(); i != e; ++i) { + GlobalVariable *GV = Modules[i]->getGlobalVariable(Name,AllowInternal); + if (GV && !GV->isDeclaration()) + return GV; + } + return nullptr; +} uint64_t ExecutionEngineState::RemoveMapping(StringRef Name) { GlobalAddressMapTy::iterator I = GlobalAddressMap.find(Name); @@ -376,7 +384,7 @@ void ExecutionEngine::runStaticConstructorsDestructors(Module &module, // Execute the ctor/dtor function! if (Function *F = dyn_cast<Function>(FP)) - runFunction(F, std::vector<GenericValue>()); + runFunction(F, None); // FIXME: It is marginally lame that we just do nothing here if we see an // entry we don't recognize. It might not be unreasonable for the verifier |