LLVM 17.0.0git
Classes | Namespaces | Enumerations | Functions
ValueMapper.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/IR/ValueMap.h"

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

namespace  llvm
 This is an optimization pass for GlobalISel generic memory operations.
 

Enumerations

enum  llvm::RemapFlags {
  llvm::RF_None = 0 , llvm::RF_NoModuleLevelChanges = 1 , llvm::RF_IgnoreMissingLocals = 2 , llvm::RF_ReuseAndMutateDistinctMDs = 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.
 
Metadatallvm::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.
 
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.
 
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.
 
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.
 
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.