Compute a sequence of EVTs for the non-aggregate parts of an LLVM IR type.
Declared in <llvm/CodeGen/Analysis.h>
void
ComputeValueVTs(
TargetLowering const& TLI,
DataLayout const& DL,
Type* Ty,
SmallVectorImpl<EVT>& ValueVTs,
SmallVectorImpl<EVT>* MemVTs,
SmallVectorImpl<uint64_t>* FixedOffsets,
uint64_t StartingOffset);
This overload records fixed (byte) offsets instead of TypeSize offsets.
| Name | Description |
|---|---|
| TLI | Target lowering used to map IR types to EVTs. |
| DL | Data layout used to determine type sizes and offsets. |
| Ty | LLVM IR type to decompose. |
| ValueVTs | Filled with the EVTs of the non-aggregate parts of Ty. |
| MemVTs | Vector filled with the corresponding memory EVTs. |
| FixedOffsets | Optional vector filled with the fixed in-memory offset of each value. |
| StartingOffset | Base offset applied to each recorded offset. |