LLVM  14.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. More...
 
uint64_t endOffset () const
 The end offset of this partition. More...
 
uint64_t size () const
 The size of the partition. More...
 
bool empty () const
 Test whether this partition contains no slices, and merely spans a region occupied by split slices. More...
 
ArrayRef< Slice * > splitSliceTails () const
 Get the sequence of split slice tails. More...
 
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 353 of file SROA.cpp.

Member Function Documentation

◆ begin()

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

Definition at line 406 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 378 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 395 of file SROA.cpp.

References SI.

◆ end()

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

Definition at line 407 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 383 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 388 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 415 of file SROA.cpp.

Friends And Related Function Documentation

◆ AllocaSlices

friend class AllocaSlices
friend

Definition at line 355 of file SROA.cpp.

◆ AllocaSlices::partition_iterator

friend class AllocaSlices::partition_iterator
friend

Definition at line 356 of file SROA.cpp.


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