namespace llvm {
class BasicBlock;
-
} // namespace llvm
namespace polly {
};
extern bool PerfMonitoring;
-
} // namespace polly
#endif // POLLY_CODEGENERATION_H
class raw_ostream;
void initializeIslAstInfoWrapperPassPass(PassRegistry &);
-
} // namespace llvm
struct isl_ast_build;
raw_ostream &OS;
};
-
} // namespace polly
#endif // POLLY_ISLAST_H
class SCEV;
class Type;
class Value;
-
} // namespace llvm
namespace polly {
class MemoryAccess;
class Scop;
class ScopStmt;
-
} // namespace polly
struct isl_ast_node;
std::pair<BBPair, llvm::BranchInst *>
executeScopConditionally(Scop &S, llvm::Value *RTC, llvm::DominatorTree &DT,
llvm::RegionInfo &RI, llvm::LoopInfo &LI);
-
} // namespace polly
#endif
/// Scop to Dependence map for the current function.
ScopToDepsMapTy ScopToDepsMap;
};
-
} // namespace polly
namespace llvm {
class PassRegistry;
void initializeForwardOpTreePass(PassRegistry &);
-
} // namespace llvm
namespace polly {
class ScopPass;
ScopPass *createForwardOpTreePass();
-
} // namespace polly
#endif // POLLY_FORWARDOPTREE_H
ScopInfo *SI;
DependenceInfoWrapperPass *DI;
};
-
} // end namespace polly
namespace llvm {
class PassRegistry;
void initializePruneUnprofitablePass(PassRegistry &);
-
} // namespace llvm
namespace polly {
llvm::Pass *createPruneUnprofitablePass();
-
} // namespace polly
#endif // POLLY_PRUNEUNPROFITABLE_H
namespace llvm {
class TargetTransformInfo;
-
} // namespace llvm
struct isl_schedule_node;
};
extern bool DisablePollyTiling;
-
} // namespace polly
class ScheduleTreeOptimizer {
void initializeScopInfoRegionPassPass(PassRegistry &);
void initializeScopInfoWrapperPassPass(PassRegistry &);
-
} // end namespace llvm
namespace polly {
/// for the region
std::unique_ptr<Scop> getScop() { return std::move(scop); }
};
-
} // end namespace polly
#endif // POLLY_SCOPBUILDER_H
class Value;
void initializeScopDetectionWrapperPassPass(PassRegistry &);
-
} // namespace llvm
namespace polly {
ScopDetection &getSD() { return *Result; }
const ScopDetection &getSD() const { return *Result; }
};
-
} // namespace polly
#endif // POLLY_SCOPDETECTION_H
class Region;
class SCEV;
class Value;
-
} // namespace llvm
namespace polly {
std::string getEndUserMessage() const override;
//@}
};
-
} // namespace polly
#endif // POLLY_SCOPDETECTIONDIAGNOSTIC_H
void initializeScopInfoRegionPassPass(PassRegistry &);
void initializeScopInfoWrapperPassPass(PassRegistry &);
-
} // end namespace llvm
struct isl_map;
void getAnalysisUsage(AnalysisUsage &AU) const override;
};
-
} // end namespace polly
#endif // POLLY_SCOPINFO_H
createFunctionToScopPassAdaptor(ScopPassT Pass) {
return FunctionToScopPassAdaptor<ScopPassT>(std::move(Pass));
}
-
} // namespace polly
#endif
return isl_ctx_last_error(IslCtx) == isl_error_quota;
}
};
-
} // end namespace polly
#endif
isl::ctx ctx = A.get_ctx();
return A % isl::val(ctx, i);
}
-
} // namespace polly
void dumpExpanded(__isl_keep isl_union_set *USet);
void dumpExpanded(__isl_keep isl_union_map *UMap);
/// @}
-
} // namespace polly
#endif /* POLLY_ISLTOOLS_H */
DenseSet<VirtualInstruction> &UsedInsts,
DenseSet<MemoryAccess *> &UsedAccs,
ScopStmt *OnlyLocal = nullptr);
-
} // namespace polly
namespace llvm {
return false;
}
};
-
} // namespace
char PruneUnprofitable::ID;
return DI->getKind() == PluginDiagnosticKind;
}
};
-
} // namespace
int DiagnosticScopFound::PluginDiagnosticKind =
private:
std::vector<const SCEV *> *Terms;
};
-
} // namespace
SmallVector<const SCEV *, 4>
return LHS.concat(Buf).str();
}
-
} // namespace polly
namespace llvm {
return LHS.getLine() < RHS.getLine() ||
(LHS.getLine() == RHS.getLine() && LHS.getCol() < RHS.getCol());
}
-
} // namespace llvm
namespace polly {
bool ReportUnprofitable::classof(const RejectReason *RR) {
return RR->getKind() == RejectReasonKind::Unprofitable;
}
-
} // namespace polly
O, 4);
}
};
-
} // end namespace llvm
struct ScopViewer
bool isDone() { return FoundInside; }
};
-
} // end anonymous namespace
const SCEV *Scop::getRepresentingInvariantLoadSCEV(const SCEV *E) const {
Builder.CreateUnreachable();
OrigTerminator->eraseFromParent();
}
-
} // namespace polly
static void verifyGeneratedFunction(Scop &S, Function &F, IslAstInfo &AI) {
// region tree.
}
};
-
} // namespace
PreservedAnalyses CodeGenerationPass::run(Scop &S, ScopAnalysisManager &SAM,
/// The last iterator id created for the current SCoP.
isl_id *LastForNodeId = nullptr;
};
-
} // namespace polly
/// Free an IslAstUserPayload object pointed to by @p Ptr.
return true;
}
};
-
} // namespace
char ManagedMemoryRewritePass::ID = 42;
}; // class ForwardOpTree
char ForwardOpTree::ID;
-
} // namespace
ScopPass *polly::createForwardOpTreePass() { return new ForwardOpTree(); }
void expandPhi(Scop &S, const ScopArrayInfo *SAI,
const isl::union_map &Dependences);
};
-
} // namespace
#ifndef NDEBUG
private:
isl_schedule *LastSchedule = nullptr;
};
-
} // namespace
char IslScheduleOptimizer::ID = 0;
CallGraphSCCPass::getAnalysisUsage(AU);
}
};
-
} // namespace
char ScopInliner::ID;
"{ A[i] -> [i, 0] : 0 <= i < 10; B[i] -> [i, 1] : 0 <= i < 10 }",
"{ A[i] -> [2i] : 0 <= i < 10; B[i] -> [2i + 1] : 0 <= i < 10 }"));
}
-
} // anonymous namespace
UMAP("{ DomainRangeA[] -> NewDomainRangeA[];"
"DomainRangeB[] -> NewDomainRangeB[] }")));
}
-
} // anonymous namespace