diff --git a/polly/include/polly/CodeGen/IslAst.h b/polly/include/polly/CodeGen/IslAst.h --- a/polly/include/polly/CodeGen/IslAst.h +++ b/polly/include/polly/CodeGen/IslAst.h @@ -139,7 +139,7 @@ static IslAstUserPayload *getNodePayload(const isl::ast_node &Node); /// Is this loop an innermost loop? - static bool isInnermost(__isl_keep isl_ast_node *Node); + static bool isInnermost(const isl::ast_node &Node); /// Is this loop a parallel loop? static bool isParallel(__isl_keep isl_ast_node *Node); diff --git a/polly/lib/CodeGen/IslAst.cpp b/polly/lib/CodeGen/IslAst.cpp --- a/polly/lib/CodeGen/IslAst.cpp +++ b/polly/lib/CodeGen/IslAst.cpp @@ -588,8 +588,8 @@ return Payload; } -bool IslAstInfo::isInnermost(__isl_keep isl_ast_node *Node) { - IslAstUserPayload *Payload = getNodePayload(isl::manage_copy(Node)); +bool IslAstInfo::isInnermost(const isl::ast_node &Node) { + IslAstUserPayload *Payload = getNodePayload(Node); return Payload && Payload->IsInnermost; } @@ -626,7 +626,7 @@ // executed. This can possibly require run-time checks, which again // raises the question of both run-time check overhead and code size // costs. - if (!PollyParallelForce && isInnermost(Node)) + if (!PollyParallelForce && isInnermost(isl::manage_copy(Node))) return false; return isOutermostParallel(isl::manage_copy(Node)) &&