LLVM  7.0.0svn
Classes | Namespaces | Typedefs | Enumerations | Functions
ValueMapper.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/IR/ValueMap.h"
Include dependency graph for ValueMapper.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  llvm::ValueMapTypeRemapper
 This is a class that can be implemented by clients to remap types when cloning constants and instructions. More...
 
class  llvm::ValueMaterializer
 This is a class that can be implemented by clients to materialize Values on demand. More...
 
class  llvm::ValueMapper
 Context for (re-)mapping values (and metadata). More...
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Typedefs

using llvm::ValueToValueMapTy = ValueMap< const Value *, WeakTrackingVH >
 

Enumerations

enum  llvm::RemapFlags {
  llvm::RF_None = 0, llvm::RF_NoModuleLevelChanges = 1, llvm::RF_IgnoreMissingLocals = 2, llvm::RF_MoveDistinctMDs = 4,
  llvm::RF_NullMapMissingGlobalValues = 8
}
 These are flags that the value mapping APIs allow. More...
 

Functions

RemapFlags llvm::operator| (RemapFlags LHS, RemapFlags RHS)
 
Value * llvm::MapValue (const Value *V, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr)
 Look up or compute a value in the value map. More...
 
Metadata * llvm::MapMetadata (const Metadata *MD, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr)
 Lookup or compute a mapping for a piece of metadata. More...
 
MDNode * llvm::MapMetadata (const MDNode *MD, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr)
 Version of MapMetadata with type safety for MDNode. More...
 
void llvm::RemapInstruction (Instruction *I, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr)
 Convert the instruction operands from referencing the current values into those specified by VM. More...
 
void llvm::RemapFunction (Function &F, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr)
 Remap the operands, metadata, arguments, and instructions of a function. More...
 
Constant * llvm::MapValue (const Constant *V, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr)
 Version of MapValue with type safety for Constant. More...