Polly 20.0.0git
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
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
 This file contains the declaration of the PolyhedralInfo class, which will provide an interface to expose polyhedral analysis information of Polly.
 

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