| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
| |
This update fixes https://https:/llvm.org/PR38348. Thanks Michael for
reporting the issue to isl and Sven for fixing the issue.
llvm-svn: 339311
|
|
|
|
|
|
| |
This is a regular maintenance updated.
llvm-svn: 339095
|
|
|
|
| |
llvm-svn: 338501
|
|
|
|
|
|
|
|
| |
This is a maintenance update. Besides many minor changes it ships two
functions "isl_*_list_size" and "isl_*_list_get_at" which will allow us
to simplify the iterator implementation in Polly.
llvm-svn: 336425
|
|
|
|
|
|
| |
This is mainly a maintenance update.
llvm-svn: 334406
|
|
|
|
|
|
|
|
|
| |
Besides other changes, this update introduces functions to translate a
maps and sets into lists of their elements. These lists are useful as
we can define iterators for lists, which allow us to replace many uses
of foreach.
llvm-svn: 333621
|
|
|
|
|
|
|
|
| |
Besides normal updates this change also contains a bug-fix to in
isl_coalesce which broke the AOSP buildbot. Thanks to Michael Kruse for
reporting this bug and Sven Verdoolage for fixing this bug.
llvm-svn: 333118
|
|
|
|
| |
llvm-svn: 330800
|
|
|
|
|
|
| |
This is a regular maintenance update.
llvm-svn: 330496
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This update:
- Removes several deprecated functions (e.g., isl_band).
- Improves the pretty-printing of sets by detecting modulos and "false"
equalities.
- Minor improvements to coalescing and increased robustness of the isl
scheduler.
This update does not yet include isl commit isl-0.18-90-gd00cb45
(isl_pw_*_alloc: add missing check for compatible spaces, Wed Sep 6 12:18:04
2017 +0200), as this additional check is too tight and unfortunately causes
two test case failures in Polly. A patch has been submitted to isl and will be
included in the next isl update for Polly.
llvm-svn: 325557
|
|
|
|
|
|
|
| |
This update is mostly a maintenance update, but also exposes a couple of new
functions that will be needed for the next version of the isl++ bindings.
llvm-svn: 310205
|
|
|
|
|
|
| |
This fixes some undefined behavior in the isl schedule tree code.
llvm-svn: 309727
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary: This is a general maintenance update
Reviewers: grosser
Subscribers: srhines, fedor.sergeev, pollydev, llvm-commits
Contributed-by: Maximilian Falkenstein <falkensm@student.ethz.ch>
Differential Revision: https://reviews.llvm.org/D34903
llvm-svn: 307090
|
|
|
|
|
|
| |
This is a regular maintenance update
llvm-svn: 304686
|
|
|
|
|
|
| |
This is a general maintenance update
llvm-svn: 304069
|
|
|
|
|
|
| |
This is just a general maintenance update.
llvm-svn: 301624
|
|
|
|
|
|
| |
This is a regular maintenance update.
llvm-svn: 298595
|
|
|
|
|
|
| |
This is a normal maintenance update.
llvm-svn: 298352
|
|
|
|
|
|
| |
This is a regular maintenance update.
llvm-svn: 297708
|
|
|
|
|
|
|
| |
Besides a variety of smaller cleanups, this update also contains a correctness
fix to isl coalesce which resolves a crash in Polly.
llvm-svn: 295966
|
|
|
|
|
|
|
| |
This update includes a couple more coalescing changes as well as a large
number of isl-internal code cleanups (dead assigments, ...).
llvm-svn: 295419
|
|
|
|
|
|
|
| |
This update corrects an incorrect generation of min/max expressions in the isl
AST generator and a problematic nullptr dereference.
llvm-svn: 287098
|
|
|
|
|
|
| |
This includes isl_id_to_str, which is used in Michael's upcoming DeLICM patch.
llvm-svn: 284689
|
|
|
|
| |
llvm-svn: 283049
|
|
|
|
|
|
| |
This version has isl_space_has_equal_tuples added to the public API.
llvm-svn: 280341
|
|
|
|
|
|
| |
This version fixes a bug in set coalescing.
llvm-svn: 278936
|
|
|
|
|
|
|
|
|
|
|
| |
This is a regular maintenance update to ensure the latest version of isl is
tested.
Interesting Changes:
- AST nodes and expressions are now printed as YAML
llvm-svn: 274614
|
|
|
|
|
|
|
| |
This is a regular maintenance update to ensure we are testing with a recent
version of isl.
llvm-svn: 273597
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With this update the isl AST generation extracts disjunctive constraints early
on. As a result, code that previously resulted in two branches with (close-to)
identical code within them:
if (P <= -1) {
for (int c0 = 0; c0 < N; c0 += 1)
Stmt_store(c0);
} else if (P >= 1)
for (int c0 = 0; c0 < N; c0 += 1)
Stmt_store(c0);
results now in only a single branch body:
if (P <= -1 || P >= 1)
for (int c0 = 0; c0 < N; c0 += 1)
Stmt_store(c0);
This resolves http://llvm.org/PR27559
Besides the above change, this isl update brings better simplification of
sets/maps containing existentially quantified dimensions and fixes a bug in
isl's coalescing.
llvm-svn: 272500
|
|
|
|
|
|
|
|
|
|
|
|
| |
This release includes sevaral improvments compared to the previous
version isl-0.16.1-145-g243bf7c (from the ISL 0.17 announcement):
- optionally combine SCCs incrementally in scheduler
- optionally maximize coincidence in scheduler
- optionally avoid loop coalescing in scheduler
- minor AST generator improvements
- improve support for expansions in schedule trees
llvm-svn: 268500
|
|
|
|
|
|
|
| |
Just an import to keep track with the latest version of isl. We are not looking
for specific features.
llvm-svn: 264452
|
|
|
|
|
|
|
|
| |
This commit updates to the latest isl development version. There is no specific
feature we need on the Polly side, but we want to ensure test coverage for the
latest isl changes.
llvm-svn: 262001
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This includes some (optional) improvements to the isl scheduler, which we do not
use yet, as well as a fix for a bug previously also affecting Polly:
commit 662ee9b7d45ebeb7629b239d3ed43442e25bf87c
Author: Sven Verdoolaege <skimo@kotnet.org>
Date: Mon Jan 25 16:59:32 2016 +0100
isl_basic_map_realign: perform Gaussian elimination on result
Many parts of isl assume that Gaussian elimination has been
applied to the equality constraints. In particular singleton_extract_point
makes this assumption. The input to singleton_extract_point
may have undergone parameter alignment. This parameter alignment
(ultimately performed by isl_basic_map_realign) therefore
needs to make sure the result preserves this property
llvm-svn: 259757
|
|
|
|
| |
llvm-svn: 257898
|
|
|
|
|
|
|
|
| |
The most interesting change for Polly in this isl update is 4d5654af which
in certain cases can speed up the construction of run-time checks from an isl
set consisting of several disjuncts significantly.
llvm-svn: 253794
|
|
|
|
| |
llvm-svn: 246552
|
|
|
|
|
|
|
|
|
|
|
| |
Besides other changes this version of isl contains a fundamental fix to memory
corruption issues we have seen with imath-32 backed isl_ints.
This update also contains a fix that ensures that the schedule-tree based
version of isl's dependence analysis takes the domain of the schedule into
account.
llvm-svn: 244585
|
|
|
|
|
|
|
| |
Besides a couple of cleanups and refactorings in isl, this change set fixes a
couple of bugs in isl, that can cause issues during code generation.
llvm-svn: 243110
|
|
|
|
|
|
|
| |
The motivation is to fix a wrong use of the inline qualifier. This
fixes the Polly build using Visual Studio 2015 RC.
llvm-svn: 242780
|
|
|
|
|
|
|
|
| |
This updated contains various changes to isl, including improvements to the
AST generator. For Polly, the most important change is a fix that unbreaks
builds on darwin (reported by: Jack Howard)
llvm-svn: 241048
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This version adds small integer optimization, but is not active by
default. It will be enabled in a later commit.
The schedule-fuse=min/max option has been replaced by the
serialize-sccs option. Adapting Polly was necessary, but retaining the
name polly-opt-fusion=min/max.
Differential Revision: http://reviews.llvm.org/D10505
Reviewers: grosser
llvm-svn: 240027
|
|
|
|
|
|
|
| |
This update brings mostly interface cleanups, but also fixes two bugs in
imath (a memory leak, some undefined behavior).
llvm-svn: 238422
|
|
|
|
|
|
|
|
| |
Besides a couple of interface cleanups, this change also contains a performance
optimization of isl_mat_product that should give us up to almost 6% compiletime
reduction.
llvm-svn: 237616
|
|
|
|
|
|
|
|
| |
This fixes a bug in the isl scheduler (http://llvm.org/PR21934)
Otherwise mostly minor changes.
llvm-svn: 237250
|
|
|
|
|
|
|
| |
A minor update mostly documenting the isl coding style as well as adding
functions to inspect isl_schedule_constraints objects.
llvm-svn: 235273
|
|
|
|
|
|
|
| |
This is mostly a set of schedule tree enhancements which are not yet directly
useful to Polly.
llvm-svn: 233567
|
|
|
|
|
|
|
|
|
| |
The major improvements are:
- Extended schedule tree support
- AST generation from schedule trees
llvm-svn: 232709
|
|
|
|
|
|
|
|
| |
For Polly the two interesting changes are short_circuit && and || AST
expressions as well as the introduction of isl_ast_build_expr_from_set,
a well defined interface to compute ast expressions from constraint sets.
llvm-svn: 230636
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
assignment'
This update contains:
- Fixes of minor issues detected by clang's scan_build
- More schedule tree infrastructure additions
This update slightly changes the output of our dependence analysis, but these
changes are purely syntactially.
llvm-svn: 230528
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit imports the latest isl version into lib/External/isl. The changes
relavant for Polly are:
1) Schedule trees [1] have been introduced as a more structured way to
describe schedules. Polly does not yet use them, but we may switch to them
in the near future.
2) Another set of coalescing changes [2] simplifies some data dependences and
removes a couple of code generation artifacts.
We now understand that the following sets can be merged:
{ Stmt_S1[i0, i1] -> Stmt_S2[i0 + i1] :
i0 >= 0 and i1 <= 1023 - i0 and i1 >= 1
Stmt_S1[i0, 0] -> Stmt_S2[i0] : i0 <= 1023 and i0 >= 1}
into:
{ Stmt_S1[i0, i1] -> Stmt_S2[i0 + i1] : i1 <= 1023 - i0 and i1 >= 0 and
i1 >= 1 - i0 and i0 >= 0 }
Changes of this kind reduce unnecessary specialization during code
generation.
- for (int c3 = 0; c3 <= 1023; c3 += 1) {
- if (c3 % 2 == 0) {
- Stmt_for_body3(c1, c3);
- } else
- Stmt_for_body3(c1, c3);
- }
+ for (int c3 = 0; c3 <= 1023; c3 += 1)
+ Stmt_for_body3(c1, c3);
[1] http://impact.gforge.inria.fr/impact2014/papers/impact2014-verdoolaege.pdf
[2] http://impact.gforge.inria.fr/impact2015/papers/impact2015-verdoolaege.pdf
llvm-svn: 229423
|