/// Get the assumed context for this Scop.
///
/// @return The assumed context of this Scop.
- __isl_give isl_set *getAssumedContext() const;
+ isl::set getAssumedContext() const;
/// Return true if the optimized SCoP can be executed.
///
isl_union_map_add_map(StmtSchedule, Stmt.getSchedule().release());
}
- StmtSchedule =
- isl_union_map_intersect_params(StmtSchedule, S.getAssumedContext());
+ StmtSchedule = isl_union_map_intersect_params(
+ StmtSchedule, S.getAssumedContext().release());
TaggedStmtDomain = isl_union_map_domain(StmtSchedule);
ReductionTagMap = isl_union_map_coalesce(ReductionTagMap);
return Space;
}
-__isl_give isl_set *Scop::getAssumedContext() const {
+isl::set Scop::getAssumedContext() const {
assert(AssumedContext && "Assumed context not yet built");
- return isl_set_copy(AssumedContext);
+ return isl::manage(isl_set_copy(AssumedContext));
}
bool Scop::isProfitable(bool ScalarsAreUnprofitable) const {
}
bool Scop::hasFeasibleRuntimeContext() const {
- auto *PositiveContext = getAssumedContext();
+ auto *PositiveContext = getAssumedContext().release();
auto *NegativeContext = getInvalidContext();
PositiveContext =
addNonEmptyDomainConstraints(isl::manage(PositiveContext)).release();
// The conditions that need to be checked at run-time for this scop are
// available as an isl_set in the runtime check context from which we can
// directly derive a run-time condition.
- auto *PosCond = isl_ast_build_expr_from_set(Build, S.getAssumedContext());
+ auto *PosCond =
+ isl_ast_build_expr_from_set(Build, S.getAssumedContext().release());
if (S.hasTrivialInvalidContext()) {
RunCondition = PosCond;
} else {