summaryrefslogtreecommitdiffstats
path: root/polly/lib/External
Commit message (Collapse)AuthorAgeFilesLines
* Update isl-cpp bindingsTobias Grosser2018-08-091-8/+8
| | | | | | | | | We upstreamed the export of isl_val_2exp, to the official cpp bindings. In this process, we concluded that pow2 is a better and more widely used name for this functionality. Hence, both the official isl-cpp bindings and our derived variant use now the term pow2. llvm-svn: 339312
* Update to isl-0.20-65-gb822a210Tobias Grosser2018-08-0922-140/+341
| | | | | | | 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
* Update isl to isl-0.20-48-g13eba5b5Tobias Grosser2018-08-0719-170/+268
| | | | | | This is a regular maintenance updated. llvm-svn: 339095
* Make update-isl work with latest isl versionsTobias Grosser2018-08-071-2/+3
| | | | | | | | | Latest isl versions require clang to build a 'dist' package. Make sure we actually ask for it. While being there, also make sure we build isl on all cores. llvm-svn: 339094
* [isl++] drop the isl namespace qualifiers [NFC]Tobias Grosser2018-08-011-4463/+4463
| | | | | | | | | | These namespace qualifiers are not needed. Dropping them brings us closer to the official isl namespace qualifiers. While the delta of this change set is large, it only mechanically drops the 'isl::' prefixes. llvm-svn: 338505
* Rebase C++ bindings on top of latest isl bindingsTobias Grosser2018-08-011-254/+1390
| | | | | | | | | | | | | | | | | | | | | | The main difference in this change is that isl_stat is now always checked by default. As we elminiated most used of isl_stat, thanks to Philip Pfaffe's implementation of foreach, only a small set of changes is needed. This change does not include the following recent changes to isl's C++ bindings: - stricter error handling for isl_bool - dropping of the isl::namespace qualifiers The former requires a larger patch in Polly and consequently should go through a patch-review. The latter will be applied in the next commit to keep this commit free from noise. We also still apply a couple of other changes on top of the official isl bindings. This delta is expected to shrink over time. llvm-svn: 338504
* Update to isl-0.20-35-ge0a98b62Tobias Grosser2018-08-0157-209/+25786
| | | | llvm-svn: 338501
* [JSONExporter] Replace bundled Jsoncpp with llvm/Support/JSON.h. NFC.Michael Kruse2018-08-0117-6522/+0
| | | | | | Differential Revision: https://reviews.llvm.org/D49950 llvm-svn: 338461
* [Polly][isl] Add neutrally-named accessors to isl list elements and sizesPhilip Pfaffe2018-07-131-0/+84
| | | | | | | | | | | | | | Summary: This could simplify the isl iterator implementation a lot. Reviewers: grosser, Meinersbur, bollu Reviewed By: grosser Subscribers: pollydev, llvm-commits Differential Revision: https://reviews.llvm.org/D49019 llvm-svn: 337054
* Add a file that was missing in r336425Philip Pfaffe2018-07-061-0/+513
| | | | llvm-svn: 336430
* Update isl to isl-0.19-224-gce84a511Tobias Grosser2018-07-0624-640/+424
| | | | | | | | 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
* [Polly-ACC] Add isl_space.h to gpu_tree.cSiddharth Bhat2018-07-041-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Summary: This patch adds <isl_space.h> to gpu_tree.c. This prevents a segfault when allocating a new isl_space in the function create_sync_domain(), as the compiler now knows that the return type is a pointer instead of assuming the function returns an int. This has been updated in upstream PPCG, so we should bump up our PPCG version. Initially discovered by Philip Pfaffe in Polly. Reviewers: grosser, bollu, philip.pfaffe Reviewed By: bollu Subscribers: nemanjai, kbarton, llvm-commits Differential Revision: https://reviews.llvm.org/D48883 Contributed-by: Alain Denzler <alaindenzler@gmail.com> llvm-svn: 336251
* Update isl to isl-0.19-185-g8e9f55ceTobias Grosser2018-06-1126-85/+733
| | | | | | This is mainly a maintenance update. llvm-svn: 334406
* Update isl C++ bindingsTobias Grosser2018-05-311-0/+1267
| | | | | | | | | | | | | This update adds new list types and adds functions which convert isl data types to lists of their contained elements: isl::set::get_basic_set_list isl::union_set::get_set_list isl::map::get_basic_map_list isl::union_map::get_map_list llvm-svn: 333688
* Update isl to isl-0.19-173-g77fe2538Tobias Grosser2018-05-3132-52/+343
| | | | | | | | | 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-152-g437e6ab0Tobias Grosser2018-05-2355-290/+669
| | | | | | | | 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
* Remove keep/take/give from isl C++ bindingsTobias Grosser2018-04-291-816/+0
| | | | | | | | These functions have been legacy leftovers which we used before the official C++ bindings existed. As all uses of these legacy functions have been removed, this polly-specific extension can also be dropped. llvm-svn: 331130
* Update to latest version of the isl c++ bindingsTobias Grosser2018-04-281-1871/+4047
| | | | | | | The delta to the previous version is rather small, but a change in brace placement makes this a rather noisy commit. llvm-svn: 331113
* Update isl to isl-0.19-114-g385262afTobias Grosser2018-04-2513-41/+248
| | | | llvm-svn: 330800
* Update isl to isl-0.19-107-gc4fe33d8Tobias Grosser2018-04-2188-979/+4985
| | | | | | This is a regular maintenance update. llvm-svn: 330496
* [isl++] abort() on assertion violation.Michael Kruse2018-04-201-0/+1
| | | | | | | | | | | | | | | | Before this patch, ISL_ASSERT only printed an error message to stderr. This can be easily missed if the program continues or just fails later. To fail-early and help error diagnostics (e.g. using bugpoint), call abort() when an assertion does not hold. I seem to just have forgotten to add this abort() when I originally proposed the ISL_ASSERT macro. Suggested-By: Eli Friedman <efriedma@codeaurora.org> Differential Revision: https://reviews.llvm.org/D45171 llvm-svn: 330467
* Silence msvc warning on isl. NFC.Michael Kruse2018-04-051-0/+1
| | | | | | | | | | | | | | | | | The warning is: isl_union_map.c(2041): warning C4221: nonstandard extension used: 'filter_user': cannot be initialized using address of automatic variable 'data' for the following code (and others) struct isl_un_op_drop_user_data data = { &isl_set_is_wrapping }; struct isl_un_op_control control = { .filter = &un_op_filter_drop_user, .filter_user = &data, .fn_map = &isl_set_wrapped_domain_map, }; llvm-svn: 329328
* isl: "isl_schedule_get_map: handle trees with divergent filter node parameters"Tobias Grosser2018-02-263-4/+37
| | | | | | | | | | | 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
* Update isl to isl-0.18-1047-g4a20ef8Tobias Grosser2018-02-20118-5369/+4039
| | | | | | | | | | | | | | | | | | 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
* Fix broken isl-noexceptions.h path in update-isl scriptTobias Grosser2018-02-201-2/+2
| | | | llvm-svn: 325556
* Update isl C++ bindings to latest version of islTobias Grosser2018-02-201-276/+954
| | | | llvm-svn: 325555
* [CMake] Use only keyword-version of target_link_library. NFC.Michael Kruse2018-01-121-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | CMake insists that for each target, one uses only the non-keyword version of target_link_library target_link_library(mytarget lib) or the one with PUBLIC/PRIVATE/INTERFACE keyword: target_link_library(mytarget PUBLIC lib) Otherwise, CMake fails with the error message: The keyword signature for target_link_libraries has already been used with the target "mytarget". All uses of target_link_libraries with a target must be either all-keyword or all-plain. Change all occurances of target_link_library to the newer keyworded version to avoid such errors. Some already have been changed in r319840, but might not be sufficient for all build configurations to build the doxygen manual. Reported-by: Tanya Lattner <tanyalattner@llvm.org> llvm-svn: 322376
* Move include/isl-noexceptions.h to include/isl/isl-noexceptions.hTobias Grosser2017-08-222-1/+1
| | | | llvm-svn: 311504
* [GPGPU] Correctly initialize array order and fixed_element informationTobias Grosser2017-08-192-1/+6
| | | | | | | | | | | | | | | | | | | | | | Summary: This information is necessary for PPCG to perform correct life range reordering. With these changes applied we can live-range reorder some of the important kernels in COSMO. We also update and rename one test case, which previously could not be optimized and now is optimized thanks to live-range reordering. To preserve test coverage we add a new test case scalar-writes-in-scop-requires-abort.ll, which exercises our automatic abort in case of scalar writes in the kernel. Reviewers: Meinersbur, bollu, singam-sanjay Subscribers: nemanjai, pollydev, llvm-commits, kbarton Tags: #polly Differential Revision: https://reviews.llvm.org/D36929 llvm-svn: 311259
* [GPGPU] Do not create copy statements when targetting managed memoryTobias Grosser2017-08-182-4/+11
| | | | | | | | | | | | | | | | | | Summary: They are not used and consequently do not even need to be computed. This reduces the overall compile time for our kernel from 1m33s to 17s. Reviewers: Meinersbur, bollu, singam-sanjay Reviewed By: bollu Subscribers: nemanjai, pollydev, llvm-commits, kbarton Tags: #polly Differential Revision: https://reviews.llvm.org/D36868 llvm-svn: 311157
* Update to a newer version of isl++Tobias Grosser2017-08-061-27/+1440
| | | | llvm-svn: 310206
* Update to isl-0.18-812-g565da6eTobias Grosser2017-08-068-1/+174
| | | | | | | 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
* Update to isl-0.18-809-gd5b4535Tobias Grosser2017-08-019-98/+228
| | | | | | This fixes some undefined behavior in the isl schedule tree code. llvm-svn: 309727
* Update isl to isl-0.18-800-g4018f45Tobias Grosser2017-07-277-17/+114
| | | | | | | | | 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
* Revert accidental isl changes in 308923Tobias Grosser2017-07-251-71/+6
| | | | | | | | | | | It seems I still had some incomplete changes in the tree when committing. In general, we only import changes from isl upstream. In this case, the changes were especially unfortunate, as they broke the error management in isl_flow.c and consequently caused regressions. Thanks to Michael Kruse for spotting this mistake. llvm-svn: 309039
* Move MemoryAccess::InvalidDomain to isl++Tobias Grosser2017-07-241-6/+71
| | | | llvm-svn: 308923
* [PPCG] Compile fix for MSVC.Michael Kruse2017-07-201-4/+4
| | | | | | | | | Visual Studio, even the 2017 version, does not support C99 VLAs. For VLA paramters, the length of the outermost dimension is not required anyway, so remove it. llvm-svn: 308643
* [PPCG] [2/3] Make polly specific PPCG Changes.Siddharth Bhat2017-07-209-1386/+129
| | | | | | | | | | | | | | | - This commit *WILL NOT COMPILE*. `PPCGCodeGeneration` requires changes since some of PPCG's internal data structures have been modified. - Has polly-speific changes to PPCG. Polly exports certain functionality that is private to PPCG. It also creates stubs for large parts of the pet API as well as other functions in `ppcg/external.c` to keep the linker happy. - This commit includes changes to CMakeLists.txt. Differential Revision: https://reviews.llvm.org/D35676 llvm-svn: 308624
* [PPCG] [1/3] Bump up PPCG version to 0.07.Siddharth Bhat2017-07-2040-1224/+6113
| | | | | | | | | | - This commit *WILL NOT COMPILE*, as it checks in vanilla PPCG 0.07 - We choose to introduce this commit into the history to cleanly display the Polly-specific changes made to PPCG. Differential Revision: https://reviews.llvm.org/D35675 llvm-svn: 308623
* update isl to: isl-0.18-791-ga22eb92Tobias Grosser2017-07-1412-93/+84
| | | | | | This is a regular maintenance update llvm-svn: 308013
* Bump isl to isl-0.18-768-g033b61aeTobias Grosser2017-07-04126-1105/+3535
| | | | | | | | | | | | | | 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
* Test commitNAKAMURA Takumi2017-06-291-1/+1
| | | | llvm-svn: 306657
* [ScheduleOptimizer] Move isolateFullPartialTiles and ↵Tobias Grosser2017-06-191-0/+6
| | | | | | isolateAndUnrollMatMulInnerLoops to C++ llvm-svn: 305676
* [isl-cpp] Remove isl/mat.h and add insert_partial_scheduleTobias Grosser2017-06-111-40/+22
| | | | | | | | | | The isl/mat.h functionality was incomplete (we returned 'void *' instead of 'isl::mat') and is likely not needed. *.insert_partial_schedule was until know not exported in the bindings, but will be needed in the next step. llvm-svn: 305161
* Update isl to isl-0.18-679-g6e75a0dTobias Grosser2017-06-0412-152/+771
| | | | | | This is a regular maintenance update llvm-svn: 304686
* [isl++] Update bindingsTobias Grosser2017-05-311-1/+13
| | | | | | | | This change removes the requirement for explicit conversions from isl::boolean to isl::bool, which resolves a compilation error on OSX. Suggested-by: Siddharth Bhat <siddu.druid@gmail.com> llvm-svn: 304288
* Update isl to isl-0.18-662-g17e172eTobias Grosser2017-05-2767-812/+2673
| | | | | | This is a general maintenance update llvm-svn: 304069
* [isl++] add isl_constraint to C++ bindings [NFC]Tobias Grosser2017-05-211-0/+396
| | | | llvm-svn: 303512
* [isl++] Export (almost) all functions from islTobias Grosser2017-05-211-11/+7829
| | | | | | | | | | | | | | | | This commit exports the majority of the isl functions to the isl C++ interface. The official isl C++ bindings still require discussions to define the set of functions that are officially supported. As a result, the officially exported functionality will be rather limited until these discussions conclude and a non-trivial set of isl functions is officially supported through the isl C++ bindings. Starting from this commit we ship with Polly an extended version of the official isl C++ bindings to ensure sufficient functionality is available such that LLVM developers can make efficient use of isl through C++. The practical experience Polly gathers with its bindings will then be used to gradually upstream patches to isl to extend the official bindings. llvm-svn: 303506
* [isl++] Rebase isl C++ bindings on top of 29aee98ceTobias Grosser2017-05-211-313/+502
| | | | | | | | This reduces the diff to the official isl C++ bindings and solves a correctness issue with isl::booleans, where isl_bool_error results were accidentally converted to isl::boolean::true. llvm-svn: 303505
OpenPOWER on IntegriCloud