llvm::ComputeValueVTs

Compute a sequence of EVTs for the non-aggregate parts of an LLVM IR type.

Synopses

Declared in <llvm/CodeGen/Analysis.h>

Compute a sequence of EVTs for the non-aggregate parts of an LLVM IR type.

void
ComputeValueVTs(
    TargetLowering const& TLI,
    DataLayout const& DL,
    Type* Ty,
    SmallVectorImpl<EVT>& ValueVTs,
    SmallVectorImpl<EVT>* MemVTs,
    SmallVectorImpl<uint64_t>* FixedOffsets,
    uint64_t StartingOffset);
» more...

Compute a sequence of EVTs for the non-aggregate parts of an LLVM IR type.

void
ComputeValueVTs(
    TargetLowering const& TLI,
    DataLayout const& DL,
    Type* Ty,
    SmallVectorImpl<EVT>& ValueVTs,
    SmallVectorImpl<EVT>* MemVTs = nullptr,
    SmallVectorImpl<TypeSize>* Offsets = nullptr,
    TypeSize StartingOffset = TypeSize::getZero());
» more...

Parameters

NameDescription
TLITarget lowering used to map IR types to EVTs.
DLData layout used to determine type sizes and offsets.
TyLLVM IR type to decompose.
ValueVTsFilled with the EVTs of the non-aggregate parts of Ty.
MemVTsVector filled with the corresponding memory EVTs.
FixedOffsetsOptional vector filled with the fixed in-memory offset of each value.
StartingOffsetBase offset applied to each recorded offset.
OffsetsOptional vector filled with the in-memory offset of each value.