33 #ifndef LLVM_TRANSFORMS_UTILS_SYMBOL_REWRITER_H
34 #define LLVM_TRANSFORMS_UTILS_SYMBOL_REWRITER_H
50 namespace SymbolRewriter {
99 bool parseRewriteFunctionDescriptor(
yaml::Stream &Stream,
103 bool parseRewriteGlobalVariableDescriptor(
yaml::Stream &Stream,
SymbolRewriter::RewriteDescriptor * createSentinel() const
A Module instance is used to store all the information related to an LLVM module. ...
static void noteHead(SymbolRewriter::RewriteDescriptor *, SymbolRewriter::RewriteDescriptor *)
ilist_half_node< SymbolRewriter::RewriteDescriptor > Sentinel
function - descriptor rewrites a function
RewriteDescriptor(Type T)
The basic entity representing a rewrite operation.
ilist_default_traits - Default template traits for intrusive list.
SymbolRewriter::RewriteDescriptor * ensureHead(SymbolRewriter::RewriteDescriptor *&) const
bool parse(const std::string &MapFile, RewriteDescriptorList *Descriptors)
The instances of the Type class are immutable: once they are created, they are never changed...
virtual ~RewriteDescriptor()
iplist - The subset of list functionality that can safely be used on nodes of polymorphic types...
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.
iplist< RewriteDescriptor > RewriteDescriptorList
ModulePass * createRewriteSymbolsPass()
void destroySentinel(SymbolRewriter::RewriteDescriptor *)
virtual bool performOnModule(Module &M)=0
ilist_node - Base class that provides next/prev services for nodes that use ilist_nextprev_traits or ...
Represents a YAML map created from either a block map for a flow map.
SymbolRewriter::RewriteDescriptor * provideInitialHead() const
static NodeTy * createSentinel()
createSentinel - create the dynamic sentinel
LLVM Value Representation.