Polly 23.0.0git
polly::ScopInfo Class Reference

#include <ScopInfo.h>

Public Member Functions

 ScopInfo (const DataLayout &DL, ScopDetection &SD, ScalarEvolution &SE, LoopInfo &LI, AAResults &AA, DominatorTree &DT, AssumptionCache &AC, OptimizationRemarkEmitter &ORE)
ScopgetScop (const Region *R)
 Get the Scop object for the given Region.
void invalidate ()
 Recompute the Scop-Information for a function.

Private Attributes

llvm::SmallDenseMap< const Region *, std::unique_ptr< Scop > > RegionToScopMap
 A map of Region to its Scop object containing Polly IR of static control part.
const DataLayout & DL
ScopDetectionSD
ScalarEvolution & SE
LoopInfo & LI
AAResults & AA
DominatorTree & DT
AssumptionCache & AC
OptimizationRemarkEmitter & ORE

Detailed Description

Definition at line 2672 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 2579 of file ScopInfo.cpp.

References AA, AC, DL, DT, LI, ORE, SD, and SE.

Member Function Documentation

◆ getScop()

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

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 2584 of file ScopInfo.cpp.

References AA, AC, polly::ScopDetection::countBeneficialLoops(), DL, DT, polly::ScopBuilder::getScop(), LI, ORE, RegionToScopMap, SD, SE, and updateLoopCountStatistic().

◆ invalidate()

void ScopInfo::invalidate ( )

Recompute the Scop-Information for a function.

This invalidates any iterators.

Definition at line 2605 of file ScopInfo.cpp.

References RegionToScopMap.

Member Data Documentation

◆ AA

AAResults& polly::ScopInfo::AA
private

Definition at line 2681 of file ScopInfo.h.

Referenced by getScop(), and ScopInfo().

◆ AC

AssumptionCache& polly::ScopInfo::AC
private

Definition at line 2683 of file ScopInfo.h.

Referenced by getScop(), and ScopInfo().

◆ DL

const DataLayout& polly::ScopInfo::DL
private

Definition at line 2677 of file ScopInfo.h.

Referenced by getScop(), and ScopInfo().

◆ DT

DominatorTree& polly::ScopInfo::DT
private

Definition at line 2682 of file ScopInfo.h.

Referenced by getScop(), and ScopInfo().

◆ LI

LoopInfo& polly::ScopInfo::LI
private

Definition at line 2680 of file ScopInfo.h.

Referenced by getScop(), and ScopInfo().

◆ ORE

OptimizationRemarkEmitter& polly::ScopInfo::ORE
private

Definition at line 2684 of file ScopInfo.h.

Referenced by getScop(), and ScopInfo().

◆ RegionToScopMap

llvm::SmallDenseMap<const Region *, std::unique_ptr<Scop> > polly::ScopInfo::RegionToScopMap
private

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

Definition at line 2676 of file ScopInfo.h.

Referenced by getScop(), and invalidate().

◆ SD

ScopDetection& polly::ScopInfo::SD
private

Definition at line 2678 of file ScopInfo.h.

Referenced by getScop(), and ScopInfo().

◆ SE

ScalarEvolution& polly::ScopInfo::SE
private

Definition at line 2679 of file ScopInfo.h.

Referenced by getScop(), and ScopInfo().


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