22 #ifndef LLVM_TRANSFORMS_IPO_INTERNALIZE_H
23 #define LLVM_TRANSFORMS_IPO_INTERNALIZE_H
39 const std::function<bool(const GlobalValue &)> MustPreserveGV;
48 const std::set<const Comdat *> &ExternalComdats);
52 std::set<const Comdat *> &ExternalComdats);
57 : MustPreserveGV(std::move(MustPreserveGV)) {}
79 #endif // LLVM_TRANSFORMS_IPO_INTERNALIZE_H
InternalizePass(std::function< bool(const GlobalValue &)> MustPreserveGV)
A Module instance is used to store all the information related to an LLVM module. ...
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
A pass that internalizes all functions and variables other than those that must be preserved accordin...
A CRTP mix-in to automatically provide informational APIs needed for passes.
A set of analyses that are preserved following a run of a transformation pass.
The basic data container for the call graph of a Module of IR.
bool internalizeModule(Module &TheModule, CallGraph *CG=nullptr)
Run the internalizer on TheModule, returns true if any changes was made.
StringSet - A wrapper for StringMap that provides set-like functionality.
print Print MemDeps of function
A container for analyses that lazily runs them and caches their results.
This header defines various interfaces for pass management in LLVM.
bool internalizeModule(Module &TheModule, std::function< bool(const GlobalValue &)> MustPreserveGV, CallGraph *CG=nullptr)
Helper function to internalize functions and variables in a Module.