diff options
author | Andrea Mattavelli <andreamattavelli@users.noreply.github.com> | 2016-09-16 10:04:27 +0100 |
---|---|---|
committer | Dan Liew <delcypher@gmail.com> | 2016-09-16 10:04:27 +0100 |
commit | 1bfdbc61f2e14d8b0f2b5ca45ca8266c363cbfc5 (patch) | |
tree | a98b88133d260c70c336f51ff09e727c79ca69dc /lib/Module/Optimize.cpp | |
parent | 9baab03a58ffb8c74a2c3db40256521050f68049 (diff) | |
download | klee-1bfdbc61f2e14d8b0f2b5ca45ca8266c363cbfc5.tar.gz |
Avoid internalization of non-standard entry point (i.e. not the main function) (#455)
Diffstat (limited to 'lib/Module/Optimize.cpp')
-rw-r--r-- | lib/Module/Optimize.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/Module/Optimize.cpp b/lib/Module/Optimize.cpp index ce43cd96..3d9c8cc1 100644 --- a/lib/Module/Optimize.cpp +++ b/lib/Module/Optimize.cpp @@ -163,7 +163,7 @@ static void AddStandardCompilePasses(PassManager &PM) { /// Optimize - Perform link time optimizations. This will run the scalar /// optimizations, any loaded plugin-optimization modules, and then the /// inter-procedural optimizations if applicable. -void Optimize(Module* M) { +void Optimize(Module *M, const std::string &EntryPoint) { // Instantiate the pass manager to organize the passes. PassManager Passes; @@ -192,7 +192,8 @@ void Optimize(Module* M) { // internal. if (!DisableInternalize) { #if LLVM_VERSION_CODE >= LLVM_VERSION(3, 2) - ModulePass *pass = createInternalizePass(std::vector<const char *>(1, "main")); + ModulePass *pass = createInternalizePass( + std::vector<const char *>(1, EntryPoint.c_str())); #else ModulePass *pass = createInternalizePass(true); #endif |