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

Michael Kruse via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 30 05:02:04 PST 2017


2017-01-30 9:19 GMT+01:00 Sven Verdoolaege <skimo-polly at kotnet.org>:
> On Sat, Jan 21, 2017 at 11:20:12PM +0000, Michael Kruse via Phabricator wrote:
>> 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.
>
> It can result in an increase in the number of disjuncts.
> See 3.7 Simplification and Quantifier Elimination of
> "Presburger Formulas and Polyhedral Compilation".
> The number of integer divisions in the result may also
> be greater than the number of existentially quantified variables
> in the input.

Thank you for the clarification. I just noticed that
isl_basic_map_compute_divs returns an isl_map. I will reevaluate the
effects of compute_divs.



Michael


More information about the llvm-commits mailing list