Polly 22.0.0git
ScopInfo.h File Reference
#include "polly/ScopDetection.h"
#include "polly/Support/SCEVAffinator.h"
#include "polly/Support/ScopHelper.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/MapVector.h"
#include "llvm/ADT/SetVector.h"
#include "llvm/Analysis/RegionPass.h"
#include "llvm/IR/DebugLoc.h"
#include "llvm/IR/Instruction.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/PassManager.h"
#include "llvm/IR/ValueHandle.h"
#include "llvm/Pass.h"
#include "isl/isl-noexceptions.h"
#include <cassert>
#include <cstddef>
#include <forward_list>
#include <optional>

Go to the source code of this file.

Classes

class  polly::ScopArrayInfo
 A class to store information about arrays in the SCoP. More...
class  polly::MemoryAccess
 Represent memory accesses in statements. More...
struct  polly::InvariantAccess
 Helper structure for invariant memory accesses. More...
struct  polly::InvariantEquivClassTy
 Type for equivalent invariant accesses and their domain context. More...
class  polly::ScopStmt
 Statement of the Scop. More...
class  polly::Scop
 Static Control Part. More...
struct  polly::Scop::ScopStatistics
class  polly::ScopInfoRegionPass
 The legacy pass manager's analysis pass to compute scop information for a region. More...
class  polly::ScopInfo
struct  polly::ScopInfoAnalysis
struct  polly::ScopInfoPrinterPass
class  polly::ScopInfoWrapperPass
 The legacy pass manager's analysis pass to compute scop information for the whole function. More...

Namespaces

namespace  polly
namespace  llvm

Typedefs

using polly::LoopBoundMapType = std::map<const Loop *, const SCEV *>
 Maps from a loop to the affine function expressing its backedge taken count.
using polly::AccFuncVector = std::vector<std::unique_ptr<MemoryAccess>>
using polly::MemoryAccessList = std::forward_list<MemoryAccess *>
 Ordered list type to hold accesses.
using polly::InvariantAccessesTy = SmallVector<InvariantAccess, 8>
 Ordered container type to hold invariant accesses.
using polly::InvariantEquivClassesTy = SmallVector<InvariantEquivClassTy, 8>
 Type for invariant accesses equivalence classes.

Enumerations

enum class  polly::MemoryKind { polly::Array , polly::Value , polly::PHI , polly::ExitPHI }
 The different memory kinds used in Polly. More...

Functions

raw_ostream & polly::operator<< (raw_ostream &OS, MemoryAccess::ReductionType RT)
raw_ostream & polly::operator<< (raw_ostream &OS, const ScopStmt &S)
 Print ScopStmt S to raw_ostream OS.
raw_ostream & polly::operator<< (raw_ostream &OS, const Scop &scop)
 Print Scop scop to raw_ostream OS.
llvm::Pass * polly::createScopInfoPrinterLegacyRegionPass (raw_ostream &OS)
llvm::Pass * polly::createScopInfoPrinterLegacyFunctionPass (llvm::raw_ostream &OS)
void llvm::initializeScopInfoRegionPassPass (PassRegistry &)
void llvm::initializeScopInfoPrinterLegacyRegionPassPass (PassRegistry &)
void llvm::initializeScopInfoWrapperPassPass (PassRegistry &)
void llvm::initializeScopInfoPrinterLegacyFunctionPassPass (PassRegistry &)

Variables

bool polly::UseInstructionNames
unsigned const polly::MaxDisjunctsInDomain = 20