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
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
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
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
llvm::sroa::Partition::iterator end() const
Declared at: llvm/lib/Transforms/Scalar/SROA.cpp:410
¶uint64_t endOffset() const
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
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
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