| 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
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
Also un-revert (isl_pw_*_alloc: add missing check for compatible spaces, Wed Sep
6 12:18:04 2017 +0200).
This patch is a proposed fix to avoid asserts due to stricter space checking
within isl, which resulted in failures when converting a schedule tree to
a schedule map.
llvm-svn: 326073
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 fixes a bug in isl_flow where triggering the compute out could result in
undefined or unexpected behavior. This fixes some recent regressions we saw
in the android buildbots. Thanks Eli Friedman for reducing the corresponding
test cases.
llvm-svn: 309274
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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 just a general maintenance update.
llvm-svn: 301624
|
|
|
|
|
|
|
| |
This is a regular maintenance update to ensure latest isl changes are tested
in our buildbots.
llvm-svn: 299350
|
|
|
|
|
|
| |
This is a normal maintenance update.
llvm-svn: 298352
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Even more isl coalesce changes.
llvm-svn: 290783
|
|
|
|
|
|
| |
Another set of isl coalesce changes.
llvm-svn: 290681
|
|
|
|
|
|
|
| |
This update improves isl's ability to coalesce different convex sets/maps,
especially when the contain existentially quantified variables.
llvm-svn: 290538
|
|
|
|
| |
llvm-svn: 290389
|
|
|
|
|
|
|
|
|
|
|
|
| |
This version includes an update for imath (isl-0.17.1-49-g2f1c129). It fixes
the compilation under windows, which does not know ssize_t.
In addition, isl-0.17.1-288-g0500299 changed the way isl_test finds the source
directory. It now generates a file isl_srcdir.c at configure-time, containing
the source path, to not require setting the environment variable "srcdir" at
test-time. The cmake build system had to be modified to also generate that file.
llvm-svn: 288811
|
|
|
|
|
|
|
| |
This update corrects an incorrect generation of min/max expressions in the isl
AST generator and a problematic nullptr dereference.
llvm-svn: 287098
|
|
|
|
|
|
|
| |
This introduces big-endian support in imath and resolves
http://llvm.org/PR24632.
llvm-svn: 285993
|
|
|
|
| |
llvm-svn: 283049
|
|
|
|
|
|
| |
This version fixes a bug in set coalescing.
llvm-svn: 278936
|
|
|
|
|
|
| |
This update resolves a bug in computing lexicographic minima/maxima.
llvm-svn: 276138
|
|
|
|
|
|
|
| |
This fixes an issue with equality detection that resulted in an assertion
being triggered during coalescing.
llvm-svn: 276094
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
This fixes a bug in the isl scheduler (http://llvm.org/PR21934)
Otherwise mostly minor changes.
llvm-svn: 237250
|
|
|
|
|
|
| |
Various smaller improvements and bugfixes.
llvm-svn: 236932
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|