21#ifndef LLVM_TRANSFORMS_IPO_INTERNALIZE_H
22#define LLVM_TRANSFORMS_IPO_INTERNALIZE_H
42 bool External =
false;
66 : MustPreserveGV(
std::
move(MustPreserveGV)) {}
78 std::function<
bool(
const GlobalValue &)> MustPreserveGV) {
This file defines the DenseMap class.
This header defines various interfaces for pass management in LLVM.
Machine Check Debug Module
StringSet - A set-like wrapper for the StringMap.
A container for analyses that lazily runs them and caches their results.
A pass that internalizes all functions and variables other than those that must be preserved accordin...
InternalizePass(std::function< bool(const GlobalValue &)> MustPreserveGV)
bool internalizeModule(Module &TheModule)
Run the internalizer on TheModule, returns true if any changes was made.
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
A Module instance is used to store all the information related to an LLVM module.
A set of analyses that are preserved following a run of a transformation pass.
StringSet - A wrapper for StringMap that provides set-like functionality.
This is an optimization pass for GlobalISel generic memory operations.
bool internalizeModule(Module &TheModule, std::function< bool(const GlobalValue &)> MustPreserveGV)
Helper function to internalize functions and variables in a Module.
OutputIt move(R &&Range, OutputIt Out)
Provide wrappers to std::move which take ranges instead of having to pass begin/end explicitly.
Implement std::hash so that hash_code can be used in STL containers.
A CRTP mix-in to automatically provide informational APIs needed for passes.