llvm::ComputeValueVTs

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

Synopsis

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);

Description

This overload records fixed (byte) offsets instead of TypeSize offsets.

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.