33 #ifndef LLVM_TRANSFORMS_UTILS_SYMBOLREWRITER_H
34 #define LLVM_TRANSFORMS_UTILS_SYMBOLREWRITER_H
50 namespace SymbolRewriter {
99 bool parseRewriteFunctionDescriptor(
yaml::Stream &Stream,
103 bool parseRewriteGlobalVariableDescriptor(
yaml::Stream &Stream,
120 Descriptors.splice(Descriptors.begin(), DL);
129 void loadAndParseMapFiles();
135 #endif //LLVM_TRANSFORMS_UTILS_SYMBOLREWRITER_H
A Module instance is used to store all the information related to an LLVM module. ...
function - descriptor rewrites a function
RewriteDescriptor(Type T)
The basic entity representing a rewrite operation.
std::list< std::unique_ptr< RewriteDescriptor > > RewriteDescriptorList
bool parse(const std::string &MapFile, RewriteDescriptorList *Descriptors)
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 instances of the Type class are immutable: once they are created, they are never changed...
virtual ~RewriteDescriptor()
PreservedAnalyses run(Module &M, ModuleAnalysisManager &AM)
A scalar node is an opaque datum that can be presented as a series of zero or more Unicode scalar val...
global variable - descriptor rewrites a global variable
Module.h This file contains the declarations for the Module class.
This class represents a YAML stream potentially containing multiple documents.
ModulePass * createRewriteSymbolsPass()
virtual bool performOnModule(Module &M)=0
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.
This header defines various interfaces for pass management in LLVM.