14 #ifndef LLVM_LIB_BITCODE_READER_VALUELIST_H 15 #define LLVM_LIB_BITCODE_READER_VALUELIST_H 30 std::vector<WeakTrackingVH> ValuePtrs;
39 using ResolveConstantsTy = std::vector<std::pair<Constant *, unsigned>>;
40 ResolveConstantsTy ResolveConstants;
47 assert(ResolveConstants.empty() &&
"Constants not resolved?");
51 unsigned size()
const {
return ValuePtrs.size(); }
52 void resize(
unsigned N) { ValuePtrs.resize(N); }
56 assert(ResolveConstants.empty() &&
"Constants not resolved?");
61 assert(i < ValuePtrs.size());
67 bool empty()
const {
return ValuePtrs.empty(); }
70 assert(N <=
size() &&
"Invalid shrinkTo request!");
86 #endif // LLVM_LIB_BITCODE_READER_VALUELIST_H
Type
MessagePack types as defined in the standard, with the exception of Integer being divided into a sign...
This class represents lattice values for constants.
BitcodeReaderValueList(LLVMContext &C)
void shrinkTo(unsigned N)
Value * getValueFwdRef(unsigned Idx, Type *Ty)
Value * operator[](unsigned i) const
void assignValue(Value *V, unsigned Idx)
The instances of the Type class are immutable: once they are created, they are never changed...
This is an important class for using LLVM in a threaded context.
This is an important base class in LLVM.
void resolveConstantForwardRefs()
Once all constants are read, this method bulk resolves any forward references.
Constant * getConstantFwdRef(unsigned Idx, Type *Ty)
~BitcodeReaderValueList()
assert(ImpDefSCC.getReg()==AMDGPU::SCC &&ImpDefSCC.isDef())
LLVM Value Representation.