static bool isParallel(__isl_keep isl_ast_node *Node);
/// Is this loop an outermost parallel loop?
- static bool isOutermostParallel(__isl_keep isl_ast_node *Node);
+ static bool isOutermostParallel(const isl::ast_node &Node);
/// Is this loop an innermost parallel loop?
static bool isInnermostParallel(const isl::ast_node &Node);
if (IslAstInfo::isExecutedInParallel(Node))
Printer = printLine(Printer, OmpPragmaStr);
- else if (IslAstInfo::isOutermostParallel(Node))
+ else if (IslAstInfo::isOutermostParallel(isl::manage_copy(Node)))
Printer = printLine(Printer, KnownParallelStr + BrokenReductionsStr);
isl_pw_aff_free(DD);
NumParallel++;
if (IslAstInfo::isInnermostParallel(isl::manage_copy(Node)))
NumInnermostParallel++;
- if (IslAstInfo::isOutermostParallel(Node))
+ if (IslAstInfo::isOutermostParallel(isl::manage_copy(Node)))
NumOutermostParallel++;
if (IslAstInfo::isReductionParallel(Node))
NumReductionParallel++;
bool IslAstInfo::isParallel(__isl_keep isl_ast_node *Node) {
return IslAstInfo::isInnermostParallel(isl::manage_copy(Node)) ||
- IslAstInfo::isOutermostParallel(Node);
+ IslAstInfo::isOutermostParallel(isl::manage_copy(Node));
}
bool IslAstInfo::isInnermostParallel(const isl::ast_node &Node) {
return Payload && Payload->IsInnermostParallel;
}
-bool IslAstInfo::isOutermostParallel(__isl_keep isl_ast_node *Node) {
- IslAstUserPayload *Payload = getNodePayload(isl::manage_copy(Node));
+bool IslAstInfo::isOutermostParallel(const isl::ast_node &Node) {
+ IslAstUserPayload *Payload = getNodePayload(Node);
return Payload && Payload->IsOutermostParallel;
}
if (!PollyParallelForce && isInnermost(Node))
return false;
- return isOutermostParallel(Node) && !isReductionParallel(Node);
+ return isOutermostParallel(isl::manage_copy(Node)) &&
+ !isReductionParallel(Node);
}
__isl_give isl_union_map *