[PATCH] D103751: [Polly][Isl] Removing nullptr constructor from C++ bindings. NFC.

3 views
Skip to first unread message

Riccardo Mori via Phabricator

unread,
Jun 5, 2021, 12:22:55 PM6/5/21
to pat...@autistici.org, siddu...@gmail.com, ll...@meinersbur.de, llvm-c...@lists.llvm.org, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, matthe...@sony.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es, david...@arm.com, ruilin...@amd.com, kuh...@google.com
patacca created this revision.
Herald added a reviewer: bollu.
Herald added subscribers: ormris, asbirlea, steven_wu, hiraditya.
patacca added a reviewer: Meinersbur.
patacca added a project: Polly.
patacca added a subscriber: pollydev.
patacca published this revision for review.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

`isl-noexceptions.h` has been generated by this https://github.com/patacca/isl/commit/a7e00bea38f251a4bcf5c2c6ce5fa7ee5f661528

Changes made:

- Removed `std::nullptr_t` constructor from all the classes in the isl C++ bindings.


Repository:
rG LLVM Github Monorepo

https://reviews.llvm.org/D103751

Files:
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

D103751.350058.patch

Riccardo Mori via Phabricator

unread,
Jun 6, 2021, 12:28:26 PM6/6/21
to pat...@autistici.org, siddu...@gmail.com, ll...@meinersbur.de, llvm-c...@lists.llvm.org, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, matthe...@sony.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es, david...@arm.com, ruilin...@amd.com, kuh...@google.com
patacca updated this revision to Diff 350114.
patacca added a comment.

Rebase to main


Repository:
rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D103751/new/
D103751.350114.patch

Michael Kruse via Phabricator

unread,
Jun 7, 2021, 12:49:00 AM6/7/21
to pat...@autistici.org, siddu...@gmail.com, llvm-c...@lists.llvm.org, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, matthe...@sony.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es, david...@arm.com, ruilin...@amd.com, kuh...@google.com
Meinersbur accepted this revision.
Meinersbur added a comment.
This revision is now accepted and ready to land.

LGTM.

Could you mention in the commit message/summary that the goal/motivation is to make the isl-noexceptions.h converge towards the official bindings?



================
Comment at: polly/lib/Transform/ScheduleOptimizer.cpp:1702

- ~IslScheduleOptimizerWrapperPass() override { releaseMemory(); }
-
----------------
This might have been there to ensure the order in which the objects are freed. `LastSchedule` must be free'd before `IslCtx`.

However, destruction order is defined to be in reverse of the field declaration order, so indeed what we want.

Riccardo Mori via Phabricator

unread,
Jun 8, 2021, 8:41:17 AM6/8/21
to pat...@autistici.org, siddu...@gmail.com, ll...@meinersbur.de, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es, david...@arm.com, ruilin...@amd.com, kuh...@google.com
patacca edited the summary of this revision.

Riccardo Mori via Phabricator

unread,
Jun 8, 2021, 9:28:39 AM6/8/21
to pat...@autistici.org, siddu...@gmail.com, ll...@meinersbur.de, llvm-c...@lists.llvm.org, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, matthe...@sony.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es, david...@arm.com, ruilin...@amd.com, kuh...@google.com
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rGbe5e2fc7bf78: [Polly][Isl] Removing nullptr constructor from C++ bindings. NFC. (authored by patacca).

Repository:
rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103751

D103751.350595.patch

Riccardo Mori via Phabricator

unread,
Jun 8, 2021, 11:13:45 AM6/8/21
to pat...@autistici.org, siddu...@gmail.com, ll...@meinersbur.de, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es
patacca added a reverting change: rGf60ea691a94b: Revert "[Polly][Isl] Removing nullptr constructor from C++ bindings. NFC.".

Riccardo Mori via Phabricator

unread,
Jun 8, 2021, 4:57:55 PM6/8/21
to pat...@autistici.org, siddu...@gmail.com, ll...@meinersbur.de, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es, david...@arm.com, ruilin...@amd.com, kuh...@google.com
patacca reopened this revision.
This revision is now accepted and ready to land.

Riccardo Mori via Phabricator

unread,
Jun 8, 2021, 4:58:11 PM6/8/21
to pat...@autistici.org, siddu...@gmail.com, ll...@meinersbur.de, nemanj...@gmail.com, kit.b...@gmail.com, llvm-c...@lists.llvm.org, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, matthe...@sony.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es, david...@arm.com, j...@us.ibm.com, p8u8i7l5...@ibm-systems-z.slack.com, kuh...@google.com
patacca updated this revision to Diff 350710.
patacca added a comment.
Herald added subscribers: kbarton, nemanjai.

Replacing calls to nullptr constructor of isl::schedule to the default constructor


Repository:
rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103751

Files:
polly/lib/CodeGen/PPCGCodeGeneration.cpp


Index: polly/lib/CodeGen/PPCGCodeGeneration.cpp
===================================================================
--- polly/lib/CodeGen/PPCGCodeGeneration.cpp
+++ polly/lib/CodeGen/PPCGCodeGeneration.cpp
@@ -178,7 +178,7 @@
/// [params] -> { Stmt_phantom[] -> scalar_to_kill[] }
isl::union_map MustKills;

- MustKillsInfo() : KillsSchedule(nullptr) {}
+ MustKillsInfo() : KillsSchedule() {}
};

/// Check if SAI's uses are entirely contained within Scop S.
@@ -227,7 +227,7 @@
// - filter: "[control] -> { }"
// So, we choose to not create this to keep the output a little nicer,
// at the cost of some code complexity.
- Info.KillsSchedule = nullptr;
+ Info.KillsSchedule = {};

for (isl::id &ToKillId : KillMemIds) {
isl::id KillStmtId = isl::id::alloc(


D103751.350710.patch

Riccardo Mori via Phabricator

unread,
Jun 8, 2021, 4:59:34 PM6/8/21
to pat...@autistici.org, siddu...@gmail.com, ll...@meinersbur.de, nemanj...@gmail.com, kit.b...@gmail.com, llvm-c...@lists.llvm.org, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, matthe...@sony.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es, david...@arm.com, j...@us.ibm.com, p8u8i7l5...@ibm-systems-z.slack.com, ruilin...@amd.com, kuh...@google.com
patacca updated this revision to Diff 350711.
patacca added a comment.

Rebase to main


Repository:
rG LLVM Github Monorepo

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

https://reviews.llvm.org/D103751

Files:
polly/include/polly/ScopInfo.h
polly/lib/Analysis/ScopBuilder.cpp
polly/lib/Analysis/ScopInfo.cpp
polly/lib/CodeGen/IslAst.cpp
polly/lib/CodeGen/PPCGCodeGeneration.cpp
D103751.350711.patch

Riccardo Mori via Phabricator

unread,
Jun 8, 2021, 5:46:53 PM6/8/21
to pat...@autistici.org, siddu...@gmail.com, ll...@meinersbur.de, nemanj...@gmail.com, kit.b...@gmail.com, llvm-c...@lists.llvm.org, poll...@googlegroups.com, stev...@apple.com, asbi...@google.com, matthe...@sony.com, bhuvanend...@amd.com, 888...@gmail.com, lege...@outlook.com, micha...@web.de, doug...@gmail.com, jatin....@gmail.com, n...@google.com, wic...@vitalitystudios.com, michae...@gmail.com, phabr...@grosser.es, david...@arm.com, j...@us.ibm.com, p8u8i7l5...@ibm-systems-z.slack.com, ruilin...@amd.com, kuh...@google.com
This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG9b41d0958e78: [Polly][Isl] Removing nullptr constructor from C++ bindings. NFC. (authored by patacca).
D103751.350720.patch
Reply all
Reply to author
Forward
0 new messages