Polly 24.0.0git
ScheduleTreeTransform.cpp File Reference
#include "polly/ScheduleTreeTransform.h"
#include "polly/Support/GICHelper.h"
#include "polly/Support/ISLTools.h"
#include "polly/Support/ScopHelper.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/Sequence.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/Metadata.h"
#include "llvm/Transforms/Utils/UnrollLoop.h"
#include "polly/Support/PollyDebug.h"

Go to the source code of this file.

Macros

#define DEBUG_TYPE   "polly-opt-isl"

Functions

static isl::set addTileExtentConstraints (isl::set Set, llvm::ArrayRef< int > Sizes)
 Restrict the last Sizes.size() dimensions of Set to a complete tile, that is, to 0 <= dim <= size - 1 for each of them.
static void collectFissionableStmts (isl::schedule_node Node, SmallVectorImpl< isl::schedule_node > &ScheduleStmts)
 Find statements and sub-loops in (possibly nested) sequences.

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "polly-opt-isl"

Definition at line 25 of file ScheduleTreeTransform.cpp.

Function Documentation

◆ addTileExtentConstraints()

isl::set addTileExtentConstraints ( isl::set Set,
llvm::ArrayRef< int > Sizes )
static

Restrict the last Sizes.size() dimensions of Set to a complete tile, that is, to 0 <= dim <= size - 1 for each of them.

Definition at line 1132 of file ScheduleTreeTransform.cpp.

References isl::constraint::alloc_inequality(), assert, isl::checked::set::get_space(), isl::set, isl::constraint::set_coefficient_si(), isl::constraint::set_constant_si(), isl::checked::set::tuple_dim(), and unsignedFromIslSize().

Referenced by polly::getCompleteTilePrefixes().

◆ collectFissionableStmts()

void collectFissionableStmts ( isl::schedule_node Node,
SmallVectorImpl< isl::schedule_node > & ScheduleStmts )
static

Find statements and sub-loops in (possibly nested) sequences.

Definition at line 1256 of file ScheduleTreeTransform.cpp.

References C, collectFissionableStmts(), isl::checked::schedule_node::first_child(), and isl::checked::schedule_node::has_children().

Referenced by polly::applyMaxFission(), and collectFissionableStmts().