class Partition

Declaration

class Partition { /* full declaration omitted */ };

Description

A partition of the slices. An ephemeral representation for a range of slices which can be viewed as a partition of the alloca. This range represents a span of the alloca's memory which cannot be split, and provides access to all of the slices overlapping some part of the partition. Objects of this type are produced by traversing the alloca's slices, but are only ephemeral and not persistent.

Declared at: llvm/lib/Transforms/Scalar/SROA.cpp:356

Method Overview

  • public llvm::sroa::Partition::iterator begin() const
  • public uint64_t beginOffset() const
  • public bool empty() const
  • public llvm::sroa::Partition::iterator end() const
  • public uint64_t endOffset() const
  • public uint64_t size() const
  • public ArrayRef<(anonymous namespace)::Slice *> splitSliceTails() const

Methods

llvm::sroa::Partition::iterator begin() const

Description

These may be splittable or unsplittable. They have a begin offset >= the partition begin offset. @ {

Declared at: llvm/lib/Transforms/Scalar/SROA.cpp:409

uint64_t beginOffset() const

Description

The start offset of this partition. All of the contained slices start at or after this offset.

Declared at: llvm/lib/Transforms/Scalar/SROA.cpp:381

bool empty() const

Description

Test whether this partition contains no slices, and merely spans a region occupied by split slices.

Declared at: llvm/lib/Transforms/Scalar/SROA.cpp:398

llvm::sroa::Partition::iterator end() const

Declared at: llvm/lib/Transforms/Scalar/SROA.cpp:410

uint64_t endOffset() const

Description

The end offset of this partition. All of the contained slices end at or before this offset.

Declared at: llvm/lib/Transforms/Scalar/SROA.cpp:386

uint64_t size() const

Description

The size of the partition. Note that this can never be zero.

Declared at: llvm/lib/Transforms/Scalar/SROA.cpp:391

ArrayRef<(anonymous namespace)::Slice*>
splitSliceTails() const

Description

Get the sequence of split slice tails. These tails are of slices which start before this partition but are split and overlap into the partition. We accumulate these while forming partitions.

Declared at: llvm/lib/Transforms/Scalar/SROA.cpp:418