LTO: add API to set strategy for -internalize
[oota-llvm.git] / include / llvm / Transforms / IPO.h
index 7f51c516b9b5070c5550af1aae3e09bd3e754224..11a0acfc6a4c64b551b63637371bb0a448d16f65 100644 (file)
@@ -108,14 +108,17 @@ Pass *createPruneEHPass();
 ////
 /// The symbols in \p ExportList are never internalized.
 ///
+/// When OnlyHidden=true, only symbols with hidden visibility are internalized.
+///
 /// The symbol in DSOList are internalized if it is safe to drop them from
 /// the symbol table.
 ///
 /// Note that commandline options that are used with the above function are not
 /// used now!
-ModulePass *createInternalizePass(ArrayRef<const char *> ExportList);
+ModulePass *createInternalizePass(ArrayRef<const char *> ExportList,
+                                  bool OnlyHidden = false);
 /// createInternalizePass - Same as above, but with an empty exportList.
-ModulePass *createInternalizePass();
+ModulePass *createInternalizePass(bool OnlyHidden = false);
 
 //===----------------------------------------------------------------------===//
 /// createDeadArgEliminationPass - This pass removes arguments from functions