summaryrefslogtreecommitdiff
path: root/lib/Transforms/IPO/Internalize.cpp
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2006-07-20 17:48:05 +0000
committerDevang Patel <dpatel@apple.com>2006-07-20 17:48:05 +0000
commit753d94a1c8fe02f64eb4f482d396712c68db1d84 (patch)
treef6d322f257940ea7edbe52e5e437e6ac81759b17 /lib/Transforms/IPO/Internalize.cpp
parentae6153f943970f3899ace54287ef4421879813e6 (diff)
downloadllvm-753d94a1c8fe02f64eb4f482d396712c68db1d84.tar.gz
llvm-753d94a1c8fe02f64eb4f482d396712c68db1d84.tar.bz2
llvm-753d94a1c8fe02f64eb4f482d396712c68db1d84.tar.xz
Add new constructor to accept vector of exported names while creating
InternalizePass. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29222 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Transforms/IPO/Internalize.cpp')
-rw-r--r--lib/Transforms/IPO/Internalize.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/Transforms/IPO/Internalize.cpp b/lib/Transforms/IPO/Internalize.cpp
index 4bfc5a2186..0874ce5a01 100644
--- a/lib/Transforms/IPO/Internalize.cpp
+++ b/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);
+}