LLVM 17.0.0git
Public Member Functions | Friends | List of all members
llvm::sroa::Partition Class Reference

A partition of the slices. More...

Public Member Functions

uint64_t beginOffset () const
 The start offset of this partition.
 
uint64_t endOffset () const
 The end offset of this partition.
 
uint64_t size () const
 The size of the partition.
 
bool empty () const
 Test whether this partition contains no slices, and merely spans a region occupied by split slices.
 
ArrayRef< Slice * > splitSliceTails () const
 Get the sequence of split slice tails.
 
Iterate slices that start within the partition.

These may be splittable or unsplittable.

They have a begin offset >= the partition begin offset.

iterator begin () const
 
iterator end () const
 

Friends

class AllocaSlices
 
class AllocaSlices::partition_iterator
 

Detailed 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.

Definition at line 528 of file SROA.cpp.

Member Function Documentation

◆ begin()

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

Definition at line 581 of file SROA.cpp.

References SI.

◆ beginOffset()

uint64_t llvm::sroa::Partition::beginOffset ( ) const
inline

The start offset of this partition.

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

Definition at line 553 of file SROA.cpp.

◆ empty()

bool llvm::sroa::Partition::empty ( ) const
inline

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

Definition at line 570 of file SROA.cpp.

References SI.

◆ end()

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

Definition at line 582 of file SROA.cpp.

◆ endOffset()

uint64_t llvm::sroa::Partition::endOffset ( ) const
inline

The end offset of this partition.

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

Definition at line 558 of file SROA.cpp.

◆ size()

uint64_t llvm::sroa::Partition::size ( ) const
inline

The size of the partition.

Note that this can never be zero.

Definition at line 563 of file SROA.cpp.

References assert().

◆ splitSliceTails()

ArrayRef< Slice * > llvm::sroa::Partition::splitSliceTails ( ) const
inline

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.

Definition at line 590 of file SROA.cpp.

Friends And Related Function Documentation

◆ AllocaSlices

friend class AllocaSlices
friend

Definition at line 530 of file SROA.cpp.

◆ AllocaSlices::partition_iterator

friend class AllocaSlices::partition_iterator
friend

Definition at line 531 of file SROA.cpp.


The documentation for this class was generated from the following file: