Lines Matching defs:ScopDetection
1 //===- ScopDetection.cpp - Detect Scops -----------------------------------===//
46 #include "polly/ScopDetection.h"
274 static void updateLoopCountStatistic(ScopDetection::LoopStats Stats,
338 // ScopDetection.
340 ScopDetection::ScopDetection(const DominatorTree &DT, ScalarEvolution &SE,
345 void ScopDetection::detect(Function &F) {
399 inline bool ScopDetection::invalid(DetectionContext &Context, bool Assert,
419 bool ScopDetection::isMaxRegionInScop(const Region &R, bool Verify) {
440 std::string ScopDetection::regionIsInvalidBecause(const Region *R) const {
454 bool ScopDetection::addOverApproximatedRegion(Region *AR,
472 bool ScopDetection::onlyValidRequiredInvariantLoads(
508 bool ScopDetection::involvesMultiplePtrs(const SCEV *S0, const SCEV *S1,
542 bool ScopDetection::isAffine(const SCEV *S, Loop *Scope,
554 bool ScopDetection::isValidSwitch(BasicBlock &BB, SwitchInst *SI,
578 bool ScopDetection::isValidBranch(BasicBlock &BB, BranchInst *BI,
658 bool ScopDetection::isValidCFG(BasicBlock &BB, bool IsLoopBranch,
690 bool ScopDetection::isValidCallInst(CallInst &CI,
758 bool ScopDetection::isValidIntrinsicInst(IntrinsicInst &II,
804 bool ScopDetection::isInvariant(Value &Val, const Region &Reg,
870 ScopDetection::getDelinearizationTerms(DetectionContext &Context,
919 bool ScopDetection::hasValidArraySizes(DetectionContext &Context,
984 bool ScopDetection::computeAccessFunctions(
1037 bool ScopDetection::hasBaseAffineAccesses(DetectionContext &Context,
1054 bool ScopDetection::hasAffineMemoryAccesses(DetectionContext &Context) const {
1072 bool ScopDetection::isValidAccess(Instruction *Inst, const SCEV *AF,
1199 bool ScopDetection::isValidMemoryAccess(MemAccInst Inst,
1211 bool ScopDetection::isValidInstruction(Instruction &Inst,
1277 bool ScopDetection::canUseISLTripCount(Loop *L, DetectionContext &Context) {
1304 bool ScopDetection::isValidLoop(Loop *L, DetectionContext &Context) {
1367 ScopDetection::LoopStats
1368 ScopDetection::countBeneficialSubLoops(Loop *L, ScalarEvolution &SE,
1389 ScopDetection::LoopStats
1390 ScopDetection::countBeneficialLoops(Region *R, ScalarEvolution &SE,
1474 bool ScopDetection::isErrorBlock(llvm::BasicBlock &BB, const llvm::Region &R) {
1487 Region *ScopDetection::expandRegion(Region &R) {
1554 void ScopDetection::removeCachedResultsRecursively(const Region &R) {
1563 void ScopDetection::removeCachedResults(const Region &R) {
1567 void ScopDetection::findScops(Region &R) {
1633 bool ScopDetection::allBlocksValid(DetectionContext &Context) {
1682 bool ScopDetection::hasSufficientCompute(DetectionContext &Context,
1698 bool ScopDetection::hasPossiblyDistributableLoop(
1720 bool ScopDetection::isProfitableRegion(DetectionContext &Context) const {
1756 bool ScopDetection::isValidRegion(DetectionContext &Context) {
1816 void ScopDetection::markFunctionAsInvalid(Function *F) {
1820 bool ScopDetection::isValidFunction(Function &F) {
1824 void ScopDetection::printLocations(Function &F) {
1835 void ScopDetection::emitMissedRemarks(const Function &F) {
1843 bool ScopDetection::isReducibleRegion(Region &R, DebugLoc &DbgLoc) const {
1917 static void updateLoopCountStatistic(ScopDetection::LoopStats Stats,
1958 ScopDetection::DetectionContext *
1959 ScopDetection::getDetectionContext(const Region *R) const {
1966 const RejectLog *ScopDetection::lookupRejectionLog(const Region *R) const {
1971 void ScopDetection::verifyRegion(const Region &R) {
1978 void ScopDetection::verifyAnalysis() {
1994 Result = std::make_unique<ScopDetection>(DT, SE, LI, RI, AA, ORE);
2035 ScopDetection ScopAnalysis::run(Function &F, FunctionAnalysisManager &FAM) {
2043 ScopDetection Result(DT, SE, LI, RI, AA, ORE);