Lines Matching refs:isl
136 static const std::string getBrokenReductionsStr(const isl::ast_node &Node) { in getBrokenReductionsStr()
167 isl::pw_aff DD = in cbPrintFor()
168 IslAstInfo::getMinimalDependenceDistance(isl::manage_copy(Node)); in cbPrintFor()
170 getBrokenReductionsStr(isl::manage_copy(Node)); in cbPrintFor()
179 if (IslAstInfo::isInnermostParallel(isl::manage_copy(Node))) in cbPrintFor()
182 if (IslAstInfo::isExecutedInParallel(isl::manage_copy(Node))) in cbPrintFor()
184 else if (IslAstInfo::isOutermostParallel(isl::manage_copy(Node))) in cbPrintFor()
200 static bool astScheduleDimIsParallel(const isl::ast_build &Build, in astScheduleDimIsParallel()
206 isl::union_map Schedule = Build.get_schedule(); in astScheduleDimIsParallel()
207 isl::union_map Dep = D->getDependences( in astScheduleDimIsParallel()
211 isl::union_map DepsAll = in astScheduleDimIsParallel()
219 isl::manage(MinimalDependenceDistanceIsl); in astScheduleDimIsParallel()
223 isl::union_map RedDeps = D->getDependences(Dependences::TYPE_TC_RED); in astScheduleDimIsParallel()
233 isl::union_map MaRedDeps = isl::manage_copy(MaRedPair.second); in astScheduleDimIsParallel()
255 Payload->IsParallel = astScheduleDimIsParallel(isl::manage_copy(Build), in astBuildBeforeFor()
283 Payload->Build = isl::manage_copy(Build); in astBuildAfterFor()
329 Payload->Build = isl::manage_copy(Build); in AtEachDomain()
335 static isl::ast_expr buildCondition(Scop &S, isl::ast_build Build, in buildCondition()
339 isl::pw_multi_aff AFirst = It0->first; in buildCondition()
340 isl::pw_multi_aff ASecond = It0->second; in buildCondition()
341 isl::pw_multi_aff BFirst = It1->first; in buildCondition()
342 isl::pw_multi_aff BSecond = It1->second; in buildCondition()
344 isl::id Left = AFirst.get_tuple_id(isl::dim::set); in buildCondition()
345 isl::id Right = BFirst.get_tuple_id(isl::dim::set); in buildCondition()
347 isl::ast_expr True = in buildCondition()
348 isl::ast_expr::from_val(isl::val::int_from_ui(Build.ctx(), 1)); in buildCondition()
349 isl::ast_expr False = in buildCondition()
350 isl::ast_expr::from_val(isl::val::int_from_ui(Build.ctx(), 0)); in buildCondition()
359 isl::set Params = S.getContext(); in buildCondition()
361 isl::ast_expr NonAliasGroup, MinExpr, MaxExpr; in buildCondition()
380 isl::ast_expr Result = MaxExpr.le(MinExpr); in buildCondition()
382 NonAliasGroup = isl::manage( in buildCondition()
394 isl::ast_expr IslAst::buildRunCondition(Scop &S, const isl::ast_build &Build) { in buildRunCondition()
395 isl::ast_expr RunCondition; in buildRunCondition()
404 auto ZeroV = isl::val::zero(Build.ctx()); in buildRunCondition()
407 isl::ast_expr::from_val(std::move(ZeroV)).eq(std::move(NegCond)); in buildRunCondition()
409 isl::manage(isl_ast_expr_and(PosCond.release(), NotNegCond.release())); in buildRunCondition()
424 RunCondition = isl::manage(isl_ast_expr_and( in buildRunCondition()
428 RunCondition = isl::manage(isl_ast_expr_and( in buildRunCondition()
458 static void walkAstForStatistics(const isl::ast_node &Ast) { in walkAstForStatistics()
466 if (IslAstInfo::isParallel(isl::manage_copy(Node))) in walkAstForStatistics()
468 if (IslAstInfo::isInnermostParallel(isl::manage_copy(Node))) in walkAstForStatistics()
470 if (IslAstInfo::isOutermostParallel(isl::manage_copy(Node))) in walkAstForStatistics()
472 if (IslAstInfo::isReductionParallel(isl::manage_copy(Node))) in walkAstForStatistics()
474 if (IslAstInfo::isExecutedInParallel(isl::manage_copy(Node))) in walkAstForStatistics()
543 RunCondition = buildRunCondition(S, isl::manage_copy(Build)); in init()
545 Root = isl::manage( in init()
558 isl::ast_node IslAst::getAst() { return Root; } in getAst()
559 isl::ast_expr IslAst::getRunCondition() { return RunCondition; } in getRunCondition()
561 isl::ast_node IslAstInfo::getAst() { return Ast.getAst(); } in getAst()
562 isl::ast_expr IslAstInfo::getRunCondition() { return Ast.getRunCondition(); } in getRunCondition()
564 IslAstUserPayload *IslAstInfo::getNodePayload(const isl::ast_node &Node) { in getNodePayload()
565 isl::id Id = Node.get_annotation(); in getNodePayload()
572 bool IslAstInfo::isInnermost(const isl::ast_node &Node) { in isInnermost()
577 bool IslAstInfo::isParallel(const isl::ast_node &Node) { in isParallel()
582 bool IslAstInfo::isInnermostParallel(const isl::ast_node &Node) { in isInnermostParallel()
587 bool IslAstInfo::isOutermostParallel(const isl::ast_node &Node) { in isOutermostParallel()
592 bool IslAstInfo::isReductionParallel(const isl::ast_node &Node) { in isReductionParallel()
597 bool IslAstInfo::isExecutedInParallel(const isl::ast_node &Node) { in isExecutedInParallel()
616 isl::union_map IslAstInfo::getSchedule(const isl::ast_node &Node) { in getSchedule()
618 return Payload ? Payload->Build.get_schedule() : isl::union_map(); in getSchedule()
621 isl::pw_aff
622 IslAstInfo::getMinimalDependenceDistance(const isl::ast_node &Node) { in getMinimalDependenceDistance()
624 return Payload ? Payload->MinimalDependenceDistance : isl::pw_aff(); in getMinimalDependenceDistance()
628 IslAstInfo::getBrokenReductions(const isl::ast_node &Node) { in getBrokenReductions()
633 isl::ast_build IslAstInfo::getBuild(const isl::ast_node &Node) { in getBuild()
635 return Payload ? Payload->Build : isl::ast_build(); in getBuild()
678 isl::ast_node_user AstNode = isl::manage_copy(Node).as<isl::ast_node_user>(); in cbPrintUser()
679 isl::ast_expr NodeExpr = AstNode.expr(); in cbPrintUser()
680 isl::ast_expr CallExpr = NodeExpr.get_op_arg(0); in cbPrintUser()
681 isl::id CallExprId = CallExpr.get_id(); in cbPrintUser()
698 isl::ast_build Build = IslAstInfo::getBuild(isl::manage_copy(Node)); in cbPrintUser()
702 isl::pw_multi_aff Pwma = isl::manage(PwmaPtr); in cbPrintUser()
703 isl::ast_expr AccessExpr = Build.access_from(Pwma); in cbPrintUser()
724 isl::ast_node RootNode = Ast.getAst(); in print()
739 isl::ast_expr RunCondition = Ast.getRunCondition(); in print()