32 #ifndef LLVM_TRANSFORMS_UTILS_SYMBOLREWRITER_H 33 #define LLVM_TRANSFORMS_UTILS_SYMBOLREWRITER_H 55 namespace SymbolRewriter {
83 virtual bool performOnModule(
Module &M) = 0;
102 bool parseRewriteFunctionDescriptor(
yaml::Stream &Stream,
106 bool parseRewriteGlobalVariableDescriptor(
yaml::Stream &Stream,
125 Descriptors.splice(Descriptors.begin(), DL);
134 void loadAndParseMapFiles();
141 #endif //LLVM_TRANSFORMS_UTILS_SYMBOLREWRITER_H
static bool runImpl(Function &F, TargetLibraryInfo &TLI, DominatorTree &DT)
This is the entry point for all transforms.
This class represents lattice values for constants.
A Module instance is used to store all the information related to an LLVM module. ...
RewriteDescriptor(Type T)
The basic entity representing a rewrite operation.
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.
A scalar node is an opaque datum that can be presented as a series of zero or more Unicode scalar val...
This class represents a YAML stream potentially containing multiple documents.
ModulePass * createRewriteSymbolsPass()
std::list< std::unique_ptr< RewriteDescriptor > > RewriteDescriptorList
RewriteSymbolPass(SymbolRewriter::RewriteDescriptorList &DL)
ModulePass class - This class is used to implement unstructured interprocedural optimizations and ana...
Represents a YAML map created from either a block map for a flow map.
LLVM Value Representation.
A container for analyses that lazily runs them and caches their results.
static llvm::Error parse(DataExtractor &Data, uint64_t BaseAddr, LineEntryCallback const &Callback)
This header defines various interfaces for pass management in LLVM.