summaryrefslogtreecommitdiffstats
path: root/polly/lib/External/isl/isl_scheduler.c
Commit message (Collapse)AuthorAgeFilesLines
* Update isl to isl-0.19-173-g77fe2538Tobias Grosser2018-05-311-1/+1
| | | | | | | | | 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
* Update isl to isl-0.19-107-gc4fe33d8Tobias Grosser2018-04-211-0/+1
| | | | | | This is a regular maintenance update. llvm-svn: 330496
* Update isl to isl-0.18-1047-g4a20ef8Tobias Grosser2018-02-201-100/+219
| | | | | | | | | | | | | | | | | | 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
* Update to isl-0.18-809-gd5b4535Tobias Grosser2017-08-011-6/+22
| | | | | | This fixes some undefined behavior in the isl schedule tree code. llvm-svn: 309727
* Bump isl to isl-0.18-768-g033b61aeTobias Grosser2017-07-041-299/+819
| | | | | | | | | | | | | | 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
* Update isl to isl-0.18-679-g6e75a0dTobias Grosser2017-06-041-142/+516
| | | | | | This is a regular maintenance update llvm-svn: 304686
* Update isl to isl-0.18-662-g17e172eTobias Grosser2017-05-271-64/+129
| | | | | | This is a general maintenance update llvm-svn: 304069
* Update to isl-0.18-592-gb50ad59Tobias Grosser2017-04-281-5/+3
| | | | | | This is just a general maintenance update. llvm-svn: 301624
* Update isl to isl-0.18-336-g1e193d9Tobias Grosser2017-03-071-13/+35
| | | | | | This is a regular maintenance update llvm-svn: 297169
* Updated isl to isl-0.18-254-g6bc184dTobias Grosser2017-02-171-16/+16
| | | | | | | This update includes a couple more coalescing changes as well as a large number of isl-internal code cleanups (dead assigments, ...). llvm-svn: 295419
* Update isl to isl-0.18-9-gd4734f3Tobias Grosser2016-12-221-0/+3
| | | | llvm-svn: 290389
* isl: update to isl-0.17.1-233-gc911e6aTobias Grosser2016-10-011-490/+32
| | | | llvm-svn: 283049
* Update isl to isl-0.17.1-57-g1879898Tobias Grosser2016-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Update to ISL 0.17.Michael Kruse2016-05-041-358/+1009
| | | | | | | | | | | | 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
* Update to isl-0.16.1-145-g243bf7cTobias Grosser2016-03-251-4/+12
| | | | | | | Just an import to keep track with the latest version of isl. We are not looking for specific features. llvm-svn: 264452
* Update to isl-0.16.1-20-gee54b48Tobias Grosser2016-02-041-83/+1714
| | | | | | | | | | | | | | | | | | | | 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
* Update to ISL 0.16.1Michael Kruse2016-01-151-177/+288
| | | | llvm-svn: 257898
* Update ISL to isl-0.15-3-g532568aMichael Kruse2015-06-181-11/+7
| | | | | | | | | | | | | | 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
* Update isl to 93b8e43dTobias Grosser2015-05-281-37/+33
| | | | | | | This update brings mostly interface cleanups, but also fixes two bugs in imath (a memory leak, some undefined behavior). llvm-svn: 238422
* Update isl to 9f767f1766a0Tobias Grosser2015-05-131-39/+50
| | | | | | | | This fixes a bug in the isl scheduler (http://llvm.org/PR21934) Otherwise mostly minor changes. llvm-svn: 237250
* Update isl to c3892bebc0Tobias Grosser2015-05-091-0/+1
| | | | | | Various smaller improvements and bugfixes. llvm-svn: 236932
* Update isl to a6523fb42c35Tobias Grosser2015-04-191-0/+46
| | | | | | | A minor update mostly documenting the isl coding style as well as adding functions to inspect isl_schedule_constraints objects. llvm-svn: 235273
* Update isl to 285e92aeaTobias Grosser2015-03-301-66/+168
| | | | | | | This is mostly a set of schedule tree enhancements which are not yet directly useful to Polly. llvm-svn: 233567
* Update isl to 0980603 'isl_tab_pip.c: parallel_constraints: drop useless ↵Tobias Grosser2015-02-251-2/+1
| | | | | | | | | | | | | | 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
* Update to isl 99d53692baTobias Grosser2015-02-161-419/+484
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Import isl(+imath) as an external library into PollyTobias Grosser2015-02-041-0/+4148
With this patch Polly is always GPL-free (no dependency on GMP any more). As a result, building and distributing Polly will be easier. Furthermore, there is no need to tightly coordinate isl and Polly releases anymore. We import isl b3e0fa7a05d as well as imath 4d707e5ef2. These are the git versions Polly currently was tested with when using utils/checkout_isl.sh. The imported libraries are both MIT-style licensed. We build isl and imath with -fvisibility=hidden to avoid clashes in case other projects (such as gcc) use conflicting versions of isl. The use of imath can temporarily reduce compile-time performance of Polly. We will work on performance tuning in tree. Patches to isl should be contributed first to the main isl repository and can then later be reimported to Polly. This patch is also a prerequisite for the upcoming isl C++ interface. llvm-svn: 228193
OpenPOWER on IntegriCloud