aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDevang Patel <dpatel@apple.com>2008-05-14 20:01:01 +0000
committerDevang Patel <dpatel@apple.com>2008-05-14 20:01:01 +0000
commit23c4b31c100190589bf59639be592a47f91ee5c9 (patch)
tree5d30145d3c6bbb3a435dbb7f95e6f6d4b8cd7f16 /include
parentf1e8e550d891964106ca26667cb83d38d17fb1ae (diff)
downloadexternal_llvm-23c4b31c100190589bf59639be592a47f91ee5c9.zip
external_llvm-23c4b31c100190589bf59639be592a47f91ee5c9.tar.gz
external_llvm-23c4b31c100190589bf59639be592a47f91ee5c9.tar.bz2
Simplify internalize pass. Add test case.
Patch by Matthijs Kooijman! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@51114 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include')
-rw-r--r--include/llvm/Transforms/IPO.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/include/llvm/Transforms/IPO.h b/include/llvm/Transforms/IPO.h
index 7d98dfe..71b3fa7 100644
--- a/include/llvm/Transforms/IPO.h
+++ b/include/llvm/Transforms/IPO.h
@@ -102,12 +102,17 @@ Pass *createPruneEHPass();
//===----------------------------------------------------------------------===//
/// createInternalizePass - This pass loops over all of the functions in the
-/// input module, looking for a main function. If a list of symbols is
-/// specified with the -internalize-public-api-* command line options, those
-/// symbols are internalized. Otherwise if InternalizeEverything is set and
-/// the main function is found, all other globals are marked as internal.
+/// input module, internalizing all globals (functions and variables) not part
+/// of the api. If a list of symbols is specified with the
+/// -internalize-public-api-* command line options, those symbols are not
+/// internalized and all others are. Otherwise if AllButMain is set and the
+/// main function is found, all other globals are marked as internal.
///
ModulePass *createInternalizePass(bool InternalizeEverything);
+
+/// createInternalizePass - This pass loops over all of the functions in the
+/// input module, internalizing all globals (functions and variables) not in the
+/// given exportList.
ModulePass *createInternalizePass(const std::vector<const char *> &exportList);
//===----------------------------------------------------------------------===//