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
This commit is contained in:
Devang Patel
2008-05-14 20:01:01 +00:00
parent d64a78c9ed
commit ef3682a4fb
5 changed files with 62 additions and 23 deletions

View File

@@ -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);
//===----------------------------------------------------------------------===//