diff options
| author | Devang Patel <dpatel@apple.com> | 2006-07-20 17:48:05 +0000 |
|---|---|---|
| committer | Devang Patel <dpatel@apple.com> | 2006-07-20 17:48:05 +0000 |
| commit | 839d9260f0136f67fea88479da89a675a23851be (patch) | |
| tree | 35b7715fe4f1da64375d4a5d121bc2a0d976d0b5 /llvm/lib/Transforms/IPO | |
| parent | ec104a2b41ab56a748ea26fe46cffae8fa203d5d (diff) | |
| download | bcm5719-llvm-839d9260f0136f67fea88479da89a675a23851be.tar.gz bcm5719-llvm-839d9260f0136f67fea88479da89a675a23851be.zip | |
Add new constructor to accept vector of exported names while creating
InternalizePass.
llvm-svn: 29222
Diffstat (limited to 'llvm/lib/Transforms/IPO')
| -rw-r--r-- | llvm/lib/Transforms/IPO/Internalize.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Transforms/IPO/Internalize.cpp b/llvm/lib/Transforms/IPO/Internalize.cpp index 4bfc5a2186b..0874ce5a018 100644 --- a/llvm/lib/Transforms/IPO/Internalize.cpp +++ b/llvm/lib/Transforms/IPO/Internalize.cpp @@ -45,6 +45,7 @@ namespace { bool DontInternalize; public: InternalizePass(bool InternalizeEverything = true); + InternalizePass(const std::vector <const char *>& exportList); void LoadFile(const char *Filename); virtual bool runOnModule(Module &M); }; @@ -62,6 +63,13 @@ InternalizePass::InternalizePass(bool InternalizeEverything) DontInternalize = true; } +InternalizePass::InternalizePass(const std::vector<const char *>&exportList) { + for(std::vector<const char *>::const_iterator itr = exportList.begin(); + itr != exportList.end(); itr++) { + ExternalNames.insert(*itr); + } +} + void InternalizePass::LoadFile(const char *Filename) { // Load the APIFile... std::ifstream In(Filename); @@ -151,3 +159,7 @@ bool InternalizePass::runOnModule(Module &M) { ModulePass *llvm::createInternalizePass(bool InternalizeEverything) { return new InternalizePass(InternalizeEverything); } + +ModulePass *llvm::createInternalizePass(const std::vector <const char *> &exportList) { + return new InternalizePass(exportList); +} |

