15#ifndef POLLY_PASS_PHASEMANAGER_H_
16#define POLLY_PASS_PHASEMANAGER_H_
19#include "llvm/ADT/Bitset.h"
20#include "llvm/IR/PassManager.h"
88 unsigned BitPos =
static_cast<size_t>(Phase) -
95 unsigned BitPos =
static_cast<size_t>(Phase) -
The accumulated dependence information for a SCoP.
Options for the Polly pass.
Dependences::AnalysisLevel PrintDepsAnalysisLevel
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.
void enableDefaultOpts()
Enabled the default optimization phases.
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 disableAfter(PassPhase Phase)
Disable all phases following Phase.
bool isPhaseEnabled(PassPhase Phase) const
llvm::Error checkConsistency() const
Check whether the options are coherent relative to each other.
static cl::opt< bool > ExportJScop("polly-export", cl::desc("Export the polyhedral description of the detected Scops"), cl::Hidden, cl::cat(PollyCategory))
PassPhase parsePhase(StringRef Name)
StringRef getPhaseName(PassPhase Phase)
bool runPollyPass(Function &F, llvm::FunctionAnalysisManager &FAM, PollyPassOptions Opts)
Run Polly and its phases on F.
bool dependsOnDependenceInfo(PassPhase Phase)
PassPhase
Phases (in execution order) within the Polly pass.
static cl::opt< bool > ImportJScop("polly-import", cl::desc("Import the polyhedral description of the detected Scops"), cl::Hidden, cl::cat(PollyCategory))
static constexpr bool is_iterable