summaryrefslogtreecommitdiff
path: root/include/llvm/Transforms/IPO.h
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
commitef3682a4fbfc3ff1a593adf95740ad8ab0d1d487 (patch)
tree5d30145d3c6bbb3a435dbb7f95e6f6d4b8cd7f16 /include/llvm/Transforms/IPO.h
parentd64a78c9ed62f2615ca1ea524d1f1942f798c8de (diff)
downloadllvm-ef3682a4fbfc3ff1a593adf95740ad8ab0d1d487.tar.gz
llvm-ef3682a4fbfc3ff1a593adf95740ad8ab0d1d487.tar.bz2
llvm-ef3682a4fbfc3ff1a593adf95740ad8ab0d1d487.tar.xz
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/llvm/Transforms/IPO.h')
-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 7d98dfe604..71b3fa7b08 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);
//===----------------------------------------------------------------------===//