Index: polly/include/polly/CodeGen/IslNodeBuilder.h =================================================================== --- polly/include/polly/CodeGen/IslNodeBuilder.h +++ polly/include/polly/CodeGen/IslNodeBuilder.h @@ -76,7 +76,7 @@ virtual ~IslNodeBuilder() = default; - void addParameters(__isl_take isl_set *Context); + void addParameters(isl::set Context); /// Create Values which hold the sizes of the outermost dimension of all /// Fortran arrays in the current scop. Index: polly/lib/CodeGen/CodeGeneration.cpp =================================================================== --- polly/lib/CodeGen/CodeGeneration.cpp +++ polly/lib/CodeGen/CodeGeneration.cpp @@ -267,7 +267,7 @@ DT.changeImmediateDominator(MergeBlock, ExitingBB); DT.eraseNode(ExitingBlock); } else { - NodeBuilder.addParameters(S.getContext().release()); + NodeBuilder.addParameters(isl::manage(S.getContext().release())); Value *RTC = NodeBuilder.createRTC(AI.getRunCondition().release()); Builder.GetInsertBlock()->getTerminator()->setOperand(0, RTC); Index: polly/lib/CodeGen/IslNodeBuilder.cpp =================================================================== --- polly/lib/CodeGen/IslNodeBuilder.cpp +++ polly/lib/CodeGen/IslNodeBuilder.cpp @@ -1538,7 +1538,7 @@ return true; } -void IslNodeBuilder::addParameters(__isl_take isl_set *Context) { +void IslNodeBuilder::addParameters(isl::set Context) { // Materialize values for the parameters of the SCoP. materializeParameters(); @@ -1563,8 +1563,6 @@ materializeNonScopLoopInductionVariable(L); L = L->getParentLoop(); } - - isl_set_free(Context); } Value *IslNodeBuilder::generateSCEV(const SCEV *Expr) {