Polly 22.0.0git
polly::PollyPassOptions Class Reference

Options for the Polly pass. More...

#include <PhaseManager.h>

Public Member Functions

bool isPhaseEnabled (PassPhase Phase) const
void setPhaseEnabled (PassPhase Phase, bool Enabled=true)
void enableEnd2End ()
 Enable all phases that are necessary for a roundtrip from LLVM-IR back to LLVM-IR.
void enableDefaultOpts ()
 Enabled the default optimization phases.
void disableAfter (PassPhase Phase)
 Disable all phases following Phase.
llvm::Error checkConsistency () const
 Check whether the options are coherent relative to each other.

Public Attributes

bool ViewAll = false
std::string ViewFilter
Dependences::AnalysisLevel PrintDepsAnalysisLevel = Dependences::AL_Statement

Private Attributes

llvm::Bitset< static_cast< size_t >(PassPhase::PassPhaseLast) - static_cast< size_t >(PassPhase::PassPhaseFirst)+1 > PhaseEnabled
 For each Polly phase, whether it should be executed.

Detailed Description

Options for the Polly pass.

Definition at line 74 of file PhaseManager.h.

Member Function Documentation

◆ checkConsistency()

Error PollyPassOptions::checkConsistency ( ) const

◆ disableAfter()

void PollyPassOptions::disableAfter ( PassPhase Phase)

Disable all phases following Phase.

Useful when regression testing that particular phase and everything after it is not of interest.

Definition at line 387 of file PhaseManager.cpp.

References assert, polly::None, polly::PassPhaseLast, and setPhaseEnabled().

Referenced by polly::parsePollyOptions().

◆ enableDefaultOpts()

void PollyPassOptions::enableDefaultOpts ( )

Enabled the default optimization phases.

Definition at line 377 of file PhaseManager.cpp.

References polly::DeLICM, polly::Optimization, polly::Optree, polly::Prepare, polly::PruneUnprofitable, setPhaseEnabled(), polly::Simplify0, and polly::Simplify1.

Referenced by polly::parsePollyOptions().

◆ enableEnd2End()

void PollyPassOptions::enableEnd2End ( )

Enable all phases that are necessary for a roundtrip from LLVM-IR back to LLVM-IR.

Definition at line 369 of file PhaseManager.cpp.

References polly::AstGen, polly::CodeGen, polly::Dependences, polly::Detection, polly::ScopInfo, and setPhaseEnabled().

Referenced by polly::parsePollyOptions().

◆ isPhaseEnabled()

bool polly::PollyPassOptions::isPhaseEnabled ( PassPhase Phase) const
inline

Definition at line 86 of file PhaseManager.h.

References assert, polly::None, polly::PassPhaseFirst, and PhaseEnabled.

Referenced by checkConsistency().

◆ setPhaseEnabled()

void polly::PollyPassOptions::setPhaseEnabled ( PassPhase Phase,
bool Enabled = true )
inline

Member Data Documentation

◆ PhaseEnabled

llvm::Bitset<static_cast<size_t>(PassPhase::PassPhaseLast) - static_cast<size_t>(PassPhase::PassPhaseFirst) + 1> polly::PollyPassOptions::PhaseEnabled
private

For each Polly phase, whether it should be executed.

Since PassPhase::None is unused, bit positions are shifted by one.

Definition at line 79 of file PhaseManager.h.

Referenced by isPhaseEnabled(), and setPhaseEnabled().

◆ PrintDepsAnalysisLevel

Dependences::AnalysisLevel polly::PollyPassOptions::PrintDepsAnalysisLevel = Dependences::AL_Statement

Definition at line 84 of file PhaseManager.h.

Referenced by polly::parsePollyOptions().

◆ ViewAll

bool polly::PollyPassOptions::ViewAll = false

Definition at line 82 of file PhaseManager.h.

Referenced by polly::parsePollyOptions().

◆ ViewFilter

std::string polly::PollyPassOptions::ViewFilter

Definition at line 83 of file PhaseManager.h.

Referenced by polly::parsePollyOptions().


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