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

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

Parameters

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.

Offsets

Optional vector filled with the in‐memory offset of each value.

Created with MrDocs