Index: include/polly/ScopInfo.h =================================================================== --- include/polly/ScopInfo.h +++ include/polly/ScopInfo.h @@ -626,6 +626,9 @@ /// The underlying Region. Region &R; + /// Flag to indicate that the scheduler actually optimized the SCoP. + bool IsOptimized; + /// Max loop depth. unsigned MaxLoopDepth; @@ -781,6 +784,12 @@ return maxScatterDim; } + /// @brief Mark the SCoP as optmized by the scheduler. + void markAsOptimized() { IsOptimized = true; } + + /// @brief Check ifthe SCoP has been optimized by the scheduler. + bool isOptimized() const { return IsOptimized; } + /// @brief Get the name of this Scop. std::string getNameStr() const; Index: lib/Analysis/ScopInfo.cpp =================================================================== --- lib/Analysis/ScopInfo.cpp +++ lib/Analysis/ScopInfo.cpp @@ -696,7 +696,6 @@ unsigned NbScatteringDims = Parent.getMaxLoopDepth() * 2 + 1; isl_space *Space = isl_space_set_alloc(getIslCtx(), 0, NbScatteringDims); - Space = isl_space_set_tuple_name(Space, isl_dim_out, "scattering"); Scattering = isl_map_from_domain_and_range(isl_set_universe(getDomainSpace()), isl_set_universe(Space)); @@ -1512,8 +1511,6 @@ isl_val_free(FixedVal); } - DropDimMap = isl_map_set_tuple_id( - DropDimMap, isl_dim_out, isl_map_get_tuple_id(DropDimMap, isl_dim_in)); for (auto *S : *this) { isl_map *Schedule = S->getScattering(); Schedule = isl_map_apply_range(Schedule, isl_map_copy(DropDimMap)); @@ -1525,7 +1522,7 @@ Scop::Scop(TempScop &tempScop, LoopInfo &LI, ScalarEvolution &ScalarEvolution, isl_ctx *Context) - : SE(&ScalarEvolution), R(tempScop.getMaxRegion()), + : SE(&ScalarEvolution), R(tempScop.getMaxRegion()), IsOptimized(false), MaxLoopDepth(getMaxLoopDepthInRegion(tempScop.getMaxRegion(), LI)) { IslCtx = Context; buildContext(); Index: lib/CodeGen/IslAst.cpp =================================================================== --- lib/CodeGen/IslAst.cpp +++ lib/CodeGen/IslAst.cpp @@ -355,7 +355,17 @@ } } -IslAst::IslAst(Scop *Scop, Dependences &D) : S(Scop) { +IslAst::IslAst(Scop *Scop, Dependences &D) + : S(Scop), Root(nullptr), RunCondition(nullptr) { + + bool PerformParallelTest = PollyParallel || DetectParallel || + PollyVectorizerChoice != VECTORIZER_NONE; + + // Check if we should bail early. + if (!PerformParallelTest && !Scop->isOptimized() && + Scop->getAliasGroups().empty()) + return; + isl_ctx *Ctx = S->getIslCtx(); isl_options_set_ast_build_atomic_upper_bound(Ctx, true); isl_ast_build *Build; @@ -371,8 +381,7 @@ isl_union_map *Schedule = isl_union_map_intersect_domain(S->getSchedule(), S->getDomains()); - if (PollyParallel || DetectParallel || - PollyVectorizerChoice != VECTORIZER_NONE) { + if (PerformParallelTest) { BuildInfo.Deps = &D; BuildInfo.InParallelFor = 0; @@ -505,10 +514,20 @@ void IslAstInfo::printScop(raw_ostream &OS) const { isl_ast_print_options *Options; isl_ast_node *RootNode = getAst(); + Scop &S = getCurScop(); + Function *F = S.getRegion().getEntry()->getParent(); + + OS << ":: isl ast :: " << F->getName() << " :: " << S.getRegion().getNameStr() + << "\n"; + + if (!RootNode) { + OS << ":: isl ast generation and code generation was skipped!\n\n"; + return; + } + isl_ast_expr *RunCondition = getRunCondition(); char *RtCStr, *AstStr; - Scop &S = getCurScop(); Options = isl_ast_print_options_alloc(S.getIslCtx()); Options = isl_ast_print_options_set_print_for(Options, cbPrintFor, nullptr); @@ -521,12 +540,9 @@ P = isl_ast_node_print(RootNode, P, Options); AstStr = isl_printer_get_str(P); - Function *F = S.getRegion().getEntry()->getParent(); isl_union_map *Schedule = isl_union_map_intersect_domain(S.getSchedule(), S.getDomains()); - OS << ":: isl ast :: " << F->getName() << " :: " << S.getRegion().getNameStr() - << "\n"; DEBUG({ dbgs() << S.getContextStr() << "\n"; dbgs() << stringFromIslObj(Schedule); Index: lib/CodeGen/IslCodeGeneration.cpp =================================================================== --- lib/CodeGen/IslCodeGeneration.cpp +++ lib/CodeGen/IslCodeGeneration.cpp @@ -912,8 +912,14 @@ } bool runOnScop(Scop &S) { - LI = &getAnalysis().getLoopInfo(); AI = &getAnalysis(); + + // Check if we created an isl_ast root node, otherwise exit. + isl_ast_node *AstRoot = AI->getAst(); + if (!AstRoot) + return false; + + LI = &getAnalysis().getLoopInfo(); DT = &getAnalysis().getDomTree(); SE = &getAnalysis(); DL = &getAnalysis().getDataLayout(); @@ -935,7 +941,7 @@ BasicBlock *StartBlock = executeScopConditionally(S, this, RTC); Builder.SetInsertPoint(StartBlock->begin()); - NodeBuilder.create(AI->getAst()); + NodeBuilder.create(AstRoot); return true; } Index: lib/Transform/ScheduleOptimizer.cpp =================================================================== --- lib/Transform/ScheduleOptimizer.cpp +++ lib/Transform/ScheduleOptimizer.cpp @@ -556,6 +556,41 @@ isl_union_map *ScheduleMap = getScheduleMap(Schedule); + // Check if the scheduler actually performed some transformation. + // TODO: This is not the best way to check this. + bool changed = false; + for (ScopStmt *Stmt : S) { + isl_map *NewStmtSchedule; + isl_set *Domain = Stmt->getDomain(); + isl_union_map *StmtBand; + StmtBand = isl_union_map_intersect_domain(isl_union_map_copy(ScheduleMap), + isl_union_set_from_set(Domain)); + if (isl_union_map_is_empty(StmtBand)) { + NewStmtSchedule = + isl_map_from_domain(isl_set_empty(Stmt->getDomainSpace())); + isl_union_map_free(StmtBand); + } else { + assert(isl_union_map_n_map(StmtBand) == 1); + NewStmtSchedule = isl_map_from_union_map(StmtBand); + } + + isl_map *OldStmtSchedule = Stmt->getScattering(); + changed = !isl_map_is_subset(NewStmtSchedule, OldStmtSchedule); + isl_map_free(OldStmtSchedule); + isl_map_free(NewStmtSchedule); + + if (changed) + break; + } + + if (changed) + S.markAsOptimized(); + else { + isl_schedule_free(Schedule); + isl_union_map_free(ScheduleMap); + return false; + } + for (ScopStmt *Stmt : S) { isl_map *StmtSchedule; isl_set *Domain = Stmt->getDomain(); Index: test/Dependences/reduction_simple_iv_debug_wrapped_dependences.ll =================================================================== --- test/Dependences/reduction_simple_iv_debug_wrapped_dependences.ll +++ test/Dependences/reduction_simple_iv_debug_wrapped_dependences.ll @@ -4,7 +4,7 @@ ; ; CHECK: Read: { [Stmt_for_cond[i0] -> MemRef_sum[0]] -> MemRef_sum[0] : i0 >= 0 and i0 <= 100 } ; CHECK: Write: { [Stmt_for_cond[i0] -> MemRef_sum[0]] -> MemRef_sum[0] : i0 >= 0 and i0 <= 100 } -; CHECK: Schedule: { [Stmt_for_cond[i0] -> MemRef_sum[0]] -> scattering[i0] : i0 <= 100 and i0 >= 0; Stmt_for_cond[i0] -> scattering[i0] } +; CHECK: Schedule: { [Stmt_for_cond[i0] -> MemRef_sum[0]] -> [i0] : i0 <= 100 and i0 >= 0; Stmt_for_cond[i0] -> [i0] } ; CHECK: Wrapped Dependences: ; CHECK: RAW dependences: ; CHECK: { [Stmt_for_cond[i0] -> MemRef_sum[0]] -> [Stmt_for_cond[1 + i0] -> MemRef_sum[0]] : i0 >= 0 and i0 <= 99 } Index: test/Isl/Ast/rlr___%for.cond---%for.end10.jscop =================================================================== --- test/Isl/Ast/rlr___%for.cond---%for.end10.jscop +++ test/Isl/Ast/rlr___%for.cond---%for.end10.jscop @@ -15,7 +15,7 @@ ], "domain" : "[n] -> { Stmt_S0[i0] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 }", "name" : "Stmt_S0", - "schedule" : "[n] -> { Stmt_S0[i0] -> scattering[0, n - i0, 0] }" + "schedule" : "[n] -> { Stmt_S0[i0] -> [0, n - i0, 0] }" }, { "accesses" : [ @@ -26,7 +26,7 @@ ], "domain" : "[n] -> { Stmt_S1[i0] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 }", "name" : "Stmt_S1", - "schedule" : "[n] -> { Stmt_S1[i0] -> scattering[1, n - i0, 0] }" + "schedule" : "[n] -> { Stmt_S1[i0] -> [1, n - i0, 0] }" } ] } Index: test/Isl/Ast/rmalrs2___%for.cond---%for.end10.jscop =================================================================== --- test/Isl/Ast/rmalrs2___%for.cond---%for.end10.jscop +++ test/Isl/Ast/rmalrs2___%for.cond---%for.end10.jscop @@ -15,7 +15,7 @@ ], "domain" : "[n] -> { Stmt_S0[i0] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 }", "name" : "Stmt_S0", - "schedule" : "[n] -> { Stmt_S0[i0] -> scattering[0, -i0, 0]: i0 % 2 = 0; Stmt_S0[i0] -> scattering[2, i0, 0]: i0 % 2 = 1 }" + "schedule" : "[n] -> { Stmt_S0[i0] -> [0, -i0, 0]: i0 % 2 = 0; Stmt_S0[i0] -> [2, i0, 0]: i0 % 2 = 1 }" }, { "accesses" : [ @@ -26,7 +26,7 @@ ], "domain" : "[n] -> { Stmt_S1[i0] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 }", "name" : "Stmt_S1", - "schedule" : "[n] -> { Stmt_S1[i0] -> scattering[1, i0, 0] }" + "schedule" : "[n] -> { Stmt_S1[i0] -> [1, i0, 0] }" } ] } Index: test/Isl/Ast/rmalrs___%for.cond---%for.end10.jscop =================================================================== --- test/Isl/Ast/rmalrs___%for.cond---%for.end10.jscop +++ test/Isl/Ast/rmalrs___%for.cond---%for.end10.jscop @@ -15,7 +15,7 @@ ], "domain" : "[n] -> { Stmt_S0[i0] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 }", "name" : "Stmt_S0", - "schedule" : "[n] -> { Stmt_S0[i0] -> scattering[0, 2 * n - i0, 0]: i0 % 2 = 0; Stmt_S0[i0] -> scattering[2, 2 * n - i0, 0]: i0 % 2 = 1 }" + "schedule" : "[n] -> { Stmt_S0[i0] -> [0, 2 * n - i0, 0]: i0 % 2 = 0; Stmt_S0[i0] -> [2, 2 * n - i0, 0]: i0 % 2 = 1 }" }, { "accesses" : [ @@ -26,7 +26,7 @@ ], "domain" : "[n] -> { Stmt_S1[i0] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 }", "name" : "Stmt_S1", - "schedule" : "[n] -> { Stmt_S1[i0] -> scattering[1, i0, 0] }" + "schedule" : "[n] -> { Stmt_S1[i0] -> [1, i0, 0] }" } ] } Index: test/Isl/Ast/rmd2___%for.cond---%for.end12.jscop =================================================================== --- test/Isl/Ast/rmd2___%for.cond---%for.end12.jscop +++ test/Isl/Ast/rmd2___%for.cond---%for.end12.jscop @@ -15,7 +15,7 @@ ], "domain" : "{ Stmt_for_body6[i0, i1, i2] : i0 >= 0 and i0 <= 2047 and i1 >= 0 and i1 <= 1023 and i2 >= 0 and i2 <= 511 }", "name" : "Stmt_for_body6", - "schedule" : "{ Stmt_for_body6[i0, i1, i2] -> scattering[0, i1, 0, i0, 0, i2, 0] }" + "schedule" : "{ Stmt_for_body6[i0, i1, i2] -> [0, i1, 0, i0, 0, i2, 0] }" } ] } Index: test/Isl/Ast/rmd3___%for.cond---%for.end12.jscop =================================================================== --- test/Isl/Ast/rmd3___%for.cond---%for.end12.jscop +++ test/Isl/Ast/rmd3___%for.cond---%for.end12.jscop @@ -15,7 +15,7 @@ ], "domain" : "{ Stmt_for_body6[i0, i1, i2] : i0 >= 0 and i0 <= 2047 and i1 >= 0 and i1 <= 1023 and i2 >= 0 and i2 <= 511 }", "name" : "Stmt_for_body6", - "schedule" : "{ Stmt_for_body6[i0, i1, i2] -> scattering[0, i2, 0, i1, 0, i0, 0] }" + "schedule" : "{ Stmt_for_body6[i0, i1, i2] -> [0, i2, 0, i1, 0, i0, 0] }" } ] } Index: test/Isl/Ast/rmd4___%for.cond---%for.end12.jscop =================================================================== --- test/Isl/Ast/rmd4___%for.cond---%for.end12.jscop +++ test/Isl/Ast/rmd4___%for.cond---%for.end12.jscop @@ -15,7 +15,7 @@ ], "domain" : "{ Stmt_for_body6[i0, i1, i2] : i0 >= 0 and i0 <= 2047 and i1 >= 0 and i1 <= 1023 and i2 >= 0 and i2 <= 511 }", "name" : "Stmt_for_body6", - "schedule" : "{ Stmt_for_body6[i0, i1, i2] -> scattering[0, i2, 0, i0, 0, i1, 0] }" + "schedule" : "{ Stmt_for_body6[i0, i1, i2] -> [0, i2, 0, i0, 0, i1, 0] }" } ] } Index: test/Isl/Ast/rmd___%for.cond---%for.end12.jscop =================================================================== --- test/Isl/Ast/rmd___%for.cond---%for.end12.jscop +++ test/Isl/Ast/rmd___%for.cond---%for.end12.jscop @@ -15,7 +15,7 @@ ], "domain" : "{ Stmt_for_body6[i0, i1, i2] : i0 >= 0 and i0 <= 2047 and i1 >= 0 and i1 <= 1023 and i2 >= 0 and i2 <= 511 }", "name" : "Stmt_for_body6", - "schedule" : "{ Stmt_for_body6[i0, i1, i2] -> scattering[0, i0, 0, i1, 0, i2, 0] }" + "schedule" : "{ Stmt_for_body6[i0, i1, i2] -> [0, i0, 0, i1, 0, i2, 0] }" } ] } Index: test/Isl/Ast/rms___%for.cond---%for.end10.jscop =================================================================== --- test/Isl/Ast/rms___%for.cond---%for.end10.jscop +++ test/Isl/Ast/rms___%for.cond---%for.end10.jscop @@ -15,7 +15,7 @@ ], "domain" : "[n] -> { Stmt_S0[i0] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 }", "name" : "Stmt_S0", - "schedule" : "[n] -> { Stmt_S0[i0] -> scattering[0, i0, 0]: i0 % 2 = 0; Stmt_S0[i0] -> scattering[2, i0, 0]: i0 % 2 = 1 }" + "schedule" : "[n] -> { Stmt_S0[i0] -> [0, i0, 0]: i0 % 2 = 0; Stmt_S0[i0] -> [2, i0, 0]: i0 % 2 = 1 }" }, { "accesses" : [ @@ -26,7 +26,7 @@ ], "domain" : "[n] -> { Stmt_S1[i0] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 }", "name" : "Stmt_S1", - "schedule" : "[n] -> { Stmt_S1[i0] -> scattering[1, i0, 0] }" + "schedule" : "[n] -> { Stmt_S1[i0] -> [1, i0, 0] }" } ] } Index: test/Isl/Ast/rmsmd2___%for.cond---%for.end6.jscop =================================================================== --- test/Isl/Ast/rmsmd2___%for.cond---%for.end6.jscop +++ test/Isl/Ast/rmsmd2___%for.cond---%for.end6.jscop @@ -15,7 +15,7 @@ ], "domain" : "[n] -> { Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 and i1 >= 0 and i1 <= 1023 }", "name" : "Stmt_for_body3", - "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 0]: i0 % 2 = 0; Stmt_for_body3[i0, i1] -> scattering[0, i0, 1, i1, 0]: i0 % 2 = 1 }" + "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> [0, i0, 0, i1, 0]: i0 % 2 = 0; Stmt_for_body3[i0, i1] -> [0, i0, 1, i1, 0]: i0 % 2 = 1 }" } ] } Index: test/Isl/Ast/rmsmd3___%for.cond---%for.end6.jscop =================================================================== --- test/Isl/Ast/rmsmd3___%for.cond---%for.end6.jscop +++ test/Isl/Ast/rmsmd3___%for.cond---%for.end6.jscop @@ -15,7 +15,7 @@ ], "domain" : "[n] -> { Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 and i1 >= 0 and i1 <= 1023 }", "name" : "Stmt_for_body3", - "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 0]: i1 % 2 = 0; Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 1]: i1 % 2 = 1 }" + "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> [0, i0, 0, i1, 0]: i1 % 2 = 0; Stmt_for_body3[i0, i1] -> [0, i0, 0, i1, 1]: i1 % 2 = 1 }" } ] } Index: test/Isl/Ast/rmsmd4___%for.cond---%for.end6.jscop =================================================================== --- test/Isl/Ast/rmsmd4___%for.cond---%for.end6.jscop +++ test/Isl/Ast/rmsmd4___%for.cond---%for.end6.jscop @@ -15,7 +15,7 @@ ], "domain" : "[n] -> { Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 and i1 >= 0 and i1 <= 1023 }", "name" : "Stmt_for_body3", - "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, -i1, 0]: i1 % 2 = 0; Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 1]: i1 % 2 = 1 }" + "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> [0, i0, 0, -i1, 0]: i1 % 2 = 0; Stmt_for_body3[i0, i1] -> [0, i0, 0, i1, 1]: i1 % 2 = 1 }" } ] } Index: test/Isl/Ast/rmsmd5___%for.cond---%for.end6.jscop =================================================================== --- test/Isl/Ast/rmsmd5___%for.cond---%for.end6.jscop +++ test/Isl/Ast/rmsmd5___%for.cond---%for.end6.jscop @@ -15,7 +15,7 @@ ], "domain" : "[n] -> { Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 and i1 >= 0 and i1 <= 1023 }", "name" : "Stmt_for_body3", - "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> scattering[0, i1, 0, i0, 0]: i1 % 2 = 0; Stmt_for_body3[i0, i1] -> scattering[0, i1, 1, -i0, 0]: i1 % 2 = 1 }" + "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> [0, i1, 0, i0, 0]: i1 % 2 = 0; Stmt_for_body3[i0, i1] -> [0, i1, 1, -i0, 0]: i1 % 2 = 1 }" } ] } Index: test/Isl/Ast/rmsmd___%for.cond---%for.end6.jscop =================================================================== --- test/Isl/Ast/rmsmd___%for.cond---%for.end6.jscop +++ test/Isl/Ast/rmsmd___%for.cond---%for.end6.jscop @@ -15,7 +15,7 @@ ], "domain" : "[n] -> { Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= -1 + 2n and n >= 1 and i1 >= 0 and i1 <= 1023 }", "name" : "Stmt_for_body3", - "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 0]: i0 % 2 = 0; Stmt_for_body3[i0, i1] -> scattering[1, i0, 0, i1, 0]: i0 % 2 = 1 }" + "schedule" : "[n] -> { Stmt_for_body3[i0, i1] -> [0, i0, 0, i1, 0]: i0 % 2 = 0; Stmt_for_body3[i0, i1] -> [1, i0, 0, i1, 0]: i0 % 2 = 1 }" } ] } Index: test/Isl/CodeGen/MemAccess/bad_alignment___%for.cond---%for.end.jscop =================================================================== --- test/Isl/CodeGen/MemAccess/bad_alignment___%for.cond---%for.end.jscop +++ test/Isl/CodeGen/MemAccess/bad_alignment___%for.cond---%for.end.jscop @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 511 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/codegen_constant_offset___%for.cond---%for.end.jscop =================================================================== --- test/Isl/CodeGen/MemAccess/codegen_constant_offset___%for.cond---%for.end.jscop +++ test/Isl/CodeGen/MemAccess/codegen_constant_offset___%for.cond---%for.end.jscop @@ -19,7 +19,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/codegen_constant_offset___%for.cond---%for.end.jscop.transformed =================================================================== --- test/Isl/CodeGen/MemAccess/codegen_constant_offset___%for.cond---%for.end.jscop.transformed +++ test/Isl/CodeGen/MemAccess/codegen_constant_offset___%for.cond---%for.end.jscop.transformed @@ -19,7 +19,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/codegen_simple___%for.cond---%for.end.jscop =================================================================== --- test/Isl/CodeGen/MemAccess/codegen_simple___%for.cond---%for.end.jscop +++ test/Isl/CodeGen/MemAccess/codegen_simple___%for.cond---%for.end.jscop @@ -19,7 +19,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/codegen_simple___%for.cond---%for.end.jscop.transformed =================================================================== --- test/Isl/CodeGen/MemAccess/codegen_simple___%for.cond---%for.end.jscop.transformed +++ test/Isl/CodeGen/MemAccess/codegen_simple___%for.cond---%for.end.jscop.transformed @@ -19,7 +19,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/codegen_simple_md___%for.cond---%for.end6.jscop =================================================================== --- test/Isl/CodeGen/MemAccess/codegen_simple_md___%for.cond---%for.end6.jscop +++ test/Isl/CodeGen/MemAccess/codegen_simple_md___%for.cond---%for.end6.jscop @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= 31 and i1 >= 0 and i1 <= 31 }", "name" : "Stmt_for_body3", - "schedule" : "{ Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 0] }" + "schedule" : "{ Stmt_for_body3[i0, i1] -> [0, i0, 0, i1, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/codegen_simple_md___%for.cond---%for.end6.jscop.transformed+withconst =================================================================== --- test/Isl/CodeGen/MemAccess/codegen_simple_md___%for.cond---%for.end6.jscop.transformed+withconst +++ test/Isl/CodeGen/MemAccess/codegen_simple_md___%for.cond---%for.end6.jscop.transformed+withconst @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= 31 and i1 >= 0 and i1 <= 31 }", "name" : "Stmt_for_body3", - "schedule" : "{ Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 0] }" + "schedule" : "{ Stmt_for_body3[i0, i1] -> [0, i0, 0, i1, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/codegen_simple_md___%for.cond---%for.end6.jscop.transformed+withoutconst =================================================================== --- test/Isl/CodeGen/MemAccess/codegen_simple_md___%for.cond---%for.end6.jscop.transformed+withoutconst +++ test/Isl/CodeGen/MemAccess/codegen_simple_md___%for.cond---%for.end6.jscop.transformed+withoutconst @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body3[i0, i1] : i0 >= 0 and i0 <= 31 and i1 >= 0 and i1 <= 31 }", "name" : "Stmt_for_body3", - "schedule" : "{ Stmt_for_body3[i0, i1] -> scattering[0, i0, 0, i1, 0] }" + "schedule" : "{ Stmt_for_body3[i0, i1] -> [0, i0, 0, i1, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end.jscop =================================================================== --- test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end.jscop +++ test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end.jscop @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end.jscop.transformed =================================================================== --- test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end.jscop.transformed +++ test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end.jscop.transformed @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end14.jscop =================================================================== --- test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end14.jscop +++ test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end14.jscop @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" }, { "accesses" : [ @@ -22,7 +22,7 @@ ], "domain" : "{ Stmt_for_body7[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body7", - "schedule" : "{ Stmt_for_body7[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body7[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end14.jscop.transformed =================================================================== --- test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end14.jscop.transformed +++ test/Isl/CodeGen/MemAccess/simple___%for.cond---%for.end14.jscop.transformed @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" }, { "accesses" : [ @@ -22,7 +22,7 @@ ], "domain" : "{ Stmt_for_body7[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body7", - "schedule" : "{ Stmt_for_body7[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body7[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/simple___%for.cond4---%for.end14.jscop =================================================================== --- test/Isl/CodeGen/MemAccess/simple___%for.cond4---%for.end14.jscop +++ test/Isl/CodeGen/MemAccess/simple___%for.cond4---%for.end14.jscop @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body7[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body7", - "schedule" : "{ Stmt_for_body7[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body7[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/simple___%for.cond4---%for.end14.jscop.transformed =================================================================== --- test/Isl/CodeGen/MemAccess/simple___%for.cond4---%for.end14.jscop.transformed +++ test/Isl/CodeGen/MemAccess/simple___%for.cond4---%for.end14.jscop.transformed @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_for_body7[i0] : i0 >= 0 and i0 <= 11 }", "name" : "Stmt_for_body7", - "schedule" : "{ Stmt_for_body7[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body7[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/MemAccess/simple_stride___%for.cond---%for.end.jscop =================================================================== --- test/Isl/CodeGen/MemAccess/simple_stride___%for.cond---%for.end.jscop +++ test/Isl/CodeGen/MemAccess/simple_stride___%for.cond---%for.end.jscop @@ -15,7 +15,7 @@ ], "domain" : "{ Stmt_for_body[i0] : i0 >= 0 and i0 <= 15 }", "name" : "Stmt_for_body", - "schedule" : "{ Stmt_for_body[i0] -> scattering[0, i0, 0] }" + "schedule" : "{ Stmt_for_body[i0] -> [0, i0, 0] }" } ] } Index: test/Isl/CodeGen/OpenMP/single_parallel_loop___%for.i---%exit.jscop =================================================================== --- test/Isl/CodeGen/OpenMP/single_parallel_loop___%for.i---%exit.jscop +++ test/Isl/CodeGen/OpenMP/single_parallel_loop___%for.i---%exit.jscop @@ -11,7 +11,7 @@ ], "domain" : "{ Stmt_S[i0] : i0 >= 0 and i0 <= 1023 }", "name" : "Stmt_S", - "schedule" : "{ Stmt_S[i0] -> scattering[floor(i0/4) * 4, i0] }" + "schedule" : "{ Stmt_S[i0] -> [floor(i0/4) * 4, i0] }" } ] } Index: test/Isl/CodeGen/single_do_loop_int_max_iterations___%do.body---%do.end.jscop =================================================================== --- test/Isl/CodeGen/single_do_loop_int_max_iterations___%do.body---%do.end.jscop +++ test/Isl/CodeGen/single_do_loop_int_max_iterations___%do.body---%do.end.jscop @@ -4,10 +4,10 @@ "statements": [{ "name": "Stmt_do_body", "domain": "{ Stmt_do_body[i0] : i0 >= 0 and i0 <= 2147483646 }", - "schedule": "{ Stmt_do_body[i0] -> scattering[0, o1, i0, o3, 0] : 64o3 = o1 and o1 <= i0 and o1 >= -63 + i0 }", + "schedule": "{ Stmt_do_body[i0] -> [0, o1, i0, o3, 0] : 64o3 = o1 and o1 <= i0 and o1 >= -63 + i0 }", "accesses": [{ "kind": "write", "relation": "{ Stmt_do_body[i0] -> MemRef_A[0] }" }] }] } \ No newline at end of file Index: test/ScopInfo/loop_affine_bound_0.ll =================================================================== --- test/ScopInfo/loop_affine_bound_0.ll +++ test/ScopInfo/loop_affine_bound_0.ll @@ -58,7 +58,7 @@ ; CHECK: Domain := ; CHECK: [N, M] -> { Stmt_bb1[i0, i1] : i0 >= 0 and i0 <= 2 + 4N + 7M and i1 >= 0 and i1 <= 1 + 5N and N >= 0 }; ; CHECK: Scattering := -; CHECK: [N, M] -> { Stmt_bb1[i0, i1] -> scattering[i0, i1] }; +; CHECK: [N, M] -> { Stmt_bb1[i0, i1] -> [i0, i1] }; ; CHECK: MustWriteAccess := [Reduction Type: NONE] ; CHECK: [N, M] -> { Stmt_bb1[i0, i1] -> MemRef_a[i0 + 128i1] }; ; CHECK: } Index: test/ScopInfo/loop_affine_bound_1.ll =================================================================== --- test/ScopInfo/loop_affine_bound_1.ll +++ test/ScopInfo/loop_affine_bound_1.ll @@ -57,7 +57,7 @@ ; CHECK: Domain := ; CHECK: [N, M] -> { Stmt_bb1[i0, i1] : i0 >= 0 and i0 <= 2 + 4N + 7M and i1 >= 0 and i1 <= 1 + 5N - i0 and i0 <= 1 + 5N }; ; CHECK: Scattering := -; CHECK: [N, M] -> { Stmt_bb1[i0, i1] -> scattering[i0, i1] }; +; CHECK: [N, M] -> { Stmt_bb1[i0, i1] -> [i0, i1] }; ; CHECK: MustWriteAccess := [Reduction Type: NONE] ; CHECK: [N, M] -> { Stmt_bb1[i0, i1] -> MemRef_a[129i0 + 128i1] }; ; CHECK: } Index: test/ScopInfo/loop_affine_bound_2.ll =================================================================== --- test/ScopInfo/loop_affine_bound_2.ll +++ test/ScopInfo/loop_affine_bound_2.ll @@ -68,7 +68,7 @@ ; CHECK: Domain := ; CHECK: [N, M] -> { Stmt_bb1[i0, i1] : i0 >= 0 and i0 <= 2 + 4N + 7M and i1 >= 0 and i1 <= 10 + 5N - 6M - 4i0 and 4i0 <= 10 + 5N - 6M }; ; CHECK: Scattering := -; CHECK: [N, M] -> { Stmt_bb1[i0, i1] -> scattering[i0, i1] }; +; CHECK: [N, M] -> { Stmt_bb1[i0, i1] -> [i0, i1] }; ; CHECK: MustWriteAccess := [Reduction Type: NONE] ; CHECK: [N, M] -> { Stmt_bb1[i0, i1] -> MemRef_a[-1152 + 768M + 897i0 + 128i1] }; ; CHECK: } Index: test/ScopInfo/loop_carry.ll =================================================================== --- test/ScopInfo/loop_carry.ll +++ test/ScopInfo/loop_carry.ll @@ -53,7 +53,7 @@ ; CHECK: Domain := ; CHECK: [n] -> { Stmt_bb_nph[] : n >= 2 }; ; CHECK: Scattering := -; CHECK: [n] -> { Stmt_bb_nph[] -> scattering[0, 0] }; +; CHECK: [n] -> { Stmt_bb_nph[] -> [0, 0] }; ; CHECK: ReadAccess := ; CHECK: [n] -> { Stmt_bb_nph[] -> MemRef_a[0] }; ; CHECK: MustWriteAccess := @@ -64,7 +64,7 @@ ; CHECK: Domain := ; CHECK: [n] -> { Stmt_bb[i0] : i0 >= 0 and i0 <= -2 + n and n >= 2 }; ; CHECK: Scattering := -; CHECK: [n] -> { Stmt_bb[i0] -> scattering[1, i0] }; +; CHECK: [n] -> { Stmt_bb[i0] -> [1, i0] }; ; CHECK: ReadAccess := ; CHECK: [n] -> { Stmt_bb[i0] -> MemRef__reg2mem[0] }; ; CHECK: ReadAccess := Index: test/ScopInfo/multidim_2d-diagonal-matrix.ll =================================================================== --- test/ScopInfo/multidim_2d-diagonal-matrix.ll +++ test/ScopInfo/multidim_2d-diagonal-matrix.ll @@ -19,7 +19,7 @@ ; CHECK: Domain := ; CHECK: [n] -> { Stmt_for_i[i0] : i0 >= 0 and i0 <= -1 + n }; ; CHECK: Scattering := -; CHECK: [n] -> { Stmt_for_i[i0] -> scattering[i0] }; +; CHECK: [n] -> { Stmt_for_i[i0] -> [i0] }; ; CHECK: MustWriteAccess := ; CHECK: [n] -> { Stmt_for_i[i0] -> MemRef_A[i0, i0] }; Index: test/ScopInfo/multidim_2d_outer_parametric_offset.ll =================================================================== --- test/ScopInfo/multidim_2d_outer_parametric_offset.ll +++ test/ScopInfo/multidim_2d_outer_parametric_offset.ll @@ -19,7 +19,7 @@ ; CHECK: Domain := ; CHECK: [m, p] -> { Stmt_for_j[i0, i1] : i0 >= 0 and i0 <= 99 and i1 >= 0 and i1 <= -1 + m }; ; CHECK: Scattering := -; CHECK: [m, p] -> { Stmt_for_j[i0, i1] -> scattering[i0, i1] }; +; CHECK: [m, p] -> { Stmt_for_j[i0, i1] -> [i0, i1] }; ; CHECK: MustWriteAccess := [Reduction Type: NONE] ; CHECK: [m, p] -> { Stmt_for_j[i0, i1] -> MemRef_A[p + i0, i1] }; ; CHECK: } Index: test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll =================================================================== --- test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll +++ test/ScopInfo/multidim_2d_parametric_array_static_loop_bounds.ll @@ -17,7 +17,7 @@ ; CHECK: Domain := ; CHECK: [m] -> { Stmt_for_j[i0, i1] : i0 >= 0 and i0 <= 99 and i1 >= 0 and i1 <= 149 }; ; CHECK: Scattering := -; CHECK: [m] -> { Stmt_for_j[i0, i1] -> scattering[i0, i1] }; +; CHECK: [m] -> { Stmt_for_j[i0, i1] -> [i0, i1] }; ; CHECK: MustWriteAccess := [Reduction Type: NONE] ; CHECK: [m] -> { Stmt_for_j[i0, i1] -> MemRef_A[i0, i1] }; Index: test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll =================================================================== --- test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll +++ test/ScopInfo/multidim_3d_parametric_array_static_loop_bounds.ll @@ -19,7 +19,7 @@ ; CHECK: Domain := ; CHECK: [m, o] -> { Stmt_for_k[i0, i1, i2] : i0 >= 0 and i0 <= 99 and i1 >= 0 and i1 <= 149 and i2 >= 0 and i2 <= 199 }; ; CHECK: Scattering := -; CHECK: [m, o] -> { Stmt_for_k[i0, i1, i2] -> scattering[i0, i1, i2] }; +; CHECK: [m, o] -> { Stmt_for_k[i0, i1, i2] -> [i0, i1, i2] }; ; CHECK: MustWriteAccess := [Reduction Type: NONE] ; CHECK: [m, o] -> { Stmt_for_k[i0, i1, i2] -> MemRef_A[i0, i1, i2] }; Index: test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll =================================================================== --- test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll +++ test/ScopInfo/multidim_ivs_and_integer_offsets_3d.ll @@ -21,7 +21,7 @@ ; CHECK: Domain ; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] : i0 >= 0 and i0 <= -4 + n and i1 >= 0 and i1 <= -5 + m and i2 >= 0 and i2 <= -8 + o }; ; CHECK: Scattering -; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] -> scattering[i0, i1, i2] }; +; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] -> [i0, i1, i2] }; ; CHECK: MustWriteAccess ; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] -> MemRef_A[3 + i0, i1, 7 + i2] }; Index: test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll =================================================================== --- test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll +++ test/ScopInfo/multidim_ivs_and_parameteric_offsets_3d.ll @@ -28,7 +28,7 @@ ; CHECK: Domain ; CHECK: [n, m, o, p, q, r] -> { Stmt_for_k[i0, i1, i2] : i0 >= 0 and i0 <= -1 + n and i1 >= 0 and i1 <= -1 + m and i2 >= 0 and i2 <= -1 + o }; ; CHECK: Scattering -; CHECK: [n, m, o, p, q, r] -> { Stmt_for_k[i0, i1, i2] -> scattering[i0, i1, i2] }; +; CHECK: [n, m, o, p, q, r] -> { Stmt_for_k[i0, i1, i2] -> [i0, i1, i2] }; ; CHECK: MustWriteAccess ; CHECK: [n, m, o, p, q, r] -> { Stmt_for_k[i0, i1, i2] -> MemRef_A[p + i0, q + i1, r + i2] }; Index: test/ScopInfo/multidim_nested_start_integer.ll =================================================================== --- test/ScopInfo/multidim_nested_start_integer.ll +++ test/ScopInfo/multidim_nested_start_integer.ll @@ -18,7 +18,7 @@ ; CHECK: Domain ; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] : i0 >= 0 and i0 <= -4 + n and i1 >= 0 and i1 <= -5 + m and i2 >= 0 and i2 <= -8 + o }; ; CHECK: Scattering -; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] -> scattering[i0, i1, i2] }; +; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] -> [i0, i1, i2] }; ; CHECK: MustWriteAccess ; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] -> MemRef_A[3 + i0, i1, 7 + i2] }; Index: test/ScopInfo/multidim_only_ivs_2d.ll =================================================================== --- test/ScopInfo/multidim_only_ivs_2d.ll +++ test/ScopInfo/multidim_only_ivs_2d.ll @@ -19,7 +19,7 @@ ; CHECK: Domain ; CHECK: [n, m] -> { Stmt_for_j[i0, i1] : i0 >= 0 and i0 <= -1 + n and i1 >= 0 and i1 <= -1 + m }; ; CHECK: Scattering -; CHECK: [n, m] -> { Stmt_for_j[i0, i1] -> scattering[i0, i1] }; +; CHECK: [n, m] -> { Stmt_for_j[i0, i1] -> [i0, i1] }; ; CHECK: MustWriteAccess ; CHECK: [n, m] -> { Stmt_for_j[i0, i1] -> MemRef_A[i0, i1] }; Index: test/ScopInfo/multidim_only_ivs_3d.ll =================================================================== --- test/ScopInfo/multidim_only_ivs_3d.ll +++ test/ScopInfo/multidim_only_ivs_3d.ll @@ -20,7 +20,7 @@ ; CHECK: Domain ; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] : i0 >= 0 and i0 <= -1 + n and i1 >= 0 and i1 <= -1 + m and i2 >= 0 and i2 <= -1 + o }; ; CHECK: Scattering -; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] -> scattering[i0, i1, i2] }; +; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] -> [i0, i1, i2] }; ; CHECK: WriteAccess ; CHECK: [n, m, o] -> { Stmt_for_k[i0, i1, i2] -> MemRef_A[i0, i1, i2] }; Index: test/ScopInfo/multidim_only_ivs_3d_cast.ll =================================================================== --- test/ScopInfo/multidim_only_ivs_3d_cast.ll +++ test/ScopInfo/multidim_only_ivs_3d_cast.ll @@ -24,7 +24,7 @@ ; CHECK: Domain ; CHECK: [n, m, o, p_3, p_4] -> { Stmt_for_k[i0, i1, i2] : i0 >= 0 and i0 <= -1 + n and i1 >= 0 and i1 <= -1 + m and i2 >= 0 and i2 <= -1 + o }; ; CHECK: Scattering -; CHECK: [n, m, o, p_3, p_4] -> { Stmt_for_k[i0, i1, i2] -> scattering[i0, i1, i2] }; +; CHECK: [n, m, o, p_3, p_4] -> { Stmt_for_k[i0, i1, i2] -> [i0, i1, i2] }; ; CHECK: WriteAccess ; CHECK: [n, m, o, p_3, p_4] -> { Stmt_for_k[i0, i1, i2] -> MemRef_A[i0, i1, i2] }; Index: test/ScopInfo/multidim_only_ivs_3d_reverse.ll =================================================================== --- test/ScopInfo/multidim_only_ivs_3d_reverse.ll +++ test/ScopInfo/multidim_only_ivs_3d_reverse.ll @@ -25,7 +25,7 @@ ; CHECK: Domain ; CHECK: [n, o, m] -> { Stmt_for_j[i0, i1, i2] : i0 >= 0 and i0 <= -1 + n and i1 >= 0 and i1 <= -1 + o and i2 >= 0 and i2 <= -1 + m }; ; CHECK: Scattering -; CHECK: [n, o, m] -> { Stmt_for_j[i0, i1, i2] -> scattering[i0, i1, i2] }; +; CHECK: [n, o, m] -> { Stmt_for_j[i0, i1, i2] -> [i0, i1, i2] }; ; CHECK: WriteAccess ; CHECK: [n, o, m] -> { Stmt_for_j[i0, i1, i2] -> MemRef_A[i0, i2, i1] }; Index: test/ScopInfo/non_affine_parametric_loop.ll =================================================================== --- test/ScopInfo/non_affine_parametric_loop.ll +++ test/ScopInfo/non_affine_parametric_loop.ll @@ -30,7 +30,7 @@ ; CHECK: Domain ; CHECK: [n] -> { Stmt_for_body[i0] : i0 >= 0 and i0 <= -1 + n }; ; CHECK: Scattering -; CHECK: [n] -> { Stmt_for_body[i0] -> scattering[i0] }; +; CHECK: [n] -> { Stmt_for_body[i0] -> [i0] }; ; CHECK: ReadAccess ; CHECK: [n] -> { Stmt_for_body[i0] -> MemRef_INDEX[i0] }; ; CHECK: WriteAccess Index: test/ScopInfo/pointer-type-expressions.ll =================================================================== --- test/ScopInfo/pointer-type-expressions.ll +++ test/ScopInfo/pointer-type-expressions.ll @@ -44,6 +44,6 @@ ; CHECK: (P >= 1 and i0 >= 0 and i0 <= -1 + N) ; CHECK: }; ; CHECK: Scattering := -; CHECK: [N, P] -> { Stmt_store[i0] -> scattering[i0] }; +; CHECK: [N, P] -> { Stmt_store[i0] -> [i0] }; ; CHECK: MustWriteAccess := [Reduction Type: NONE] ; CHECK: [N, P] -> { Stmt_store[i0] -> MemRef_a[i0] }; Index: test/ScopInfo/scalar.ll =================================================================== --- test/ScopInfo/scalar.ll +++ test/ScopInfo/scalar.ll @@ -34,7 +34,7 @@ ; CHECK: Domain := ; CHECK: [N] -> { Stmt_S1[i0] : i0 >= 0 and i0 <= -1 + N }; ; CHECK: Scattering := -; CHECK: [N] -> { Stmt_S1[i0] -> scattering[i0, 0] }; +; CHECK: [N] -> { Stmt_S1[i0] -> [i0, 0] }; ; CHECK: ReadAccess := ; CHECK: [N] -> { Stmt_S1[i0] -> MemRef_a[i0] }; ; CHECK: MustWriteAccess := @@ -43,7 +43,7 @@ ; CHECK: Domain := ; CHECK: [N] -> { Stmt_S2[i0] : i0 >= 0 and i0 <= -1 + N }; ; CHECK: Scattering := -; CHECK: [N] -> { Stmt_S2[i0] -> scattering[i0, 1] }; +; CHECK: [N] -> { Stmt_S2[i0] -> [i0, 1] }; ; CHECK: ReadAccess := ; CHECK: [N] -> { Stmt_S2[i0] -> MemRef_val[] }; ; CHECK: MustWriteAccess := Index: test/ScopInfo/simple_loop_1.ll =================================================================== --- test/ScopInfo/simple_loop_1.ll +++ test/ScopInfo/simple_loop_1.ll @@ -32,6 +32,6 @@ ; CHECK: Domain := ; CHECK: [N] -> { Stmt_bb[i0] : i0 >= 0 and i0 <= -1 + N }; ; CHECK: Scattering := -; CHECK: [N] -> { Stmt_bb[i0] -> scattering[i0] }; +; CHECK: [N] -> { Stmt_bb[i0] -> [i0] }; ; CHECK: MustWriteAccess := [Reduction Type: NONE] ; CHECK: [N] -> { Stmt_bb[i0] -> MemRef_a[i0] }; Index: test/ScopInfo/unsigned-condition.ll =================================================================== --- test/ScopInfo/unsigned-condition.ll +++ test/ScopInfo/unsigned-condition.ll @@ -42,6 +42,6 @@ ; CHECK: i0 >= 0 and i0 <= -1 + N and P >= 42 ; CHECK: }; ; CHECK: Scattering := -; CHECK: [N, P] -> { Stmt_store[i0] -> scattering[i0] }; +; CHECK: [N, P] -> { Stmt_store[i0] -> [i0] }; ; CHECK: MustWriteAccess := [Reduction Type: NONE] ; CHECK: [N, P] -> { Stmt_store[i0] -> MemRef_a[i0] };