Polly 20.0.0git
Classes | Namespaces | Functions
ScheduleTreeTransform.h File Reference
#include "polly/Support/ISLTools.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/Support/ErrorHandling.h"
#include "isl/isl-noexceptions.h"
#include <cassert>

Go to the source code of this file.

Classes

struct  polly::ScheduleTreeVisitor< Derived, RetTy, Args >
 This class defines a simple visitor class that may be used for various schedule tree analysis purposes. More...
 
struct  polly::RecursiveScheduleTreeVisitor< Derived, RetTy, Args >
 Recursively visit all nodes of a schedule tree. More...
 
struct  polly::ScheduleNodeRewriter< Derived, Args >
 Recursively visit all nodes of a schedule tree while allowing changes. More...
 

Namespaces

namespace  polly
 

Functions

bool polly::isBandMark (const isl::schedule_node &Node)
 Is this node the marker for its parent band?
 
BandAttrpolly::getBandAttr (isl::schedule_node MarkOrBand)
 Extract the BandAttr from a band's wrapping marker.
 
isl::schedule polly::hoistExtensionNodes (isl::schedule Sched)
 Hoist all domains from extension into the root domain node, such that there are no more extension nodes (which isl does not support for some operations).
 
isl::schedule polly::applyFullUnroll (isl::schedule_node BandToUnroll)
 Replace the AST band BandToUnroll by a sequence of all its iterations.
 
isl::schedule polly::applyPartialUnroll (isl::schedule_node BandToUnroll, int Factor)
 Replace the AST band BandToUnroll by a partially unrolled equivalent.
 
isl::schedule polly::applyMaxFission (isl::schedule_node BandToFission)
 Loop-distribute the band BandToFission as much as possible.
 
isl::set polly::getPartialTilePrefixes (isl::set ScheduleRange, int VectorWidth)
 Build the desired set of partial tile prefixes.
 
isl::union_set polly::getIsolateOptions (isl::set IsolateDomain, unsigned OutDimsNum)
 Create an isl::union_set, which describes the isolate option based on IsolateDomain.
 
isl::union_set polly::getDimOptions (isl::ctx Ctx, const char *Option)
 Create an isl::union_set, which describes the specified option for the dimension of the current node.
 
isl::schedule_node polly::tileNode (isl::schedule_node Node, const char *Identifier, llvm::ArrayRef< int > TileSizes, int DefaultTileSize)
 Tile a schedule node.
 
isl::schedule_node polly::applyRegisterTiling (isl::schedule_node Node, llvm::ArrayRef< int > TileSizes, int DefaultTileSize)
 Tile a schedule node and unroll point loops.
 
isl::schedule polly::applyGreedyFusion (isl::schedule Sched, const isl::union_map &Deps)
 Apply greedy fusion.