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
GitOrigin-RevId: f60ea691a94b3b4c28f2ff85a4520562f4110810
diff --git a/include/polly/ScopInfo.h b/include/polly/ScopInfo.h
index 289d1f2..559744a 100644
--- a/include/polly/ScopInfo.h
+++ b/include/polly/ScopInfo.h
@@ -1788,7 +1788,7 @@
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 @@
/// set of statement instances that will be scheduled in a subtree. There
/// are also several other nodes. A full description of the different 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/lib/Analysis/ScopBuilder.cpp b/lib/Analysis/ScopBuilder.cpp
index 38e257f..bf6bd19 100644
--- a/lib/Analysis/ScopBuilder.cpp
+++ b/lib/Analysis/ScopBuilder.cpp
@@ -750,7 +750,7 @@
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 @@
ClassRep = LInst;
scop->addInvariantEquivClass(
- InvariantEquivClassTy{PointerSCEV, MemoryAccessList(), {}, Ty});
+ InvariantEquivClassTy{PointerSCEV, MemoryAccessList(), nullptr, Ty});
}
}
@@ -1175,7 +1175,7 @@
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 @@
DelayList.push_back(RN);
continue;
}
- LoopStack.push_back({L, {}, 0});
+ LoopStack.push_back({L, nullptr, 0});
}
buildSchedule(RN, LoopStack);
}
@@ -2911,7 +2911,7 @@
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 @@
// 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 @@
} 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 @@
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/lib/Analysis/ScopInfo.cpp b/lib/Analysis/ScopInfo.cpp
index fcc852b..ba52930 100644
--- a/lib/Analysis/ScopInfo.cpp
+++ b/lib/Analysis/ScopInfo.cpp
@@ -348,7 +348,7 @@
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 @@
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, 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 @@
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 @@
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 @@
simplify(DefinedBehaviorContext);
if (DefinedBehaviorContext.n_basic_set() >
MaxDisjunktsInDefinedBehaviourContext)
- DefinedBehaviorContext = {};
+ DefinedBehaviorContext = nullptr;
}
}
diff --git a/lib/CodeGen/IslAst.cpp b/lib/CodeGen/IslAst.cpp
index 38daa19..cf63a59 100644
--- a/lib/CodeGen/IslAst.cpp
+++ b/lib/CodeGen/IslAst.cpp
@@ -623,7 +623,7 @@
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::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/lib/External/isl/include/isl/isl-noexceptions.h b/lib/External/isl/include/isl/isl-noexceptions.h
index 7232d4e..9bbb464 100644
--- a/lib/External/isl/include/isl/isl-noexceptions.h
+++ b/lib/External/isl/include/isl/isl-noexceptions.h
@@ -236,6 +236,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
{
ptr = obj.copy();
}
+aff::aff(std::nullptr_t)
+ : ptr(nullptr) {}
aff::aff(__isl_take isl_aff *ptr)
@@ -4634,6 +4693,8 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
ptr = obj.copy();
}
+constraint::constraint(std::nullptr_t)
+ : ptr(nullptr) {}
constraint::constraint(__isl_take isl_constraint *ptr)
@@ -7536,6 +7617,8 @@
{
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 @@
{
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 @@
{
ptr = obj.copy();
}
+id::id(std::nullptr_t)
+ : ptr(nullptr) {}
id::id(__isl_take isl_id *ptr)
@@ -7907,6 +7994,8 @@
{
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 @@
{
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 @@
{
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 @@
{
ptr = obj.copy();
}
+map::map(std::nullptr_t)
+ : ptr(nullptr) {}
map::map(__isl_take isl_map *ptr)
@@ -9603,6 +9698,8 @@
{
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 @@
{
ptr = obj.copy();
}
+mat::mat(std::nullptr_t)
+ : ptr(nullptr) {}
mat::mat(__isl_take isl_mat *ptr)
@@ -10078,6 +10177,8 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
ptr = obj.copy();
}
+point::point(std::nullptr_t)
+ : ptr(nullptr) {}
point::point(__isl_take isl_point *ptr)
@@ -12427,6 +12538,8 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
ptr = obj.copy();
}
+qpolynomial::qpolynomial(std::nullptr_t)
+ : ptr(nullptr) {}
qpolynomial::qpolynomial(__isl_take isl_qpolynomial *ptr)
@@ -14982,6 +15109,8 @@
{
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 @@
{
ptr = obj.copy();
}
+schedule::schedule(std::nullptr_t)
+ : ptr(nullptr) {}
schedule::schedule(__isl_take isl_schedule *ptr)
@@ -15321,6 +15452,8 @@
{
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 @@
{
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 @@
{
ptr = obj.copy();
}
+set::set(std::nullptr_t)
+ : ptr(nullptr) {}
set::set(__isl_take isl_set *ptr)
@@ -16959,6 +17096,8 @@
{
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 @@
{
ptr = obj.copy();
}
+space::space(std::nullptr_t)
+ : ptr(nullptr) {}
space::space(__isl_take isl_space *ptr)
@@ -17665,6 +17806,8 @@
{
ptr = obj.copy();
}
+term::term(std::nullptr_t)
+ : ptr(nullptr) {}
term::term(__isl_take isl_term *ptr)
@@ -17749,6 +17892,8 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
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 @@
{
ptr = obj.copy();
}
+val::val(std::nullptr_t)
+ : ptr(nullptr) {}
val::val(__isl_take isl_val *ptr)
@@ -21381,6 +21548,8 @@
{
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 @@
{
ptr = obj.copy();
}
+vec::vec(std::nullptr_t)
+ : ptr(nullptr) {}
vec::vec(__isl_take isl_vec *ptr)
diff --git a/lib/Support/ISLTools.cpp b/lib/Support/ISLTools.cpp
index f81ad15..5ea9d0b 100644
--- a/lib/Support/ISLTools.cpp
+++ b/lib/Support/ISLTools.cpp
@@ -133,7 +133,7 @@
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::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::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/lib/Transform/DeLICM.cpp b/lib/Transform/DeLICM.cpp
index 0380f8a..cc93614 100644
--- a/lib/Transform/DeLICM.cpp
+++ b/lib/Transform/DeLICM.cpp
@@ -730,7 +730,8 @@
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 @@
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 @@
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/lib/Transform/FlattenAlgo.cpp b/lib/Transform/FlattenAlgo.cpp
index 7cafd83..31f692a 100644
--- a/lib/Transform/FlattenAlgo.cpp
+++ b/lib/Transform/FlattenAlgo.cpp
@@ -185,7 +185,7 @@
// 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 @@
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 @@
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 @@
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/lib/Transform/FlattenSchedule.cpp b/lib/Transform/FlattenSchedule.cpp
index c02c71e..fc065af 100644
--- a/lib/Transform/FlattenSchedule.cpp
+++ b/lib/Transform/FlattenSchedule.cpp
@@ -90,7 +90,7 @@
}
virtual void releaseMemory() override {
- OldSchedule = {};
+ OldSchedule = nullptr;
IslCtx.reset();
}
};
diff --git a/lib/Transform/ForwardOpTree.cpp b/lib/Transform/ForwardOpTree.cpp
index d3b5d4c..6cdcc71 100644
--- a/lib/Transform/ForwardOpTree.cpp
+++ b/lib/Transform/ForwardOpTree.cpp
@@ -365,9 +365,9 @@
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/lib/Transform/ScheduleOptimizer.cpp b/lib/Transform/ScheduleOptimizer.cpp
index 3af949c..9c893f5 100644
--- a/lib/Transform/ScheduleOptimizer.cpp
+++ b/lib/Transform/ScheduleOptimizer.cpp
@@ -547,6 +547,8 @@
explicit IslScheduleOptimizerWrapperPass() : ScopPass(ID) {}
+ ~IslScheduleOptimizerWrapperPass() override { releaseMemory(); }
+
/// Optimize the schedule of the SCoP @p S.
bool runOnScop(Scop &S) override;
@@ -558,7 +560,7 @@
/// Release the internal memory.
void releaseMemory() override {
- LastSchedule = {};
+ LastSchedule = nullptr;
IslCtx.reset();
}
diff --git a/lib/Transform/ZoneAlgo.cpp b/lib/Transform/ZoneAlgo.cpp
index 0b81887..83ec5ee 100644
--- a/lib/Transform/ZoneAlgo.cpp
+++ b/lib/Transform/ZoneAlgo.cpp
@@ -546,7 +546,7 @@
// flow.
isl::set DefinedContext = S->getDefinedBehaviorContext();
if (!DefinedContext)
- return {};
+ return nullptr;
assert(SAI->isPHIKind());
@@ -729,7 +729,7 @@
isl::id ZoneAlgorithm::makeValueId(Value *V) {
if (!V)
- return {};
+ return nullptr;
auto &Id = ValueIds[V];
if (Id.is_null()) {
diff --git a/unittests/DeLICM/DeLICMTest.cpp b/unittests/DeLICM/DeLICMTest.cpp
index eaa37ee..3e6b6f0 100644
--- a/unittests/DeLICM/DeLICMTest.cpp
+++ b/unittests/DeLICM/DeLICMTest.cpp
@@ -80,13 +80,13 @@
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);
}