Lines Matching defs:Scop

11 // The pass creates a polyhedral description of the Scops detected by the Scop
208 static const ScopArrayInfo *identifyBasePtrOriginSAI(Scop *S, Value *BasePtr) {
233 const DataLayout &DL, Scop *S,
1180 ScopStmt::ScopStmt(Scop &parent, Region &R, StringRef Name,
1186 ScopStmt::ScopStmt(Scop &parent, BasicBlock &bb, StringRef Name,
1193 ScopStmt::ScopStmt(Scop &parent, isl::map SourceRel, isl::map TargetRel,
1362 /// Scop class implement
1364 void Scop::setContext(isl::set NewContext) {
1405 const Scop *S;
1409 const Scop *S)
1413 const ValueToValueMap &VMap, const Scop *S) {
1433 const SCEV *Scop::getRepresentingInvariantLoadSCEV(const SCEV *E) const {
1444 void Scop::createParameterId(const SCEV *Parameter) {
1477 void Scop::addParams(const ParameterSetTy &NewParameters) {
1488 isl::id Scop::getIdForParam(const SCEV *Parameter) const {
1494 bool Scop::isDominatedBy(const DominatorTree &DT, BasicBlock *BB) const {
1498 void Scop::buildContext() {
1506 void Scop::addParameterBounds() {
1515 void Scop::realignParams() {
1541 const Scop &S) {
1557 void Scop::simplifyContexts() {
1592 isl::set Scop::getDomainConditions(const ScopStmt *Stmt) const {
1596 isl::set Scop::getDomainConditions(BasicBlock *BB) const {
1608 Scop::Scop(Region &R, ScalarEvolution &ScalarEvolution, LoopInfo &LI,
1640 Scop::~Scop() = default;
1642 void Scop::removeFromStmtMap(ScopStmt &Stmt) {
1665 void Scop::removeStmts(function_ref<bool(ScopStmt &)> ShouldDelete,
1685 void Scop::removeStmtNotInDomainMap() {
1694 void Scop::simplifySCoP(bool AfterHoisting) {
1721 InvariantEquivClassTy *Scop::lookupInvariantEquivClass(Value *Val) {
1744 ScopArrayInfo *Scop::getOrCreateScopArrayInfo(Value *BasePtr, Type *ElementType,
1768 ScopArrayInfo *Scop::createScopArrayInfo(Type *ElementType,
1785 ScopArrayInfo *Scop::getScopArrayInfoOrNull(Value *BasePtr, MemoryKind Kind) {
1790 ScopArrayInfo *Scop::getScopArrayInfo(Value *BasePtr, MemoryKind Kind) {
1796 std::string Scop::getContextStr() const {
1800 std::string Scop::getAssumedContextStr() const {
1805 std::string Scop::getInvalidContextStr() const {
1809 std::string Scop::getNameStr() const {
1815 std::pair<std::string, std::string> Scop::getEntryExitStr() const {
1830 isl::set Scop::getContext() const { return Context; }
1832 isl::space Scop::getParamSpace() const { return getContext().get_space(); }
1834 isl::space Scop::getFullParamSpace() const {
1847 isl::set Scop::getAssumedContext() const {
1852 bool Scop::isProfitable(bool ScalarsAreUnprofitable) const {
1880 bool Scop::hasFeasibleRuntimeContext() const {
1892 MemoryAccess *Scop::lookupBasePtrAccess(MemoryAccess *MA) {
1932 bool Scop::isEffectiveAssumption(isl::set Set, AssumptionSign Sign) {
1949 bool Scop::trackAssumption(AssumptionKind Kind, isl::set Set, DebugLoc Loc,
2012 void Scop::addAssumption(AssumptionKind Kind, isl::set Set, DebugLoc Loc,
2031 void Scop::intersectDefinedBehavior(isl::set Set, AssumptionSign Sign) {
2051 void Scop::invalidate(AssumptionKind Kind, DebugLoc Loc, BasicBlock *BB) {
2056 isl::set Scop::getInvalidContext() const { return InvalidContext; }
2058 void Scop::printContext(raw_ostream &OS) const {
2079 void Scop::printAliasAssumptions(raw_ostream &OS) const {
2118 void Scop::printStatements(raw_ostream &OS, bool PrintInstructions) const {
2129 void Scop::printArrayInfo(raw_ostream &OS) const {
2145 void Scop::print(raw_ostream &OS, bool PrintInstructions) const {
2168 LLVM_DUMP_METHOD void Scop::dump() const { print(dbgs(), true); }
2171 isl::ctx Scop::getIslCtx() const { return IslCtx.get(); }
2173 __isl_give PWACtx Scop::getPwAff(const SCEV *E, BasicBlock *BB,
2198 isl::union_set Scop::getDomains() const {
2208 isl::pw_aff Scop::getPwAffOnly(const SCEV *E, BasicBlock *BB,
2215 Scop::getAccessesOfType(std::function<bool(MemoryAccess &)> Predicate) {
2233 isl::union_map Scop::getMustWrites() {
2237 isl::union_map Scop::getMayWrites() {
2241 isl::union_map Scop::getWrites() {
2245 isl::union_map Scop::getReads() {
2249 isl::union_map Scop::getAccesses() {
2253 isl::union_map Scop::getAccesses(ScopArrayInfo *Array) {
2258 isl::union_map Scop::getSchedule() const {
2263 isl::schedule Scop::getScheduleTree() const {
2267 void Scop::setSchedule(isl::union_map NewSchedule) {
2274 void Scop::setScheduleTree(isl::schedule NewSchedule) {
2279 bool Scop::restrictDomains(isl::union_set Domain) {
2300 ScalarEvolution *Scop::getSE() const { return SE; }
2302 void Scop::addScopStmt(BasicBlock *BB, StringRef Name, Loop *SurroundingLoop,
2315 void Scop::addScopStmt(Region *R, StringRef Name, Loop *SurroundingLoop,
2339 ScopStmt *Scop::addScopStmt(isl::map SourceRel, isl::map TargetRel,
2354 ArrayRef<ScopStmt *> Scop::getStmtListFor(BasicBlock *BB) const {
2361 ScopStmt *Scop::getIncomingStmtFor(const Use &U) const {
2378 ScopStmt *Scop::getLastStmtFor(BasicBlock *BB) const {
2385 ArrayRef<ScopStmt *> Scop::getStmtListFor(RegionNode *RN) const {
2391 ArrayRef<ScopStmt *> Scop::getStmtListFor(Region *R) const {
2395 int Scop::getRelativeLoopDepth(const Loop *L) const {
2409 ScopArrayInfo *Scop::getArrayInfoByName(const std::string BaseName) {
2417 void Scop::addAccessData(MemoryAccess *Access) {
2427 void Scop::removeAccessData(MemoryAccess *Access) {
2442 MemoryAccess *Scop::getValueDef(const ScopArrayInfo *SAI) const {
2452 ArrayRef<MemoryAccess *> Scop::getValueUses(const ScopArrayInfo *SAI) const {
2460 MemoryAccess *Scop::getPHIRead(const ScopArrayInfo *SAI) const {
2470 ArrayRef<MemoryAccess *> Scop::getPHIIncomings(const ScopArrayInfo *SAI) const {
2478 bool Scop::isEscaping(Instruction *Inst) {
2497 void Scop::incrementNumberOfAliasingAssumptions(unsigned step) {
2501 Scop::ScopStatistics Scop::getStatistics() const {
2542 raw_ostream &polly::operator<<(raw_ostream &OS, const Scop &scop) {
2561 Scop::ScopStatistics ScopStats) {
2628 OS << "Invalid Scop!\n";
2718 std::unique_ptr<Scop> S = SB.getScop();
2727 assert(Inserted && "Building Scop for the same region twice!");
2770 Stream << "Invalid Scop!\n";
2806 OS << "Invalid Scop!\n";