Polly 22.0.0git
llvm::ScopInfo Class Reference

#include <ScopInfo.h>

Public Types

using RegionToScopMapTy = MapVector<Region *, std::unique_ptr<Scop>>
using reverse_iterator = RegionToScopMapTy::reverse_iterator
using const_reverse_iterator = RegionToScopMapTy::const_reverse_iterator
using iterator = RegionToScopMapTy::iterator
using const_iterator = RegionToScopMapTy::const_iterator

Public Member Functions

 ScopInfo (const DataLayout &DL, ScopDetection &SD, ScalarEvolution &SE, LoopInfo &LI, AAResults &AA, DominatorTree &DT, AssumptionCache &AC, OptimizationRemarkEmitter &ORE)
ScopgetScop (Region *R) const
 Get the Scop object for the given Region.
void recompute ()
 Recompute the Scop-Information for a function.
bool invalidate (Function &F, const PreservedAnalyses &PA, FunctionAnalysisManager::Invalidator &Inv)
 Handle invalidation explicitly.
iterator begin ()
const_iterator begin () const
iterator end ()
const_iterator end () const
reverse_iterator rbegin ()
const_reverse_iterator rbegin () const
reverse_iterator rend ()
const_reverse_iterator rend () const
bool empty () const

Private Attributes

RegionToScopMapTy RegionToScopMap
 A map of Region to its Scop object containing Polly IR of static control part.
const DataLayout & DL
ScopDetection & SD
ScalarEvolution & SE
LoopInfo & LI
AAResults & AA
DominatorTree & DT
AssumptionCache & AC
OptimizationRemarkEmitter & ORE

Detailed Description

Definition at line 2673 of file ScopInfo.h.

Member Typedef Documentation

◆ const_iterator

using polly::ScopInfo::const_iterator = RegionToScopMapTy::const_iterator

Definition at line 2679 of file ScopInfo.h.

◆ const_reverse_iterator

using polly::ScopInfo::const_reverse_iterator = RegionToScopMapTy::const_reverse_iterator

Definition at line 2677 of file ScopInfo.h.

◆ iterator

using polly::ScopInfo::iterator = RegionToScopMapTy::iterator

Definition at line 2678 of file ScopInfo.h.

◆ RegionToScopMapTy

using polly::ScopInfo::RegionToScopMapTy = MapVector<Region *, std::unique_ptr<Scop>>

Definition at line 2675 of file ScopInfo.h.

◆ reverse_iterator

using polly::ScopInfo::reverse_iterator = RegionToScopMapTy::reverse_iterator

Definition at line 2676 of file ScopInfo.h.

Constructor & Destructor Documentation

◆ ScopInfo()

ScopInfo::ScopInfo ( const DataLayout & DL,
ScopDetection & SD,
ScalarEvolution & SE,
LoopInfo & LI,
AAResults & AA,
DominatorTree & DT,
AssumptionCache & AC,
OptimizationRemarkEmitter & ORE )

Definition at line 2580 of file ScopInfo.cpp.

Member Function Documentation

◆ begin() [1/2]

iterator polly::ScopInfo::begin ( )
inline

Definition at line 2721 of file ScopInfo.h.

◆ begin() [2/2]

const_iterator polly::ScopInfo::begin ( ) const
inline

Definition at line 2723 of file ScopInfo.h.

◆ empty()

bool polly::ScopInfo::empty ( ) const
inline

Definition at line 2729 of file ScopInfo.h.

◆ end() [1/2]

iterator polly::ScopInfo::end ( )
inline

Definition at line 2722 of file ScopInfo.h.

◆ end() [2/2]

const_iterator polly::ScopInfo::end ( ) const
inline

Definition at line 2724 of file ScopInfo.h.

◆ getScop()

Scop * polly::ScopInfo::getScop ( Region * R) const
inline

Get the Scop object for the given Region.

Returns
If the given region is the maximal region within a scop, return the scop object. If the given region is a subregion, return a nullptr. Top level region containing the entry block of a function is not considered in the scop creation.

Definition at line 2705 of file ScopInfo.h.

◆ invalidate()

bool ScopInfo::invalidate ( Function & F,
const PreservedAnalyses & PA,
FunctionAnalysisManager::Invalidator & Inv )

Handle invalidation explicitly.

Definition at line 2611 of file ScopInfo.cpp.

◆ rbegin() [1/2]

reverse_iterator polly::ScopInfo::rbegin ( )
inline

Definition at line 2725 of file ScopInfo.h.

◆ rbegin() [2/2]

const_reverse_iterator polly::ScopInfo::rbegin ( ) const
inline

Definition at line 2727 of file ScopInfo.h.

◆ recompute()

void ScopInfo::recompute ( )

Recompute the Scop-Information for a function.

This invalidates any iterators.

Create polyhedral description of scops for all the valid regions of a function.

Definition at line 2587 of file ScopInfo.cpp.

◆ rend() [1/2]

reverse_iterator polly::ScopInfo::rend ( )
inline

Definition at line 2726 of file ScopInfo.h.

◆ rend() [2/2]

const_reverse_iterator polly::ScopInfo::rend ( ) const
inline

Definition at line 2728 of file ScopInfo.h.

Member Data Documentation

◆ AA

AAResults& polly::ScopInfo::AA
private

Definition at line 2689 of file ScopInfo.h.

◆ AC

AssumptionCache& polly::ScopInfo::AC
private

Definition at line 2691 of file ScopInfo.h.

◆ DL

const DataLayout& polly::ScopInfo::DL
private

Definition at line 2685 of file ScopInfo.h.

◆ DT

DominatorTree& polly::ScopInfo::DT
private

Definition at line 2690 of file ScopInfo.h.

◆ LI

LoopInfo& polly::ScopInfo::LI
private

Definition at line 2688 of file ScopInfo.h.

◆ ORE

OptimizationRemarkEmitter& polly::ScopInfo::ORE
private

Definition at line 2692 of file ScopInfo.h.

◆ RegionToScopMap

RegionToScopMapTy polly::ScopInfo::RegionToScopMap
private

A map of Region to its Scop object containing Polly IR of static control part.

Definition at line 2684 of file ScopInfo.h.

◆ SD

ScopDetection& polly::ScopInfo::SD
private

Definition at line 2686 of file ScopInfo.h.

◆ SE

ScalarEvolution& polly::ScopInfo::SE
private

Definition at line 2687 of file ScopInfo.h.


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