LLVM: llvm::dxil::ValueEnumerator Class Reference (original) (raw)

#include "[Target/DirectX/DXILWriter/DXILValueEnumerator.h](DXILValueEnumerator%5F8h%5Fsource.html)"

Public Types
using TypeList = std::vector<Type *>
using ValueList = std::vector<std::pair<const Value *, unsigned>>
using IndexAndAttrSet = std::pair<unsigned, AttributeSet>
Attribute groups as encoded in bitcode are almost AttributeSets, but they include the AttributeList index, so we have to track that in our map.
Public Member Functions
ValueEnumerator (const Module &M, Type *PrefixType)
ValueEnumerator (const ValueEnumerator &)=delete
ValueEnumerator & operator= (const ValueEnumerator &)=delete
void dump () const
void print (raw_ostream &OS, const ValueMapType &Map, const char *Name) const
void print (raw_ostream &OS, const MetadataMapType &Map, const char *Name) const
unsigned getValueID (const Value *V) const
unsigned getMetadataID (const Metadata *MD) const
unsigned getMetadataOrNullID (const Metadata *MD) const
unsigned numMDs () const
unsigned getTypeID (Type *T) const
unsigned getInstructionID (const Instruction *I) const
void setInstructionID (const Instruction *I)
unsigned getAttributeListID (AttributeList PAL) const
unsigned getAttributeGroupID (IndexAndAttrSet Group) const
void getFunctionConstantRange (unsigned &Start, unsigned &End) const
getFunctionConstantRange - Return the range of values that corresponds to function-local constants.
const ValueList & getValues () const
bool hasMDs () const
Check whether the current block has any metadata to emit.
ArrayRef< const Metadata * > getMDStrings () const
Get the MDString metadata for this block.
ArrayRef< const Metadata * > getNonMDStrings () const
Get the non-MDString metadata for this block.
const TypeList & getTypes () const
const std::vector< const BasicBlock * > & getBasicBlocks () const
const std::vector< AttributeList > & getAttributeLists () const
const std::vector< IndexAndAttrSet > & getAttributeGroups () const
const ComdatSetType & getComdats () const
unsigned getComdatID (const Comdat *C) const
unsigned getGlobalBasicBlockID (const BasicBlock *BB) const
getGlobalBasicBlockID - This returns the function-specific ID for the specified basic block.
void incorporateFunction (const Function &F)
incorporateFunction/purgeFunction - If you'd like to deal with a function, use these two methods to get its data into the ValueEnumerator!
void purgeFunction ()
uint64_t computeBitsRequiredForTypeIndices () const
void EnumerateType (Type *T)

Definition at line 46 of file DXILValueEnumerator.h.

IndexAndAttrSet

Attribute groups as encoded in bitcode are almost AttributeSets, but they include the AttributeList index, so we have to track that in our map.

Definition at line 55 of file DXILValueEnumerator.h.

TypeList

ValueList

Definition at line 360 of file DXILValueEnumerator.cpp.

References A(), Call, llvm::dyn_cast(), EnumerateType(), F, GEP, llvm::TypedPointerType::get(), llvm::Type::getMetadataTy(), I, llvm::isa(), predictUseListOrder(), and UseListOrders.

Referenced by operator=(), and ValueEnumerator().

ValueEnumerator() [2/2]

computeBitsRequiredForTypeIndices()

uint64_t llvm::dxil::ValueEnumerator::computeBitsRequiredForTypeIndices ( ) const

dump()

void llvm::dxil::ValueEnumerator::dump ( ) const

EnumerateType()

void llvm::dxil::ValueEnumerator::EnumerateType ( Type * T )

getAttributeGroupID()

unsigned llvm::dxil::ValueEnumerator::getAttributeGroupID ( IndexAndAttrSet Group) const inline

getAttributeGroups()

const std::vector< IndexAndAttrSet > & llvm::dxil::ValueEnumerator::getAttributeGroups ( ) const inline

getAttributeListID()

unsigned llvm::dxil::ValueEnumerator::getAttributeListID ( AttributeList PAL) const inline

getAttributeLists()

const std::vector< AttributeList > & llvm::dxil::ValueEnumerator::getAttributeLists ( ) const inline

getBasicBlocks()

const std::vector< const BasicBlock * > & llvm::dxil::ValueEnumerator::getBasicBlocks ( ) const inline

getComdatID()

getComdats()

getFunctionConstantRange()

void llvm::dxil::ValueEnumerator::getFunctionConstantRange ( unsigned & Start, unsigned & End ) const inline

getFunctionConstantRange - Return the range of values that corresponds to function-local constants.

Definition at line 192 of file DXILValueEnumerator.h.

getGlobalBasicBlockID()

getGlobalBasicBlockID - This returns the function-specific ID for the specified basic block.

This is relatively expensive information, so it should only be used by rare constructs such as address-of-label.

getInstructionID()

getMDStrings()

getMetadataID()

getMetadataOrNullID()

getNonMDStrings()

getTypeID()

unsigned llvm::dxil::ValueEnumerator::getTypeID ( Type * T) const inline

getTypes()

const TypeList & llvm::dxil::ValueEnumerator::getTypes ( ) const inline

getValueID()

getValues()

const ValueList & llvm::dxil::ValueEnumerator::getValues ( ) const inline

hasMDs()

bool llvm::dxil::ValueEnumerator::hasMDs ( ) const inline

incorporateFunction()

void llvm::dxil::ValueEnumerator::incorporateFunction ( const Function & F )

incorporateFunction/purgeFunction - If you'd like to deal with a function, use these two methods to get its data into the ValueEnumerator!

References F.

numMDs()

unsigned llvm::dxil::ValueEnumerator::numMDs ( ) const inline

operator=()

print() [1/2]

print() [2/2]

purgeFunction()

void llvm::dxil::ValueEnumerator::purgeFunction ( )

setInstructionID()

UseListOrders


The documentation for this class was generated from the following files: