[polly] f60ea69 - Revert "[Polly][Isl] Removing nullptr constructor from C++ bindings. NFC."
via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 8 08:13:35 PDT 2021
Author: patacca
Date: 2021-06-08T17:12:10+02:00
New Revision: f60ea691a94b3b4c28f2ff85a4520562f4110810
URL: https://github.com/llvm/llvm-project/commit/f60ea691a94b3b4c28f2ff85a4520562f4110810
DIFF: https://github.com/llvm/llvm-project/commit/f60ea691a94b3b4c28f2ff85a4520562f4110810.diff
LOG: Revert "[Polly][Isl] Removing nullptr constructor from C++ bindings. NFC."
This reverts commit be5e2fc7bf781c7fc079943552ea1b519f45c815.
This introduced a building error for polly. https://lab.llvm.org/buildbot#builders/10/builds/4951
Added:
Modified:
polly/include/polly/ScopInfo.h
polly/lib/Analysis/ScopBuilder.cpp
polly/lib/Analysis/ScopInfo.cpp
polly/lib/CodeGen/IslAst.cpp
polly/lib/External/isl/include/isl/isl-noexceptions.h
polly/lib/Support/ISLTools.cpp
polly/lib/Transform/DeLICM.cpp
polly/lib/Transform/FlattenAlgo.cpp
polly/lib/Transform/FlattenSchedule.cpp
polly/lib/Transform/ForwardOpTree.cpp
polly/lib/Transform/ScheduleOptimizer.cpp
polly/lib/Transform/ZoneAlgo.cpp
polly/unittests/DeLICM/DeLICMTest.cpp
Removed:
################################################################################
diff --git a/polly/include/polly/ScopInfo.h b/polly/include/polly/ScopInfo.h
index 289d1f2004f50..559744abc9280 100644
--- a/polly/include/polly/ScopInfo.h
+++ b/polly/include/polly/ScopInfo.h
@@ -1788,7 +1788,7 @@ class Scop {
DenseMap<BasicBlock *, isl::set> DomainMap;
/// Constraints on parameters.
- isl::set Context;
+ isl::set Context = nullptr;
/// The affinator used to translate SCEVs to isl expressions.
SCEVAffinator Affinator;
@@ -1883,7 +1883,7 @@ class Scop {
/// set of statement instances that will be scheduled in a subtree. There
/// are also several other nodes. A full description of the
diff erent nodes
/// in a schedule tree is given in the isl manual.
- isl::schedule Schedule;
+ isl::schedule Schedule = nullptr;
/// Is this Scop marked as not to be transformed by an optimization heuristic?
bool HasDisableHeuristicsHint = false;
diff --git a/polly/lib/Analysis/ScopBuilder.cpp b/polly/lib/Analysis/ScopBuilder.cpp
index 38e257f4886d9..bf6bd193ca9d7 100644
--- a/polly/lib/Analysis/ScopBuilder.cpp
+++ b/polly/lib/Analysis/ScopBuilder.cpp
@@ -750,7 +750,7 @@ bool ScopBuilder::addLoopBoundsToHeaderDomain(
isl::set LatchBBDom = scop->getDomainConditions(LatchBB);
- isl::set BackedgeCondition;
+ isl::set BackedgeCondition = nullptr;
Instruction *TI = LatchBB->getTerminator();
BranchInst *BI = dyn_cast<BranchInst>(TI);
@@ -823,7 +823,7 @@ void ScopBuilder::buildInvariantEquivalenceClasses() {
ClassRep = LInst;
scop->addInvariantEquivClass(
- InvariantEquivClassTy{PointerSCEV, MemoryAccessList(), {}, Ty});
+ InvariantEquivClassTy{PointerSCEV, MemoryAccessList(), nullptr, Ty});
}
}
@@ -1175,7 +1175,7 @@ static isl::multi_union_pw_aff mapToDimension(isl::union_set USet, int N) {
void ScopBuilder::buildSchedule() {
Loop *L = getLoopSurroundingScop(*scop, LI);
- LoopStackTy LoopStack({LoopStackElementTy(L, {}, 0)});
+ LoopStackTy LoopStack({LoopStackElementTy(L, nullptr, 0)});
buildSchedule(scop->getRegion().getNode(), LoopStack);
assert(LoopStack.size() == 1 && LoopStack.back().L == L);
scop->setScheduleTree(LoopStack[0].Schedule);
@@ -1243,7 +1243,7 @@ void ScopBuilder::buildSchedule(Region *R, LoopStackTy &LoopStack) {
DelayList.push_back(RN);
continue;
}
- LoopStack.push_back({L, {}, 0});
+ LoopStack.push_back({L, nullptr, 0});
}
buildSchedule(RN, LoopStack);
}
@@ -2911,7 +2911,7 @@ isl::set ScopBuilder::getNonHoistableCtx(MemoryAccess *Access,
if (Access->isScalarKind() || Access->isWrite() || !Access->isAffine() ||
Access->isMemoryIntrinsic())
- return {};
+ return nullptr;
// Skip accesses that have an invariant base pointer which is defined but
// not loaded inside the SCoP. This can happened e.g., if a readnone call
@@ -2924,13 +2924,13 @@ isl::set ScopBuilder::getNonHoistableCtx(MemoryAccess *Access,
// outside the region.
auto *LI = cast<LoadInst>(Access->getAccessInstruction());
if (hasNonHoistableBasePtrInScop(Access, Writes))
- return {};
+ return nullptr;
isl::map AccessRelation = Access->getAccessRelation();
assert(!AccessRelation.is_empty());
if (AccessRelation.involves_dims(isl::dim::in, 0, Stmt.getNumIterators()))
- return {};
+ return nullptr;
AccessRelation = AccessRelation.intersect_domain(Stmt.getDomain());
isl::set SafeToLoad;
@@ -2942,13 +2942,13 @@ isl::set ScopBuilder::getNonHoistableCtx(MemoryAccess *Access,
} else if (BB != LI->getParent()) {
// Skip accesses in non-affine subregions as they might not be executed
// under the same condition as the entry of the non-affine subregion.
- return {};
+ return nullptr;
} else {
SafeToLoad = AccessRelation.range();
}
if (isAccessRangeTooComplex(AccessRelation.range()))
- return {};
+ return nullptr;
isl::union_map Written = Writes.intersect_range(SafeToLoad);
isl::set WrittenCtx = Written.params();
@@ -2960,7 +2960,7 @@ isl::set ScopBuilder::getNonHoistableCtx(MemoryAccess *Access,
WrittenCtx = WrittenCtx.remove_divs();
bool TooComplex = WrittenCtx.n_basic_set() >= MaxDisjunctsInDomain;
if (TooComplex || !isRequiredInvariantLoad(LI))
- return {};
+ return nullptr;
scop->addAssumption(INVARIANTLOAD, WrittenCtx, LI->getDebugLoc(),
AS_RESTRICTION, LI->getParent());
diff --git a/polly/lib/Analysis/ScopInfo.cpp b/polly/lib/Analysis/ScopInfo.cpp
index fcc852b15acd3..ba529304fbb50 100644
--- a/polly/lib/Analysis/ScopInfo.cpp
+++ b/polly/lib/Analysis/ScopInfo.cpp
@@ -348,7 +348,7 @@ bool ScopArrayInfo::updateSizes(ArrayRef<const SCEV *> NewSizes,
DimensionSizesPw.clear();
for (const SCEV *Expr : DimensionSizes) {
if (!Expr) {
- DimensionSizesPw.push_back(isl::pw_aff());
+ DimensionSizesPw.push_back(nullptr);
continue;
}
isl::pw_aff Size = S.getPwAffOnly(Expr);
@@ -889,12 +889,12 @@ MemoryAccess::MemoryAccess(ScopStmt *Stmt, Instruction *AccessInst,
ArrayRef<const SCEV *> Subscripts,
ArrayRef<const SCEV *> Sizes, Value *AccessValue,
MemoryKind Kind)
- : Kind(Kind), AccType(AccType), Statement(Stmt), InvalidDomain(),
+ : Kind(Kind), AccType(AccType), Statement(Stmt), InvalidDomain(nullptr),
BaseAddr(BaseAddress), ElementType(ElementType),
Sizes(Sizes.begin(), Sizes.end()), AccessInstruction(AccessInst),
AccessValue(AccessValue), IsAffine(Affine),
- Subscripts(Subscripts.begin(), Subscripts.end()), AccessRelation(),
- NewAccessRelation(), FAD(nullptr) {
+ Subscripts(Subscripts.begin(), Subscripts.end()), AccessRelation(nullptr),
+ NewAccessRelation(nullptr), FAD(nullptr) {
static const std::string TypeStrings[] = {"", "_Read", "_Write", "_MayWrite"};
const std::string Access = TypeStrings[AccType] + utostr(Stmt->size());
@@ -904,8 +904,8 @@ MemoryAccess::MemoryAccess(ScopStmt *Stmt, Instruction *AccessInst,
MemoryAccess::MemoryAccess(ScopStmt *Stmt, AccessType AccType, isl::map AccRel)
: Kind(MemoryKind::Array), AccType(AccType), Statement(Stmt),
- InvalidDomain(), AccessRelation(), NewAccessRelation(AccRel),
- FAD(nullptr) {
+ InvalidDomain(nullptr), AccessRelation(nullptr),
+ NewAccessRelation(AccRel), FAD(nullptr) {
isl::id ArrayInfoId = NewAccessRelation.get_tuple_id(isl::dim::out);
auto *SAI = ScopArrayInfo::getFromId(ArrayInfoId);
Sizes.push_back(nullptr);
@@ -1133,7 +1133,7 @@ isl::map ScopStmt::getSchedule() const {
return isl::map::from_aff(isl::aff(isl::local_space(getDomainSpace())));
auto Schedule = getParent()->getSchedule();
if (!Schedule)
- return {};
+ return nullptr;
Schedule = Schedule.intersect_domain(isl::union_set(Domain));
if (Schedule.is_empty())
return isl::map::from_aff(isl::aff(isl::local_space(getDomainSpace())));
@@ -1203,19 +1203,21 @@ void ScopStmt::realignParams() {
ScopStmt::ScopStmt(Scop &parent, Region &R, StringRef Name,
Loop *SurroundingLoop,
std::vector<Instruction *> EntryBlockInstructions)
- : Parent(parent), InvalidDomain(), Domain(), R(&R), Build(), BaseName(Name),
- SurroundingLoop(SurroundingLoop), Instructions(EntryBlockInstructions) {}
+ : Parent(parent), InvalidDomain(nullptr), Domain(nullptr), R(&R),
+ Build(nullptr), BaseName(Name), SurroundingLoop(SurroundingLoop),
+ Instructions(EntryBlockInstructions) {}
ScopStmt::ScopStmt(Scop &parent, BasicBlock &bb, StringRef Name,
Loop *SurroundingLoop,
std::vector<Instruction *> Instructions)
- : Parent(parent), InvalidDomain(), Domain(), BB(&bb), Build(),
- BaseName(Name), SurroundingLoop(SurroundingLoop),
+ : Parent(parent), InvalidDomain(nullptr), Domain(nullptr), BB(&bb),
+ Build(nullptr), BaseName(Name), SurroundingLoop(SurroundingLoop),
Instructions(Instructions) {}
ScopStmt::ScopStmt(Scop &parent, isl::map SourceRel, isl::map TargetRel,
isl::set NewDomain)
- : Parent(parent), InvalidDomain(), Domain(NewDomain), Build() {
+ : Parent(parent), InvalidDomain(nullptr), Domain(NewDomain),
+ Build(nullptr) {
BaseName = getIslCompatibleName("CopyStmt_", "",
std::to_string(parent.getCopyStmtsNum()));
isl::id Id = isl::id::alloc(getIslCtx(), getBaseName(), this);
@@ -2149,7 +2151,7 @@ void Scop::intersectDefinedBehavior(isl::set Set, AssumptionSign Sign) {
simplify(DefinedBehaviorContext);
if (DefinedBehaviorContext.n_basic_set() >
MaxDisjunktsInDefinedBehaviourContext)
- DefinedBehaviorContext = {};
+ DefinedBehaviorContext = nullptr;
}
}
diff --git a/polly/lib/CodeGen/IslAst.cpp b/polly/lib/CodeGen/IslAst.cpp
index 38daa19d88b1f..cf63a592b7649 100644
--- a/polly/lib/CodeGen/IslAst.cpp
+++ b/polly/lib/CodeGen/IslAst.cpp
@@ -623,7 +623,7 @@ bool IslAstInfo::isExecutedInParallel(const isl::ast_node &Node) {
isl::union_map IslAstInfo::getSchedule(const isl::ast_node &Node) {
IslAstUserPayload *Payload = getNodePayload(Node);
if (!Payload)
- return {};
+ return nullptr;
isl::ast_build Build = isl::manage_copy(Payload->Build);
return Build.get_schedule();
@@ -632,7 +632,7 @@ isl::union_map IslAstInfo::getSchedule(const isl::ast_node &Node) {
isl::pw_aff
IslAstInfo::getMinimalDependenceDistance(const isl::ast_node &Node) {
IslAstUserPayload *Payload = getNodePayload(Node);
- return Payload ? Payload->MinimalDependenceDistance : isl::pw_aff();
+ return Payload ? Payload->MinimalDependenceDistance : nullptr;
}
IslAstInfo::MemoryAccessSet *
diff --git a/polly/lib/External/isl/include/isl/isl-noexceptions.h b/polly/lib/External/isl/include/isl/isl-noexceptions.h
index 7232d4e463646..9bbb4640befab 100644
--- a/polly/lib/External/isl/include/isl/isl-noexceptions.h
+++ b/polly/lib/External/isl/include/isl/isl-noexceptions.h
@@ -236,6 +236,7 @@ class aff {
public:
inline /* implicit */ aff();
inline /* implicit */ aff(const aff &obj);
+ inline /* implicit */ aff(std::nullptr_t);
inline explicit aff(ctx ctx, const std::string &str);
inline explicit aff(local_space ls, val val);
inline explicit aff(local_space ls);
@@ -342,6 +343,7 @@ class aff_list {
public:
inline /* implicit */ aff_list();
inline /* implicit */ aff_list(const aff_list &obj);
+ inline /* implicit */ aff_list(std::nullptr_t);
inline aff_list &operator=(aff_list obj);
inline ~aff_list();
inline __isl_give isl_aff_list *copy() const &;
@@ -386,6 +388,7 @@ class ast_build {
public:
inline /* implicit */ ast_build();
inline /* implicit */ ast_build(const ast_build &obj);
+ inline /* implicit */ ast_build(std::nullptr_t);
inline explicit ast_build(ctx ctx);
inline ast_build &operator=(ast_build obj);
inline ~ast_build();
@@ -427,6 +430,7 @@ class ast_expr {
public:
inline /* implicit */ ast_expr();
inline /* implicit */ ast_expr(const ast_expr &obj);
+ inline /* implicit */ ast_expr(std::nullptr_t);
inline ast_expr &operator=(ast_expr obj);
inline ~ast_expr();
inline __isl_give isl_ast_expr *copy() const &;
@@ -485,6 +489,7 @@ class ast_expr_list {
public:
inline /* implicit */ ast_expr_list();
inline /* implicit */ ast_expr_list(const ast_expr_list &obj);
+ inline /* implicit */ ast_expr_list(std::nullptr_t);
inline ast_expr_list &operator=(ast_expr_list obj);
inline ~ast_expr_list();
inline __isl_give isl_ast_expr_list *copy() const &;
@@ -529,6 +534,7 @@ class ast_node {
public:
inline /* implicit */ ast_node();
inline /* implicit */ ast_node(const ast_node &obj);
+ inline /* implicit */ ast_node(std::nullptr_t);
inline ast_node &operator=(ast_node obj);
inline ~ast_node();
inline __isl_give isl_ast_node *copy() const &;
@@ -579,6 +585,7 @@ class ast_node_list {
public:
inline /* implicit */ ast_node_list();
inline /* implicit */ ast_node_list(const ast_node_list &obj);
+ inline /* implicit */ ast_node_list(std::nullptr_t);
inline ast_node_list &operator=(ast_node_list obj);
inline ~ast_node_list();
inline __isl_give isl_ast_node_list *copy() const &;
@@ -623,6 +630,7 @@ class basic_map {
public:
inline /* implicit */ basic_map();
inline /* implicit */ basic_map(const basic_map &obj);
+ inline /* implicit */ basic_map(std::nullptr_t);
inline explicit basic_map(ctx ctx, const std::string &str);
inline basic_map &operator=(basic_map obj);
inline ~basic_map();
@@ -757,6 +765,7 @@ class basic_map_list {
public:
inline /* implicit */ basic_map_list();
inline /* implicit */ basic_map_list(const basic_map_list &obj);
+ inline /* implicit */ basic_map_list(std::nullptr_t);
inline basic_map_list &operator=(basic_map_list obj);
inline ~basic_map_list();
inline __isl_give isl_basic_map_list *copy() const &;
@@ -801,6 +810,7 @@ class basic_set {
public:
inline /* implicit */ basic_set();
inline /* implicit */ basic_set(const basic_set &obj);
+ inline /* implicit */ basic_set(std::nullptr_t);
inline /* implicit */ basic_set(point pnt);
inline explicit basic_set(ctx ctx, const std::string &str);
inline basic_set &operator=(basic_set obj);
@@ -907,6 +917,7 @@ class basic_set_list {
public:
inline /* implicit */ basic_set_list();
inline /* implicit */ basic_set_list(const basic_set_list &obj);
+ inline /* implicit */ basic_set_list(std::nullptr_t);
inline basic_set_list &operator=(basic_set_list obj);
inline ~basic_set_list();
inline __isl_give isl_basic_set_list *copy() const &;
@@ -952,6 +963,7 @@ class constraint {
public:
inline /* implicit */ constraint();
inline /* implicit */ constraint(const constraint &obj);
+ inline /* implicit */ constraint(std::nullptr_t);
inline constraint &operator=(constraint obj);
inline ~constraint();
inline __isl_give isl_constraint *copy() const &;
@@ -1000,6 +1012,7 @@ class constraint_list {
public:
inline /* implicit */ constraint_list();
inline /* implicit */ constraint_list(const constraint_list &obj);
+ inline /* implicit */ constraint_list(std::nullptr_t);
inline constraint_list &operator=(constraint_list obj);
inline ~constraint_list();
inline __isl_give isl_constraint_list *copy() const &;
@@ -1044,6 +1057,7 @@ class fixed_box {
public:
inline /* implicit */ fixed_box();
inline /* implicit */ fixed_box(const fixed_box &obj);
+ inline /* implicit */ fixed_box(std::nullptr_t);
inline fixed_box &operator=(fixed_box obj);
inline ~fixed_box();
inline __isl_give isl_fixed_box *copy() const &;
@@ -1077,6 +1091,7 @@ class id {
public:
inline /* implicit */ id();
inline /* implicit */ id(const id &obj);
+ inline /* implicit */ id(std::nullptr_t);
inline explicit id(ctx ctx, const std::string &str);
inline id &operator=(id obj);
inline ~id();
@@ -1111,6 +1126,7 @@ class id_list {
public:
inline /* implicit */ id_list();
inline /* implicit */ id_list(const id_list &obj);
+ inline /* implicit */ id_list(std::nullptr_t);
inline id_list &operator=(id_list obj);
inline ~id_list();
inline __isl_give isl_id_list *copy() const &;
@@ -1155,6 +1171,7 @@ class id_to_ast_expr {
public:
inline /* implicit */ id_to_ast_expr();
inline /* implicit */ id_to_ast_expr(const id_to_ast_expr &obj);
+ inline /* implicit */ id_to_ast_expr(std::nullptr_t);
inline id_to_ast_expr &operator=(id_to_ast_expr obj);
inline ~id_to_ast_expr();
inline __isl_give isl_id_to_ast_expr *copy() const &;
@@ -1189,6 +1206,7 @@ class local_space {
public:
inline /* implicit */ local_space();
inline /* implicit */ local_space(const local_space &obj);
+ inline /* implicit */ local_space(std::nullptr_t);
inline explicit local_space(space space);
inline local_space &operator=(local_space obj);
inline ~local_space();
@@ -1242,6 +1260,7 @@ class map {
public:
inline /* implicit */ map();
inline /* implicit */ map(const map &obj);
+ inline /* implicit */ map(std::nullptr_t);
inline /* implicit */ map(basic_map bmap);
inline explicit map(ctx ctx, const std::string &str);
inline map &operator=(map obj);
@@ -1458,6 +1477,7 @@ class map_list {
public:
inline /* implicit */ map_list();
inline /* implicit */ map_list(const map_list &obj);
+ inline /* implicit */ map_list(std::nullptr_t);
inline map_list &operator=(map_list obj);
inline ~map_list();
inline __isl_give isl_map_list *copy() const &;
@@ -1502,6 +1522,7 @@ class mat {
public:
inline /* implicit */ mat();
inline /* implicit */ mat(const mat &obj);
+ inline /* implicit */ mat(std::nullptr_t);
inline mat &operator=(mat obj);
inline ~mat();
inline __isl_give isl_mat *copy() const &;
@@ -1570,6 +1591,7 @@ class multi_aff {
public:
inline /* implicit */ multi_aff();
inline /* implicit */ multi_aff(const multi_aff &obj);
+ inline /* implicit */ multi_aff(std::nullptr_t);
inline /* implicit */ multi_aff(aff aff);
inline explicit multi_aff(space space, aff_list list);
inline explicit multi_aff(ctx ctx, const std::string &str);
@@ -1677,6 +1699,7 @@ class multi_id {
public:
inline /* implicit */ multi_id();
inline /* implicit */ multi_id(const multi_id &obj);
+ inline /* implicit */ multi_id(std::nullptr_t);
inline explicit multi_id(space space, id_list list);
inline explicit multi_id(ctx ctx, const std::string &str);
inline multi_id &operator=(multi_id obj);
@@ -1728,6 +1751,7 @@ class multi_pw_aff {
public:
inline /* implicit */ multi_pw_aff();
inline /* implicit */ multi_pw_aff(const multi_pw_aff &obj);
+ inline /* implicit */ multi_pw_aff(std::nullptr_t);
inline /* implicit */ multi_pw_aff(aff aff);
inline /* implicit */ multi_pw_aff(multi_aff ma);
inline /* implicit */ multi_pw_aff(pw_aff pa);
@@ -1846,6 +1870,7 @@ class multi_union_pw_aff {
public:
inline /* implicit */ multi_union_pw_aff();
inline /* implicit */ multi_union_pw_aff(const multi_union_pw_aff &obj);
+ inline /* implicit */ multi_union_pw_aff(std::nullptr_t);
inline /* implicit */ multi_union_pw_aff(multi_pw_aff mpa);
inline /* implicit */ multi_union_pw_aff(union_pw_aff upa);
inline explicit multi_union_pw_aff(space space, union_pw_aff_list list);
@@ -1945,6 +1970,7 @@ class multi_val {
public:
inline /* implicit */ multi_val();
inline /* implicit */ multi_val(const multi_val &obj);
+ inline /* implicit */ multi_val(std::nullptr_t);
inline explicit multi_val(space space, val_list list);
inline explicit multi_val(ctx ctx, const std::string &str);
inline multi_val &operator=(multi_val obj);
@@ -2029,6 +2055,7 @@ class point {
public:
inline /* implicit */ point();
inline /* implicit */ point(const point &obj);
+ inline /* implicit */ point(std::nullptr_t);
inline explicit point(space dim);
inline point &operator=(point obj);
inline ~point();
@@ -2065,6 +2092,7 @@ class pw_aff {
public:
inline /* implicit */ pw_aff();
inline /* implicit */ pw_aff(const pw_aff &obj);
+ inline /* implicit */ pw_aff(std::nullptr_t);
inline /* implicit */ pw_aff(aff aff);
inline explicit pw_aff(ctx ctx, const std::string &str);
inline explicit pw_aff(set domain, val v);
@@ -2190,6 +2218,7 @@ class pw_aff_list {
public:
inline /* implicit */ pw_aff_list();
inline /* implicit */ pw_aff_list(const pw_aff_list &obj);
+ inline /* implicit */ pw_aff_list(std::nullptr_t);
inline pw_aff_list &operator=(pw_aff_list obj);
inline ~pw_aff_list();
inline __isl_give isl_pw_aff_list *copy() const &;
@@ -2242,6 +2271,7 @@ class pw_multi_aff {
public:
inline /* implicit */ pw_multi_aff();
inline /* implicit */ pw_multi_aff(const pw_multi_aff &obj);
+ inline /* implicit */ pw_multi_aff(std::nullptr_t);
inline /* implicit */ pw_multi_aff(multi_aff ma);
inline /* implicit */ pw_multi_aff(pw_aff pa);
inline explicit pw_multi_aff(ctx ctx, const std::string &str);
@@ -2351,6 +2381,7 @@ class pw_multi_aff_list {
public:
inline /* implicit */ pw_multi_aff_list();
inline /* implicit */ pw_multi_aff_list(const pw_multi_aff_list &obj);
+ inline /* implicit */ pw_multi_aff_list(std::nullptr_t);
inline pw_multi_aff_list &operator=(pw_multi_aff_list obj);
inline ~pw_multi_aff_list();
inline __isl_give isl_pw_multi_aff_list *copy() const &;
@@ -2395,6 +2426,7 @@ class pw_qpolynomial {
public:
inline /* implicit */ pw_qpolynomial();
inline /* implicit */ pw_qpolynomial(const pw_qpolynomial &obj);
+ inline /* implicit */ pw_qpolynomial(std::nullptr_t);
inline explicit pw_qpolynomial(ctx ctx, const std::string &str);
inline pw_qpolynomial &operator=(pw_qpolynomial obj);
inline ~pw_qpolynomial();
@@ -2475,6 +2507,7 @@ class pw_qpolynomial_fold_list {
public:
inline /* implicit */ pw_qpolynomial_fold_list();
inline /* implicit */ pw_qpolynomial_fold_list(const pw_qpolynomial_fold_list &obj);
+ inline /* implicit */ pw_qpolynomial_fold_list(std::nullptr_t);
inline pw_qpolynomial_fold_list &operator=(pw_qpolynomial_fold_list obj);
inline ~pw_qpolynomial_fold_list();
inline __isl_give isl_pw_qpolynomial_fold_list *copy() const &;
@@ -2504,6 +2537,7 @@ class pw_qpolynomial_list {
public:
inline /* implicit */ pw_qpolynomial_list();
inline /* implicit */ pw_qpolynomial_list(const pw_qpolynomial_list &obj);
+ inline /* implicit */ pw_qpolynomial_list(std::nullptr_t);
inline pw_qpolynomial_list &operator=(pw_qpolynomial_list obj);
inline ~pw_qpolynomial_list();
inline __isl_give isl_pw_qpolynomial_list *copy() const &;
@@ -2548,6 +2582,7 @@ class qpolynomial {
public:
inline /* implicit */ qpolynomial();
inline /* implicit */ qpolynomial(const qpolynomial &obj);
+ inline /* implicit */ qpolynomial(std::nullptr_t);
inline qpolynomial &operator=(qpolynomial obj);
inline ~qpolynomial();
inline __isl_give isl_qpolynomial *copy() const &;
@@ -2616,6 +2651,7 @@ class qpolynomial_list {
public:
inline /* implicit */ qpolynomial_list();
inline /* implicit */ qpolynomial_list(const qpolynomial_list &obj);
+ inline /* implicit */ qpolynomial_list(std::nullptr_t);
inline qpolynomial_list &operator=(qpolynomial_list obj);
inline ~qpolynomial_list();
inline __isl_give isl_qpolynomial_list *copy() const &;
@@ -2660,6 +2696,7 @@ class schedule {
public:
inline /* implicit */ schedule();
inline /* implicit */ schedule(const schedule &obj);
+ inline /* implicit */ schedule(std::nullptr_t);
inline explicit schedule(ctx ctx, const std::string &str);
inline schedule &operator=(schedule obj);
inline ~schedule();
@@ -2705,6 +2742,7 @@ class schedule_constraints {
public:
inline /* implicit */ schedule_constraints();
inline /* implicit */ schedule_constraints(const schedule_constraints &obj);
+ inline /* implicit */ schedule_constraints(std::nullptr_t);
inline explicit schedule_constraints(ctx ctx, const std::string &str);
inline schedule_constraints &operator=(schedule_constraints obj);
inline ~schedule_constraints();
@@ -2750,6 +2788,7 @@ class schedule_node {
public:
inline /* implicit */ schedule_node();
inline /* implicit */ schedule_node(const schedule_node &obj);
+ inline /* implicit */ schedule_node(std::nullptr_t);
inline schedule_node &operator=(schedule_node obj);
inline ~schedule_node();
inline __isl_give isl_schedule_node *copy() const &;
@@ -2839,6 +2878,7 @@ class set {
public:
inline /* implicit */ set();
inline /* implicit */ set(const set &obj);
+ inline /* implicit */ set(std::nullptr_t);
inline /* implicit */ set(basic_set bset);
inline /* implicit */ set(point pnt);
inline explicit set(union_set uset);
@@ -3025,6 +3065,7 @@ class set_list {
public:
inline /* implicit */ set_list();
inline /* implicit */ set_list(const set_list &obj);
+ inline /* implicit */ set_list(std::nullptr_t);
inline set_list &operator=(set_list obj);
inline ~set_list();
inline __isl_give isl_set_list *copy() const &;
@@ -3070,6 +3111,7 @@ class space {
public:
inline /* implicit */ space();
inline /* implicit */ space(const space &obj);
+ inline /* implicit */ space(std::nullptr_t);
inline explicit space(ctx ctx, unsigned int nparam, unsigned int n_in, unsigned int n_out);
inline explicit space(ctx ctx, unsigned int nparam, unsigned int dim);
inline space &operator=(space obj);
@@ -3175,6 +3217,7 @@ class term {
public:
inline /* implicit */ term();
inline /* implicit */ term(const term &obj);
+ inline /* implicit */ term(std::nullptr_t);
inline term &operator=(term obj);
inline ~term();
inline __isl_give isl_term *copy() const &;
@@ -3206,6 +3249,7 @@ class union_access_info {
public:
inline /* implicit */ union_access_info();
inline /* implicit */ union_access_info(const union_access_info &obj);
+ inline /* implicit */ union_access_info(std::nullptr_t);
inline explicit union_access_info(union_map sink);
inline union_access_info &operator=(union_access_info obj);
inline ~union_access_info();
@@ -3241,6 +3285,7 @@ class union_flow {
public:
inline /* implicit */ union_flow();
inline /* implicit */ union_flow(const union_flow &obj);
+ inline /* implicit */ union_flow(std::nullptr_t);
inline union_flow &operator=(union_flow obj);
inline ~union_flow();
inline __isl_give isl_union_flow *copy() const &;
@@ -3275,6 +3320,7 @@ class union_map {
public:
inline /* implicit */ union_map();
inline /* implicit */ union_map(const union_map &obj);
+ inline /* implicit */ union_map(std::nullptr_t);
inline /* implicit */ union_map(basic_map bmap);
inline /* implicit */ union_map(map map);
inline explicit union_map(union_pw_multi_aff upma);
@@ -3419,6 +3465,7 @@ class union_map_list {
public:
inline /* implicit */ union_map_list();
inline /* implicit */ union_map_list(const union_map_list &obj);
+ inline /* implicit */ union_map_list(std::nullptr_t);
inline union_map_list &operator=(union_map_list obj);
inline ~union_map_list();
inline __isl_give isl_union_map_list *copy() const &;
@@ -3463,6 +3510,7 @@ class union_pw_aff {
public:
inline /* implicit */ union_pw_aff();
inline /* implicit */ union_pw_aff(const union_pw_aff &obj);
+ inline /* implicit */ union_pw_aff(std::nullptr_t);
inline /* implicit */ union_pw_aff(aff aff);
inline /* implicit */ union_pw_aff(pw_aff pa);
inline explicit union_pw_aff(ctx ctx, const std::string &str);
@@ -3539,6 +3587,7 @@ class union_pw_aff_list {
public:
inline /* implicit */ union_pw_aff_list();
inline /* implicit */ union_pw_aff_list(const union_pw_aff_list &obj);
+ inline /* implicit */ union_pw_aff_list(std::nullptr_t);
inline union_pw_aff_list &operator=(union_pw_aff_list obj);
inline ~union_pw_aff_list();
inline __isl_give isl_union_pw_aff_list *copy() const &;
@@ -3583,6 +3632,7 @@ class union_pw_multi_aff {
public:
inline /* implicit */ union_pw_multi_aff();
inline /* implicit */ union_pw_multi_aff(const union_pw_multi_aff &obj);
+ inline /* implicit */ union_pw_multi_aff(std::nullptr_t);
inline /* implicit */ union_pw_multi_aff(aff aff);
inline explicit union_pw_multi_aff(union_set uset);
inline /* implicit */ union_pw_multi_aff(multi_aff ma);
@@ -3668,6 +3718,7 @@ class union_pw_multi_aff_list {
public:
inline /* implicit */ union_pw_multi_aff_list();
inline /* implicit */ union_pw_multi_aff_list(const union_pw_multi_aff_list &obj);
+ inline /* implicit */ union_pw_multi_aff_list(std::nullptr_t);
inline union_pw_multi_aff_list &operator=(union_pw_multi_aff_list obj);
inline ~union_pw_multi_aff_list();
inline __isl_give isl_union_pw_multi_aff_list *copy() const &;
@@ -3712,6 +3763,7 @@ class union_pw_qpolynomial {
public:
inline /* implicit */ union_pw_qpolynomial();
inline /* implicit */ union_pw_qpolynomial(const union_pw_qpolynomial &obj);
+ inline /* implicit */ union_pw_qpolynomial(std::nullptr_t);
inline explicit union_pw_qpolynomial(ctx ctx, const std::string &str);
inline union_pw_qpolynomial &operator=(union_pw_qpolynomial obj);
inline ~union_pw_qpolynomial();
@@ -3779,6 +3831,7 @@ class union_set {
public:
inline /* implicit */ union_set();
inline /* implicit */ union_set(const union_set &obj);
+ inline /* implicit */ union_set(std::nullptr_t);
inline /* implicit */ union_set(basic_set bset);
inline /* implicit */ union_set(point pnt);
inline /* implicit */ union_set(set set);
@@ -3873,6 +3926,7 @@ class union_set_list {
public:
inline /* implicit */ union_set_list();
inline /* implicit */ union_set_list(const union_set_list &obj);
+ inline /* implicit */ union_set_list(std::nullptr_t);
inline union_set_list &operator=(union_set_list obj);
inline ~union_set_list();
inline __isl_give isl_union_set_list *copy() const &;
@@ -3918,6 +3972,7 @@ class val {
public:
inline /* implicit */ val();
inline /* implicit */ val(const val &obj);
+ inline /* implicit */ val(std::nullptr_t);
inline explicit val(ctx ctx, long i);
inline explicit val(ctx ctx, const std::string &str);
inline val &operator=(val obj);
@@ -4003,6 +4058,7 @@ class val_list {
public:
inline /* implicit */ val_list();
inline /* implicit */ val_list(const val_list &obj);
+ inline /* implicit */ val_list(std::nullptr_t);
inline val_list &operator=(val_list obj);
inline ~val_list();
inline __isl_give isl_val_list *copy() const &;
@@ -4047,6 +4103,7 @@ class vec {
public:
inline /* implicit */ vec();
inline /* implicit */ vec(const vec &obj);
+ inline /* implicit */ vec(std::nullptr_t);
inline vec &operator=(vec obj);
inline ~vec();
inline __isl_give isl_vec *copy() const &;
@@ -4101,6 +4158,8 @@ aff::aff(const aff &obj)
{
ptr = obj.copy();
}
+aff::aff(std::nullptr_t)
+ : ptr(nullptr) {}
aff::aff(__isl_take isl_aff *ptr)
@@ -4634,6 +4693,8 @@ aff_list::aff_list(const aff_list &obj)
{
ptr = obj.copy();
}
+aff_list::aff_list(std::nullptr_t)
+ : ptr(nullptr) {}
aff_list::aff_list(__isl_take isl_aff_list *ptr)
@@ -4805,6 +4866,8 @@ ast_build::ast_build(const ast_build &obj)
{
ptr = obj.copy();
}
+ast_build::ast_build(std::nullptr_t)
+ : ptr(nullptr) {}
ast_build::ast_build(__isl_take isl_ast_build *ptr)
@@ -4948,6 +5011,8 @@ ast_expr::ast_expr(const ast_expr &obj)
{
ptr = obj.copy();
}
+ast_expr::ast_expr(std::nullptr_t)
+ : ptr(nullptr) {}
ast_expr::ast_expr(__isl_take isl_ast_expr *ptr)
@@ -5197,6 +5262,8 @@ ast_expr_list::ast_expr_list(const ast_expr_list &obj)
{
ptr = obj.copy();
}
+ast_expr_list::ast_expr_list(std::nullptr_t)
+ : ptr(nullptr) {}
ast_expr_list::ast_expr_list(__isl_take isl_ast_expr_list *ptr)
@@ -5368,6 +5435,8 @@ ast_node::ast_node(const ast_node &obj)
{
ptr = obj.copy();
}
+ast_node::ast_node(std::nullptr_t)
+ : ptr(nullptr) {}
ast_node::ast_node(__isl_take isl_ast_node *ptr)
@@ -5569,6 +5638,8 @@ ast_node_list::ast_node_list(const ast_node_list &obj)
{
ptr = obj.copy();
}
+ast_node_list::ast_node_list(std::nullptr_t)
+ : ptr(nullptr) {}
ast_node_list::ast_node_list(__isl_take isl_ast_node_list *ptr)
@@ -5740,6 +5811,8 @@ basic_map::basic_map(const basic_map &obj)
{
ptr = obj.copy();
}
+basic_map::basic_map(std::nullptr_t)
+ : ptr(nullptr) {}
basic_map::basic_map(__isl_take isl_basic_map *ptr)
@@ -6452,6 +6525,8 @@ basic_map_list::basic_map_list(const basic_map_list &obj)
{
ptr = obj.copy();
}
+basic_map_list::basic_map_list(std::nullptr_t)
+ : ptr(nullptr) {}
basic_map_list::basic_map_list(__isl_take isl_basic_map_list *ptr)
@@ -6623,6 +6698,8 @@ basic_set::basic_set(const basic_set &obj)
{
ptr = obj.copy();
}
+basic_set::basic_set(std::nullptr_t)
+ : ptr(nullptr) {}
basic_set::basic_set(__isl_take isl_basic_set *ptr)
@@ -7174,6 +7251,8 @@ basic_set_list::basic_set_list(const basic_set_list &obj)
{
ptr = obj.copy();
}
+basic_set_list::basic_set_list(std::nullptr_t)
+ : ptr(nullptr) {}
basic_set_list::basic_set_list(__isl_take isl_basic_set_list *ptr)
@@ -7351,6 +7430,8 @@ constraint::constraint(const constraint &obj)
{
ptr = obj.copy();
}
+constraint::constraint(std::nullptr_t)
+ : ptr(nullptr) {}
constraint::constraint(__isl_take isl_constraint *ptr)
@@ -7536,6 +7617,8 @@ constraint_list::constraint_list(const constraint_list &obj)
{
ptr = obj.copy();
}
+constraint_list::constraint_list(std::nullptr_t)
+ : ptr(nullptr) {}
constraint_list::constraint_list(__isl_take isl_constraint_list *ptr)
@@ -7707,6 +7790,8 @@ fixed_box::fixed_box(const fixed_box &obj)
{
ptr = obj.copy();
}
+fixed_box::fixed_box(std::nullptr_t)
+ : ptr(nullptr) {}
fixed_box::fixed_box(__isl_take isl_fixed_box *ptr)
@@ -7804,6 +7889,8 @@ id::id(const id &obj)
{
ptr = obj.copy();
}
+id::id(std::nullptr_t)
+ : ptr(nullptr) {}
id::id(__isl_take isl_id *ptr)
@@ -7907,6 +7994,8 @@ id_list::id_list(const id_list &obj)
{
ptr = obj.copy();
}
+id_list::id_list(std::nullptr_t)
+ : ptr(nullptr) {}
id_list::id_list(__isl_take isl_id_list *ptr)
@@ -8078,6 +8167,8 @@ id_to_ast_expr::id_to_ast_expr(const id_to_ast_expr &obj)
{
ptr = obj.copy();
}
+id_to_ast_expr::id_to_ast_expr(std::nullptr_t)
+ : ptr(nullptr) {}
id_to_ast_expr::id_to_ast_expr(__isl_take isl_id_to_ast_expr *ptr)
@@ -8186,6 +8277,8 @@ local_space::local_space(const local_space &obj)
{
ptr = obj.copy();
}
+local_space::local_space(std::nullptr_t)
+ : ptr(nullptr) {}
local_space::local_space(__isl_take isl_local_space *ptr)
@@ -8400,6 +8493,8 @@ map::map(const map &obj)
{
ptr = obj.copy();
}
+map::map(std::nullptr_t)
+ : ptr(nullptr) {}
map::map(__isl_take isl_map *ptr)
@@ -9603,6 +9698,8 @@ map_list::map_list(const map_list &obj)
{
ptr = obj.copy();
}
+map_list::map_list(std::nullptr_t)
+ : ptr(nullptr) {}
map_list::map_list(__isl_take isl_map_list *ptr)
@@ -9774,6 +9871,8 @@ mat::mat(const mat &obj)
{
ptr = obj.copy();
}
+mat::mat(std::nullptr_t)
+ : ptr(nullptr) {}
mat::mat(__isl_take isl_mat *ptr)
@@ -10078,6 +10177,8 @@ multi_aff::multi_aff(const multi_aff &obj)
{
ptr = obj.copy();
}
+multi_aff::multi_aff(std::nullptr_t)
+ : ptr(nullptr) {}
multi_aff::multi_aff(__isl_take isl_multi_aff *ptr)
@@ -10617,6 +10718,8 @@ multi_id::multi_id(const multi_id &obj)
{
ptr = obj.copy();
}
+multi_id::multi_id(std::nullptr_t)
+ : ptr(nullptr) {}
multi_id::multi_id(__isl_take isl_multi_id *ptr)
@@ -10820,6 +10923,8 @@ multi_pw_aff::multi_pw_aff(const multi_pw_aff &obj)
{
ptr = obj.copy();
}
+multi_pw_aff::multi_pw_aff(std::nullptr_t)
+ : ptr(nullptr) {}
multi_pw_aff::multi_pw_aff(__isl_take isl_multi_pw_aff *ptr)
@@ -11422,6 +11527,8 @@ multi_union_pw_aff::multi_union_pw_aff(const multi_union_pw_aff &obj)
{
ptr = obj.copy();
}
+multi_union_pw_aff::multi_union_pw_aff(std::nullptr_t)
+ : ptr(nullptr) {}
multi_union_pw_aff::multi_union_pw_aff(__isl_take isl_multi_union_pw_aff *ptr)
@@ -11911,6 +12018,8 @@ multi_val::multi_val(const multi_val &obj)
{
ptr = obj.copy();
}
+multi_val::multi_val(std::nullptr_t)
+ : ptr(nullptr) {}
multi_val::multi_val(__isl_take isl_multi_val *ptr)
@@ -12313,6 +12422,8 @@ point::point(const point &obj)
{
ptr = obj.copy();
}
+point::point(std::nullptr_t)
+ : ptr(nullptr) {}
point::point(__isl_take isl_point *ptr)
@@ -12427,6 +12538,8 @@ pw_aff::pw_aff(const pw_aff &obj)
{
ptr = obj.copy();
}
+pw_aff::pw_aff(std::nullptr_t)
+ : ptr(nullptr) {}
pw_aff::pw_aff(__isl_take isl_pw_aff *ptr)
@@ -13081,6 +13194,8 @@ pw_aff_list::pw_aff_list(const pw_aff_list &obj)
{
ptr = obj.copy();
}
+pw_aff_list::pw_aff_list(std::nullptr_t)
+ : ptr(nullptr) {}
pw_aff_list::pw_aff_list(__isl_take isl_pw_aff_list *ptr)
@@ -13300,6 +13415,8 @@ pw_multi_aff::pw_multi_aff(const pw_multi_aff &obj)
{
ptr = obj.copy();
}
+pw_multi_aff::pw_multi_aff(std::nullptr_t)
+ : ptr(nullptr) {}
pw_multi_aff::pw_multi_aff(__isl_take isl_pw_multi_aff *ptr)
@@ -13860,6 +13977,8 @@ pw_multi_aff_list::pw_multi_aff_list(const pw_multi_aff_list &obj)
{
ptr = obj.copy();
}
+pw_multi_aff_list::pw_multi_aff_list(std::nullptr_t)
+ : ptr(nullptr) {}
pw_multi_aff_list::pw_multi_aff_list(__isl_take isl_pw_multi_aff_list *ptr)
@@ -14031,6 +14150,8 @@ pw_qpolynomial::pw_qpolynomial(const pw_qpolynomial &obj)
{
ptr = obj.copy();
}
+pw_qpolynomial::pw_qpolynomial(std::nullptr_t)
+ : ptr(nullptr) {}
pw_qpolynomial::pw_qpolynomial(__isl_take isl_pw_qpolynomial *ptr)
@@ -14417,6 +14538,8 @@ pw_qpolynomial_fold_list::pw_qpolynomial_fold_list(const pw_qpolynomial_fold_lis
{
ptr = obj.copy();
}
+pw_qpolynomial_fold_list::pw_qpolynomial_fold_list(std::nullptr_t)
+ : ptr(nullptr) {}
pw_qpolynomial_fold_list::pw_qpolynomial_fold_list(__isl_take isl_pw_qpolynomial_fold_list *ptr)
@@ -14491,6 +14614,8 @@ pw_qpolynomial_list::pw_qpolynomial_list(const pw_qpolynomial_list &obj)
{
ptr = obj.copy();
}
+pw_qpolynomial_list::pw_qpolynomial_list(std::nullptr_t)
+ : ptr(nullptr) {}
pw_qpolynomial_list::pw_qpolynomial_list(__isl_take isl_pw_qpolynomial_list *ptr)
@@ -14662,6 +14787,8 @@ qpolynomial::qpolynomial(const qpolynomial &obj)
{
ptr = obj.copy();
}
+qpolynomial::qpolynomial(std::nullptr_t)
+ : ptr(nullptr) {}
qpolynomial::qpolynomial(__isl_take isl_qpolynomial *ptr)
@@ -14982,6 +15109,8 @@ qpolynomial_list::qpolynomial_list(const qpolynomial_list &obj)
{
ptr = obj.copy();
}
+qpolynomial_list::qpolynomial_list(std::nullptr_t)
+ : ptr(nullptr) {}
qpolynomial_list::qpolynomial_list(__isl_take isl_qpolynomial_list *ptr)
@@ -15153,6 +15282,8 @@ schedule::schedule(const schedule &obj)
{
ptr = obj.copy();
}
+schedule::schedule(std::nullptr_t)
+ : ptr(nullptr) {}
schedule::schedule(__isl_take isl_schedule *ptr)
@@ -15321,6 +15452,8 @@ schedule_constraints::schedule_constraints(const schedule_constraints &obj)
{
ptr = obj.copy();
}
+schedule_constraints::schedule_constraints(std::nullptr_t)
+ : ptr(nullptr) {}
schedule_constraints::schedule_constraints(__isl_take isl_schedule_constraints *ptr)
@@ -15489,6 +15622,8 @@ schedule_node::schedule_node(const schedule_node &obj)
{
ptr = obj.copy();
}
+schedule_node::schedule_node(std::nullptr_t)
+ : ptr(nullptr) {}
schedule_node::schedule_node(__isl_take isl_schedule_node *ptr)
@@ -15930,6 +16065,8 @@ set::set(const set &obj)
{
ptr = obj.copy();
}
+set::set(std::nullptr_t)
+ : ptr(nullptr) {}
set::set(__isl_take isl_set *ptr)
@@ -16959,6 +17096,8 @@ set_list::set_list(const set_list &obj)
{
ptr = obj.copy();
}
+set_list::set_list(std::nullptr_t)
+ : ptr(nullptr) {}
set_list::set_list(__isl_take isl_set_list *ptr)
@@ -17136,6 +17275,8 @@ space::space(const space &obj)
{
ptr = obj.copy();
}
+space::space(std::nullptr_t)
+ : ptr(nullptr) {}
space::space(__isl_take isl_space *ptr)
@@ -17665,6 +17806,8 @@ term::term(const term &obj)
{
ptr = obj.copy();
}
+term::term(std::nullptr_t)
+ : ptr(nullptr) {}
term::term(__isl_take isl_term *ptr)
@@ -17749,6 +17892,8 @@ union_access_info::union_access_info(const union_access_info &obj)
{
ptr = obj.copy();
}
+union_access_info::union_access_info(std::nullptr_t)
+ : ptr(nullptr) {}
union_access_info::union_access_info(__isl_take isl_union_access_info *ptr)
@@ -17859,6 +18004,8 @@ union_flow::union_flow(const union_flow &obj)
{
ptr = obj.copy();
}
+union_flow::union_flow(std::nullptr_t)
+ : ptr(nullptr) {}
union_flow::union_flow(__isl_take isl_union_flow *ptr)
@@ -17964,6 +18111,8 @@ union_map::union_map(const union_map &obj)
{
ptr = obj.copy();
}
+union_map::union_map(std::nullptr_t)
+ : ptr(nullptr) {}
union_map::union_map(__isl_take isl_union_map *ptr)
@@ -18731,6 +18880,8 @@ union_map_list::union_map_list(const union_map_list &obj)
{
ptr = obj.copy();
}
+union_map_list::union_map_list(std::nullptr_t)
+ : ptr(nullptr) {}
union_map_list::union_map_list(__isl_take isl_union_map_list *ptr)
@@ -18902,6 +19053,8 @@ union_pw_aff::union_pw_aff(const union_pw_aff &obj)
{
ptr = obj.copy();
}
+union_pw_aff::union_pw_aff(std::nullptr_t)
+ : ptr(nullptr) {}
union_pw_aff::union_pw_aff(__isl_take isl_union_pw_aff *ptr)
@@ -19261,6 +19414,8 @@ union_pw_aff_list::union_pw_aff_list(const union_pw_aff_list &obj)
{
ptr = obj.copy();
}
+union_pw_aff_list::union_pw_aff_list(std::nullptr_t)
+ : ptr(nullptr) {}
union_pw_aff_list::union_pw_aff_list(__isl_take isl_union_pw_aff_list *ptr)
@@ -19432,6 +19587,8 @@ union_pw_multi_aff::union_pw_multi_aff(const union_pw_multi_aff &obj)
{
ptr = obj.copy();
}
+union_pw_multi_aff::union_pw_multi_aff(std::nullptr_t)
+ : ptr(nullptr) {}
union_pw_multi_aff::union_pw_multi_aff(__isl_take isl_union_pw_multi_aff *ptr)
@@ -19841,6 +19998,8 @@ union_pw_multi_aff_list::union_pw_multi_aff_list(const union_pw_multi_aff_list &
{
ptr = obj.copy();
}
+union_pw_multi_aff_list::union_pw_multi_aff_list(std::nullptr_t)
+ : ptr(nullptr) {}
union_pw_multi_aff_list::union_pw_multi_aff_list(__isl_take isl_union_pw_multi_aff_list *ptr)
@@ -20012,6 +20171,8 @@ union_pw_qpolynomial::union_pw_qpolynomial(const union_pw_qpolynomial &obj)
{
ptr = obj.copy();
}
+union_pw_qpolynomial::union_pw_qpolynomial(std::nullptr_t)
+ : ptr(nullptr) {}
union_pw_qpolynomial::union_pw_qpolynomial(__isl_take isl_union_pw_qpolynomial *ptr)
@@ -20322,6 +20483,8 @@ union_set::union_set(const union_set &obj)
{
ptr = obj.copy();
}
+union_set::union_set(std::nullptr_t)
+ : ptr(nullptr) {}
union_set::union_set(__isl_take isl_union_set *ptr)
@@ -20797,6 +20960,8 @@ union_set_list::union_set_list(const union_set_list &obj)
{
ptr = obj.copy();
}
+union_set_list::union_set_list(std::nullptr_t)
+ : ptr(nullptr) {}
union_set_list::union_set_list(__isl_take isl_union_set_list *ptr)
@@ -20974,6 +21139,8 @@ val::val(const val &obj)
{
ptr = obj.copy();
}
+val::val(std::nullptr_t)
+ : ptr(nullptr) {}
val::val(__isl_take isl_val *ptr)
@@ -21381,6 +21548,8 @@ val_list::val_list(const val_list &obj)
{
ptr = obj.copy();
}
+val_list::val_list(std::nullptr_t)
+ : ptr(nullptr) {}
val_list::val_list(__isl_take isl_val_list *ptr)
@@ -21552,6 +21721,8 @@ vec::vec(const vec &obj)
{
ptr = obj.copy();
}
+vec::vec(std::nullptr_t)
+ : ptr(nullptr) {}
vec::vec(__isl_take isl_vec *ptr)
diff --git a/polly/lib/Support/ISLTools.cpp b/polly/lib/Support/ISLTools.cpp
index f81ad155da539..5ea9d0b78a011 100644
--- a/polly/lib/Support/ISLTools.cpp
+++ b/polly/lib/Support/ISLTools.cpp
@@ -133,7 +133,7 @@ isl::union_map polly::betweenScatter(isl::union_map From, isl::union_map To,
isl::map polly::singleton(isl::union_map UMap, isl::space ExpectedSpace) {
if (!UMap)
- return {};
+ return nullptr;
if (isl_union_map_n_map(UMap.get()) == 0)
return isl::map::empty(ExpectedSpace);
@@ -146,7 +146,7 @@ isl::map polly::singleton(isl::union_map UMap, isl::space ExpectedSpace) {
isl::set polly::singleton(isl::union_set USet, isl::space ExpectedSpace) {
if (!USet)
- return {};
+ return nullptr;
if (isl_union_set_n_set(USet.get()) == 0)
return isl::set::empty(ExpectedSpace);
@@ -170,7 +170,7 @@ isl_size polly::getNumScatterDims(const isl::union_map &Schedule) {
isl::space polly::getScatterSpace(const isl::union_map &Schedule) {
if (!Schedule)
- return {};
+ return nullptr;
unsigned Dims = getNumScatterDims(Schedule);
isl::space ScatterSpace = Schedule.get_space().set_from_params();
return ScatterSpace.add_dims(isl::dim::set, Dims);
diff --git a/polly/lib/Transform/DeLICM.cpp b/polly/lib/Transform/DeLICM.cpp
index 0380f8adb3798..cc93614364d00 100644
--- a/polly/lib/Transform/DeLICM.cpp
+++ b/polly/lib/Transform/DeLICM.cpp
@@ -730,7 +730,8 @@ class DeLICMImpl : public ZoneAlgorithm {
auto DefEltSched = ValInst.apply_domain(WrittenTranslator);
simplify(DefEltSched);
- Knowledge Proposed(EltZone, {}, filterKnownValInst(EltKnown), DefEltSched);
+ Knowledge Proposed(EltZone, nullptr, filterKnownValInst(EltKnown),
+ DefEltSched);
if (isConflicting(Proposed))
return false;
@@ -941,7 +942,7 @@ class DeLICMImpl : public ZoneAlgorithm {
auto Occupied = LifetimeTranslator.range();
simplify(Occupied);
- Knowledge Proposed(Occupied, {}, EltLifetimeInst, Written);
+ Knowledge Proposed(Occupied, nullptr, EltLifetimeInst, Written);
if (isConflicting(Proposed))
return false;
@@ -1218,7 +1219,7 @@ class DeLICMImpl : public ZoneAlgorithm {
return false;
}
- Zone = OriginalZone = Knowledge({}, EltUnused, EltKnown, EltWritten);
+ Zone = OriginalZone = Knowledge(nullptr, EltUnused, EltKnown, EltWritten);
LLVM_DEBUG(dbgs() << "Computed Zone:\n"; OriginalZone.print(dbgs(), 4));
assert(Zone.isUsable() && OriginalZone.isUsable());
diff --git a/polly/lib/Transform/FlattenAlgo.cpp b/polly/lib/Transform/FlattenAlgo.cpp
index 7cafd837cdb08..31f692af4c1f4 100644
--- a/polly/lib/Transform/FlattenAlgo.cpp
+++ b/polly/lib/Transform/FlattenAlgo.cpp
@@ -185,7 +185,7 @@ isl::union_map tryFlattenSequence(isl::union_map Schedule) {
// Would cause an infinite loop.
if (!isDimBoundedByConstant(ScatterSet, 0)) {
LLVM_DEBUG(dbgs() << "Abort; dimension is not of fixed size\n");
- return {};
+ return nullptr;
}
auto AllDomains = Schedule.domain();
@@ -216,7 +216,7 @@ isl::union_map tryFlattenSequence(isl::union_map Schedule) {
if (!isDimBoundedByParameter(FirstSubScatter, 0)) {
LLVM_DEBUG(dbgs() << "Abort; sequence step is not bounded\n");
- return {};
+ return nullptr;
}
auto FirstSubScatterMap = isl::map::from_range(FirstSubScatter);
@@ -275,7 +275,7 @@ isl::union_map tryFlattenLoop(isl::union_map Schedule) {
if (!isDimBoundedByConstant(SubExtent, 0)) {
LLVM_DEBUG(dbgs() << "Abort; dimension not bounded by constant\n");
- return {};
+ return nullptr;
}
auto Min = SubExtent.dim_min(0);
@@ -287,7 +287,7 @@ isl::union_map tryFlattenLoop(isl::union_map Schedule) {
if (!MinVal || !MaxVal || MinVal.is_nan() || MaxVal.is_nan()) {
LLVM_DEBUG(dbgs() << "Abort; dimension bounds could not be determined\n");
- return {};
+ return nullptr;
}
auto FirstSubScheduleAff = scheduleExtractDimAff(SubSchedule, 0);
diff --git a/polly/lib/Transform/FlattenSchedule.cpp b/polly/lib/Transform/FlattenSchedule.cpp
index c02c71e175a08..fc065afc04bea 100644
--- a/polly/lib/Transform/FlattenSchedule.cpp
+++ b/polly/lib/Transform/FlattenSchedule.cpp
@@ -90,7 +90,7 @@ class FlattenSchedule : public ScopPass {
}
virtual void releaseMemory() override {
- OldSchedule = {};
+ OldSchedule = nullptr;
IslCtx.reset();
}
};
diff --git a/polly/lib/Transform/ForwardOpTree.cpp b/polly/lib/Transform/ForwardOpTree.cpp
index d3b5d4c8b4695..6cdcc7145e692 100644
--- a/polly/lib/Transform/ForwardOpTree.cpp
+++ b/polly/lib/Transform/ForwardOpTree.cpp
@@ -365,9 +365,9 @@ class ForwardOpTreeImpl : ZoneAlgorithm {
if (!Known || !Translator || !NormalizeMap) {
assert(isl_ctx_last_error(IslCtx.get()) == isl_error_quota);
- Known = {};
- Translator = {};
- NormalizeMap = {};
+ Known = nullptr;
+ Translator = nullptr;
+ NormalizeMap = nullptr;
LLVM_DEBUG(dbgs() << "Known analysis exceeded max_operations\n");
return false;
}
diff --git a/polly/lib/Transform/ScheduleOptimizer.cpp b/polly/lib/Transform/ScheduleOptimizer.cpp
index 3af949c55c870..9c893f5e06f72 100644
--- a/polly/lib/Transform/ScheduleOptimizer.cpp
+++ b/polly/lib/Transform/ScheduleOptimizer.cpp
@@ -547,6 +547,8 @@ class IslScheduleOptimizerWrapperPass : public ScopPass {
explicit IslScheduleOptimizerWrapperPass() : ScopPass(ID) {}
+ ~IslScheduleOptimizerWrapperPass() override { releaseMemory(); }
+
/// Optimize the schedule of the SCoP @p S.
bool runOnScop(Scop &S) override;
@@ -558,7 +560,7 @@ class IslScheduleOptimizerWrapperPass : public ScopPass {
/// Release the internal memory.
void releaseMemory() override {
- LastSchedule = {};
+ LastSchedule = nullptr;
IslCtx.reset();
}
diff --git a/polly/lib/Transform/ZoneAlgo.cpp b/polly/lib/Transform/ZoneAlgo.cpp
index 0b81887dfbb35..83ec5eed5307c 100644
--- a/polly/lib/Transform/ZoneAlgo.cpp
+++ b/polly/lib/Transform/ZoneAlgo.cpp
@@ -546,7 +546,7 @@ isl::union_map ZoneAlgorithm::computePerPHI(const ScopArrayInfo *SAI) {
// flow.
isl::set DefinedContext = S->getDefinedBehaviorContext();
if (!DefinedContext)
- return {};
+ return nullptr;
assert(SAI->isPHIKind());
@@ -729,7 +729,7 @@ isl::map ZoneAlgorithm::makeUnknownForDomain(ScopStmt *Stmt) const {
isl::id ZoneAlgorithm::makeValueId(Value *V) {
if (!V)
- return {};
+ return nullptr;
auto &Id = ValueIds[V];
if (Id.is_null()) {
diff --git a/polly/unittests/DeLICM/DeLICMTest.cpp b/polly/unittests/DeLICM/DeLICMTest.cpp
index eaa37ee2376ea..3e6b6f023666b 100644
--- a/polly/unittests/DeLICM/DeLICMTest.cpp
+++ b/polly/unittests/DeLICM/DeLICMTest.cpp
@@ -80,13 +80,13 @@ typedef struct {
isl::union_set parseSetOrNull(isl_ctx *Ctx, const char *Str) {
if (!Str)
- return {};
+ return nullptr;
return isl::union_set(Ctx, Str);
}
isl::union_map parseMapOrNull(isl_ctx *Ctx, const char *Str) {
if (!Str)
- return {};
+ return nullptr;
return isl::union_map(Ctx, Str);
}
More information about the llvm-commits
mailing list