LLVM 20.0.0git
|
#include "Target/DirectX/DXILWriter/DXILValueEnumerator.h"
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 Attributes | |
UseListOrderStack | UseListOrders |
Definition at line 46 of file DXILValueEnumerator.h.
using llvm::dxil::ValueEnumerator::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.
Definition at line 55 of file DXILValueEnumerator.h.
using llvm::dxil::ValueEnumerator::TypeList = std::vector<Type *> |
Definition at line 48 of file DXILValueEnumerator.h.
using llvm::dxil::ValueEnumerator::ValueList = std::vector<std::pair<const Value *, unsigned> > |
Definition at line 51 of file DXILValueEnumerator.h.
Definition at line 360 of file DXILValueEnumerator.cpp.
References A, llvm::SmallVectorImpl< T >::clear(), F, llvm::AttributeList::FunctionIndex, GEP, llvm::TypedPointerType::get(), llvm::Type::getMetadataTy(), I, predictUseListOrder(), and llvm::ValueEnumerator::UseListOrders.
|
delete |
uint64_t llvm::dxil::ValueEnumerator::computeBitsRequiredForTypeIndices | ( | ) | const |
void llvm::dxil::ValueEnumerator::dump | ( | ) | const |
void llvm::dxil::ValueEnumerator::EnumerateType | ( | Type * | T | ) |
Referenced by llvm::dxil::DXILBitcodeWriter::DXILBitcodeWriter().
|
inline |
Definition at line 182 of file DXILValueEnumerator.h.
|
inline |
Definition at line 222 of file DXILValueEnumerator.h.
|
inline |
Definition at line 174 of file DXILValueEnumerator.h.
References assert(), I, and llvm::AttributeList::isEmpty().
|
inline |
Definition at line 218 of file DXILValueEnumerator.h.
|
inline |
Definition at line 214 of file DXILValueEnumerator.h.
|
inline |
Definition at line 226 of file DXILValueEnumerator.h.
|
inline |
getFunctionConstantRange - Return the range of values that corresponds to function-local constants.
Definition at line 192 of file DXILValueEnumerator.h.
References End.
unsigned llvm::dxil::ValueEnumerator::getGlobalBasicBlockID | ( | const BasicBlock * | BB | ) | const |
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.
unsigned llvm::dxil::ValueEnumerator::getInstructionID | ( | const Instruction * | I | ) | const |
Get the MDString metadata for this block.
Definition at line 203 of file DXILValueEnumerator.h.
References llvm::ArrayRef< T >::slice().
Definition at line 153 of file DXILValueEnumerator.h.
References assert(), and getMetadataOrNullID().
Definition at line 159 of file DXILValueEnumerator.h.
Referenced by getMetadataID().
Get the non-MDString metadata for this block.
Definition at line 208 of file DXILValueEnumerator.h.
References llvm::ArrayRef< T >::slice().
Definition at line 165 of file DXILValueEnumerator.h.
References assert(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), and I.
Definition at line 212 of file DXILValueEnumerator.h.
Definition at line 197 of file DXILValueEnumerator.h.
Referenced by llvm::dxil::DXILBitcodeWriter::DXILBitcodeWriter().
|
inline |
Check whether the current block has any metadata to emit.
Definition at line 200 of file DXILValueEnumerator.h.
incorporateFunction/purgeFunction - If you'd like to deal with a function, use these two methods to get its data into the ValueEnumerator!
|
inline |
Definition at line 163 of file DXILValueEnumerator.h.
|
delete |
void llvm::dxil::ValueEnumerator::print | ( | raw_ostream & | OS, |
const MetadataMapType & | Map, | ||
const char * | Name | ||
) | const |
void llvm::dxil::ValueEnumerator::print | ( | raw_ostream & | OS, |
const ValueMapType & | Map, | ||
const char * | Name | ||
) | const |
void llvm::dxil::ValueEnumerator::purgeFunction | ( | ) |
void llvm::dxil::ValueEnumerator::setInstructionID | ( | const Instruction * | I | ) |
UseListOrderStack llvm::dxil::ValueEnumerator::UseListOrders |
Definition at line 57 of file DXILValueEnumerator.h.