#include "polly/PolyhedralInfo.h"
#include "polly/DependenceInfo.h"
#include "polly/LinkAllPasses.h"
#include "polly/Options.h"
#include "polly/ScopInfo.h"
#include "polly/Support/GICHelper.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/InitializePasses.h"
#include "llvm/Support/Debug.h"
#include "isl/union_map.h"
usingnamespacellvm;
usingnamespacepolly;
#include "polly/Support/PollyDebug.h"
#define DEBUG_TYPE …
static cl::opt<bool> CheckParallel("polly-check-parallel",
cl::desc("Check for parallel loops"),
cl::Hidden, cl::cat(PollyCategory));
static cl::opt<bool> CheckVectorizable("polly-check-vectorizable",
cl::desc("Check for vectorizable loops"),
cl::Hidden, cl::cat(PollyCategory));
void PolyhedralInfo::getAnalysisUsage(AnalysisUsage &AU) const { … }
bool PolyhedralInfo::runOnFunction(Function &F) { … }
void PolyhedralInfo::print(raw_ostream &OS, const Module *) const { … }
bool PolyhedralInfo::checkParallel(Loop *L, isl_pw_aff **MinDepDistPtr) const { … }
bool PolyhedralInfo::isParallel(Loop *L) const { … }
const Scop *PolyhedralInfo::getScopContainingLoop(Loop *L) const { … }
__isl_give isl_union_map *PolyhedralInfo::getScheduleForLoop(const Scop *S,
Loop *L) const { … }
char PolyhedralInfo::ID = …;
Pass *polly::createPolyhedralInfoPass() { … }
INITIALIZE_PASS_BEGIN(PolyhedralInfo, "polyhedral-info",
"Polly - Interface to polyhedral analysis engine", false,
false);
INITIALIZE_PASS_DEPENDENCY(DependenceInfoWrapperPass);
INITIALIZE_PASS_DEPENDENCY(LoopInfoWrapperPass);
INITIALIZE_PASS_DEPENDENCY(ScopInfoWrapperPass);
INITIALIZE_PASS_END(PolyhedralInfo, "polyhedral-info",
"Polly - Interface to polyhedral analysis engine", false,
false)
namespace {
class PolyhedralInfoPrinterLegacyPass final : public FunctionPass { … };
char PolyhedralInfoPrinterLegacyPass::ID = …;
}
Pass *polly::createPolyhedralInfoPrinterLegacyPass(raw_ostream &OS) { … }
INITIALIZE_PASS_BEGIN(
PolyhedralInfoPrinterLegacyPass, "print-polyhedral-info",
"Polly - Print interface to polyhedral analysis engine analysis", false,
false);
INITIALIZE_PASS_DEPENDENCY(PolyhedralInfo);
INITIALIZE_PASS_END(
PolyhedralInfoPrinterLegacyPass, "print-polyhedral-info",
"Polly - Print interface to polyhedral analysis engine analysis", false,
false)