[PATCH] D100380: [Polly] In getBuild() use isl::noexception bindings

Saheed Olayemi Bolarinwa via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 15 07:42:13 PDT 2021


refactormyself added a comment.

Thank you @Meinersbur and @patacca for your reviews. I will make amendments.
@Meinersbur please, I will appreciate some clarification here:

In D100380#2690549 <https://reviews.llvm.org/D100380#2690549>, @Meinersbur wrote:

> The harbormaster build fails indicate that there is some memory corruption going on. At a first glance I suspect it is the return value of `IslAstInfo::getBuild`. Line 722 of IslAst.cpp calls `isl::manage_copy` on it, which in case of `__isl_give` would usually be memory leak. The `__isl_give` might not actually be correct, repectively  `IslAstInfo::getBuild` should have made a copy before returning.

I am trying to understand what is meant by "The `__isl_give` might not actually be correct ...". 
Here is the line of I think is being referred to:

`isl::ast_build Build = IslAstInfo::getBuild(isl::manage_copy(Node));`

If I understand the code, `isl::manage_copy` should raise an exception if Node is not "correct"

Do you mean calling `isl::manage_copy` and not `isl::manage` on `Payload->Build` , so it checks and raises an exception?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D100380/new/

https://reviews.llvm.org/D100380



More information about the llvm-commits mailing list