LLVM 20.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions
ValueMapper.h File Reference
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/simple_ilist.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.
 

Typedefs

using llvm::DbgRecordIterator = simple_ilist< DbgRecord >::iterator
 

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::RemapDbgRecord (Module *M, DbgRecord *DR, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr)
 Remap the Values used in the DbgRecord DR using the value map VM.
 
void llvm::RemapDbgRecordRange (Module *M, iterator_range< DbgRecordIterator > Range, ValueToValueMapTy &VM, RemapFlags Flags=RF_None, ValueMapTypeRemapper *TypeMapper=nullptr, ValueMaterializer *Materializer=nullptr)
 Remap the Values used in the DbgRecords Range using the value map 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.