[PATCH] D24716: [Polly] DeLICM/DePRE (WIP)

Michael Kruse via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 21 15:20:12 PST 2017

Meinersbur marked 39 inline comments as done.
Meinersbur added inline comments.

Comment at: lib/Transform/DeLICM.cpp:654
+void simplify(IslPtr<isl_set> &Set) {
+  Set = give(isl_set_compute_divs(Set.take()));
+  Set = give(isl_set_detect_equalities(Set.take()));
grosser wrote:
> compute_divs can sometimes make a map a lot more complex. Did you had a case where this is necessary.
> We also should ask sven at some point if he can provide a simplify function for isl that does all simplifications in the right order.
I am not aware that this can make sets more complex, it just provides an additional explicit representation of a div that should make follow-up computations faster and was sometimes necessary for coalescing.

According to the source comments the issue is rather that compute_divs can be an expensive operation, but so is coalescing. If possible I'd not call `simplify()` at all but that results in other operations taking much longer, e.g. `lexmin`.

Comment at: unittests/DeLICM/DeLICMTest.cpp:22
+/// Loop-like control structure to run body for true and false if passed indef.
grosser wrote:
> indef -> undef?
This refers to the definition of `indef` below


More information about the llvm-commits mailing list