summaryrefslogtreecommitdiffstats
path: root/polly
Commit message (Collapse)AuthorAgeFilesLines
...
* [PerfMonitor] Fix rdtscp callsitesTobias Grosser2018-09-115-56/+48
| | | | | | | | | | | | | Summary: Update all rdtscp callsites in PerfMonitor so that they conform with the signature changes introduced in r341698. Reviewers: grosser, bollu Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D51928 llvm-svn: 341946
* [IR] Replace `isa<TerminatorInst>` with `isTerminator()`.Chandler Carruth2018-08-263-4/+5
| | | | | | | | | | | | This is a bit awkward in a handful of places where we didn't even have an instruction and now we have to see if we can build one. But on the whole, this seems like a win and at worst a reasonable cost for removing `TerminatorInst`. All of this is part of the removal of `TerminatorInst` from the `Instruction` type hierarchy. llvm-svn: 340701
* [AST] Adapt Polly to AnalysisSetTracker changes. NFC.Michael Kruse2018-08-171-2/+2
| | | | | | | | | | | | The method AliasSetTracker::getAliasSetForPointer was removed and replaced by AliasSetTracker::getAliasSetFor for the restructuring in r339930. Since Polly uses AliasSetTracker::getAliasSetForPointer, a temporary fix has been committed in r339937 with a comment: Can someone from polly please migrate usage and then delete the wrapper? This commit is doing exactly that. llvm-svn: 340072
* [DepInfo] Use isl++ in Dependences::isValidSchedule. NFC.Michael Kruse2018-08-103-41/+29
| | | | | | | Also change StatementToIslMapTy to hold isl::map, because it is used as a parameter. llvm-svn: 339484
* Update isl-cpp bindingsTobias Grosser2018-08-093-17/+17
| | | | | | | | | 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
* [JSONExporter] Print instead of ignoring parser error.Michael Kruse2018-08-021-2/+3
| | | | | | | | | | | Silence the warning warning: ignoring return value of function declared with 'warn_unused_result' attribute [-Wunused-result] JSONExporter is a developer tool, there is no mechanism for error handling. Print the parser error and abort with a fatal error. llvm-svn: 338659
* [ScopBuilder] Set domain to empty instead of NULL.Michael Kruse2018-08-013-3/+42
| | | | | | | | | | | | | | The domain generation used nullptr to mark the domain of an error block as never-executed. Later, nullptr domains are recreated with a zero-tuple domain that then mismatches with the expected domain the error block within the loop. Instead of using nullptr, assign an empty domain which preserves the expected space. Remove empty domains during SCoP simplification. Fixes llvm.org/PR38218. llvm-svn: 338646
* Update docs version and clear release notes after 8.0.0 version bumpHans Wennborg2018-08-012-4/+4
| | | | llvm-svn: 338560
* PPCG codegenTobias Grosser2018-08-011-1/+2
| | | | | | | | The latest version of the isl C++ bindings does not export the 'set' method yet. Fall back to the C interface until this method can be exported. llvm-svn: 338512
* [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-014-336/+1495
| | | | | | | | | | | | | | | | | | | | | | 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] Try to appease buildbot. NFC.Michael Kruse2018-08-011-1/+1
| | | | | | | The compiler does not seem to able move a local variable in the function's return statement. llvm-svn: 338466
* [Polly-ACC] Fix compilation after r338450. NFC.Michael Kruse2018-08-011-1/+1
| | | | llvm-svn: 338462
* [JSONExporter] Replace bundled Jsoncpp with llvm/Support/JSON.h. NFC.Michael Kruse2018-08-0122-6666/+80
| | | | | | Differential Revision: https://reviews.llvm.org/D49950 llvm-svn: 338461
* [CodeGen] Convert IslNodeBuilder::getNumberOfIterations to isl++. NFC.Michael Kruse2018-07-312-31/+19
| | | | llvm-svn: 338451
* [CodeGen] Convert IslNodeBuilder::createForSequential to isl++. NFC.Michael Kruse2018-07-312-26/+18
| | | | llvm-svn: 338450
* [CodeGen] Convert IslNodeBuilder::getUpperBound to isl++. NFC.Michael Kruse2018-07-312-32/+18
| | | | llvm-svn: 338449
* [test] Remove non-JSPON comments in JSCOP file. NFC.Michael Kruse2018-07-281-17/+0
| | | | llvm-svn: 338185
* [isl] Simplify iterator implementation by building on top of list accessorsPhilip Pfaffe2018-07-231-64/+26
| | | | | | | | | | | | | | | | | | Summary: With the new accessors, it's straightforward to use the templated iterator instead of subclassing it for all the list types. Depends on D49019 Reviewers: grosser, Meinersbur, bollu Reviewed By: grosser Subscribers: mehdi_amini, steven_wu, dexonsmith, pollydev, llvm-commits Differential Revision: https://reviews.llvm.org/D49021 llvm-svn: 337702
* [DependenceInfo] Use isl++ to replace foreach_set with for loopTobias Grosser2018-07-171-9/+13
| | | | llvm-svn: 337248
* [IslNodeBuilder] Use isl++ to replace foreach_set with for loopTobias Grosser2018-07-172-16/+15
| | | | llvm-svn: 337247
* [ScopInfo] Replace isl foreach calls with for loopsTobias Grosser2018-07-171-9/+16
| | | | llvm-svn: 337246
* [ZoneAlgo] Replace isl foreach calls with for loopsTobias Grosser2018-07-171-9/+6
| | | | llvm-svn: 337245
* [FlattenSchedule] Replace isl foreach calls with for loopsTobias Grosser2018-07-171-3/+2
| | | | llvm-svn: 337244
* [MaximalStaticExpansion] Replace isl foreach calls with for loopsTobias Grosser2018-07-171-11/+6
| | | | llvm-svn: 337243
* [ForwardOpTree] Replace isl foreach calls with for loopsTobias Grosser2018-07-171-5/+5
| | | | llvm-svn: 337242
* [Simplify] Replace isl foreach calls with for loopsTobias Grosser2018-07-171-27/+22
| | | | llvm-svn: 337241
* [FlattenAlgo] Replace more isl foreach calls with for loopsTobias Grosser2018-07-171-8/+7
| | | | | | | | | | This time we replace for loops where the return isl::stat::error has been used to carry status information. There are still two uses of foreach remaining as we do not have a corresponding for implementation for pw_aff functions. llvm-svn: 337239
* [FlattenAlgo] Replace some isl foreach calls with for loopsTobias Grosser2018-07-171-11/+7
| | | | | | Replace foreach calls which only return 'ok' with for loops. llvm-svn: 337238
* [unittest/DeLICM] Replace isl foreach calls with for loopsTobias Grosser2018-07-171-9/+8
| | | | llvm-svn: 337237
* [ScopInfo] Replace isl foreach calls with for loopsTobias Grosser2018-07-161-18/+6
| | | | | | | | After Philip added support for range-based for loops to our C++ bindings, we now convert another bunch of foreach calls to range-for loops. This improves general readability of the code. llvm-svn: 337201
* [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
* [Docs] Fix generation of manpages.Michael Kruse2018-07-091-2/+0
| | | | | | | | | Fix the following error when Sphinx generates the Polly manpage: Warning, treated as error: docs/Performance.rst:: WARNING: "table cell spanning" not supported llvm-svn: 336600
* 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
* [ScopInfo] Move foldSizeConstantsToRight() to isl++Tobias Grosser2018-07-051-61/+30
| | | | | | | | | | | | | | Summary: This patch updates the isl interface used in `foldSizeConstantsToRight()` to the new C++ interface. Reviewers: chelini, grosser, philip.pfaffe, Meinersbur Reviewed By: grosser Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D48965 llvm-svn: 336362
* [CodeGen] Fix potential null pointer dereference. NFC.Michael Kruse2018-07-051-3/+5
| | | | | | | | | | ScalarEvolution::getSCEV dereferences its argument, s.t. passing nullptr leads to undefined behaviour. Check for nullptr before calling it instead of checking its argument afterwards. llvm-svn: 336350
* [PPCGCodeGen] Change printf to outs() to prevent garbled output. [NFC]Siddharth Bhat2018-07-041-8/+8
| | | | | | | | | | | | | | | | | Summary: It appears that llvm uses unbuffered C++ streams. So, we should not mix C and C++ stream operations, because that will give us mixed up output. Reviewers: efriedma, jdoerfert, Meinersbur, gareevroman, sebpop, zinob, huihuiz, pollydev, grosser, singam-sanjay, philip.pfaffe Reviewed By: philip.pfaffe Subscribers: nemanjai, kbarton Differential Revision: https://reviews.llvm.org/D40126 llvm-svn: 336288
* ScopInfo: simplify equivalence classes before storing them [NFCI]Tobias Grosser2018-07-041-0/+2
| | | | | | | | | This change has no impact on upstream Polly directly, but reduces output noise for some internal isl versions we are testing. In general, storing simpler and more canonical output is a good idea. Hence, it seems useful to upstream this change. llvm-svn: 336281
* [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
* Fix for r336080: Missing colon in REQUIRES linePhilip Pfaffe2018-07-021-1/+1
| | | | llvm-svn: 336083
* [polly-acc] change cl_get_* return types to 32/64bitPhilip Pfaffe2018-07-022-9/+107
| | | | | | | | | | | | | | | | | | | Summary: This patch changes the return types for ocl_get_* functions during SPIR code generation. Because these functions return size_t types, the return type needs to be changed to the actual size of size_t on the device. Based on work by Michal Babej and Pekka Jääskeläinen Patch by: Alain Denzler Reviewers: grosser, philip.pfaffe, bollu Reviewed By: grosser, philip.pfaffe Subscribers: nemanjai, kbarton, llvm-commits Differential Revision: https://reviews.llvm.org/D48774 llvm-svn: 336080
* Use range for in normalizeValInst [NFCI]Tobias Grosser2018-06-291-27/+25
| | | | llvm-svn: 335971
* Translate a couple of foreach callbacks into range-based iterator loopsTobias Grosser2018-06-291-38/+25
| | | | | | | Thanks to Philip Pfaffe for providing iterator support in the previous commit. llvm-svn: 335970
* Add missing namespace specifierTobias Grosser2018-06-291-1/+1
| | | | llvm-svn: 335966
* [NFC] Fix formatting to appease buildersPhilip Pfaffe2018-06-291-1/+2
| | | | llvm-svn: 335952
OpenPOWER on IntegriCloud