summaryrefslogtreecommitdiffstats
path: root/polly/test/Isl/CodeGen/loop_with_condition_2.ll
Commit message (Collapse)AuthorAgeFilesLines
* tests: Drop -polly-detect-unprofitable and -polly-no-early-exitTobias Grosser2015-10-061-1/+1
| | | | | | | | These flags are now always passed to all tests and need to be disabled if not needed. Disabling these flags, rather than passing them to almost all tests, significantly simplfies our RUN: lines. llvm-svn: 249422
* Allow general loops with one latchJohannes Doerfert2015-09-101-3/+3
| | | | | | | | | | | | | | | | | | | As we do not rely on ScalarEvolution any more we do not need to get the backedge taken count. Additionally, our domain generation handles everything that is affine and has one latch and our ScopDetection will over-approximate everything else. This change will therefor allow loops with: - one latch - exiting conditions that are affine Additionally, it will not check for structured control flow anymore. Hence, loops and conditionals are not necessarily single entry single exit regions any more. Differential Version: http://reviews.llvm.org/D12758 llvm-svn: 247289
* Use schedule trees to represent execution order of statementsTobias Grosser2015-07-141-3/+3
| | | | | | | | | | | | | | | | | | Instead of flat schedules, we now use so-called schedule trees to represent the execution order of the statements in a SCoP. Schedule trees make it a lot easier to analyze, understand and modify properties of a schedule, as specific nodes in the tree can be choosen and possibly replaced. This patch does not yet fully move our DependenceInfo pass to schedule trees, as some additional performance analysis is needed here. (In general schedule trees should be faster in compile-time, as the more structured representation is generally easier to analyze and work with). We also can not yet perform the reduction analysis on schedule trees. For more information regarding schedule trees, please see Section 6 of https://lirias.kuleuven.be/handle/123456789/497238 llvm-svn: 242130
* Remove target triples from test casesTobias Grosser2015-04-211-1/+0
| | | | | | | | I just learned that target triples prevent test cases to be run on other architectures. Polly test cases are until now sufficiently target independent to not require any target triples. Hence, we drop them. llvm-svn: 235384
* Update Polly tests to handle explicitly typed load changes in LLVM.David Blaikie2015-02-271-3/+3
| | | | llvm-svn: 230796
* Update Polly tests to handle explicitly typed gep changes in LLVMDavid Blaikie2015-02-271-4/+4
| | | | llvm-svn: 230784
* ScopDetection: Only detect scops that have at least one read and one writeTobias Grosser2015-02-191-1/+1
| | | | | | | | | | Scops that only read seem generally uninteresting and scops that only write are most likely initializations where there is also little to optimize. To not waste compile time we bail early. Differential Revision: http://reviews.llvm.org/D7735 llvm-svn: 229820
* Drop all constant scheduling dimensionsTobias Grosser2015-01-011-9/+9
| | | | | | | | | Schedule dimensions that have the same constant value accross all statements do not carry any information, but due to the increased dimensionality of the schedule cost compile time. To not pay this cost, we remove constant dimensions if possible. llvm-svn: 225067
* Replace %defaultOpts with explicit pass namesTobias Grosser2014-08-301-1/+1
| | | | | | | | | | | | | | | | | | | | This replaces the use of %defaultOpts = '-basicaa -polly-prepare' with the minimal set of passes necessary for a test to succeed. Of the test cases that previously used %defaultOpts 76 test cases require none of these passes, 42 need -basicaa and only 2 need -polly-prepare. Our change makes this requirement explicit. In Polly many test cases have been using a macro '%defaultOpts' which run a couple of preparing passes before the actual Polly test case. This macro was introduced very early in the development of Polly and originally contained a large set of canonicalization passes. However, as the need for additional canonicalization passes makes test cases harder to understand and also more fragile in terms of changes in such passes, we aim since a longer time to only include the minimal set of passes necessary. This patch removes the last leftovers from of %defaultOpts and brings our tests cases more in line to what is usus in LLVM itself. llvm-svn: 216815
* [Refactor] Remove containsLoop to find innermost loopsJohannes Doerfert2014-07-241-9/+13
| | | | | | | | | Use the fact that if we visit a for node first in pre and next in post order we know we did not visit any children, thus we found an innermost loop. + Test case for an innermost loop with a conditional inside llvm-svn: 213870
* adapt cloog codegen testcases to islSebastian Pop2012-12-031-0/+137
llvm-svn: 169161
OpenPOWER on IntegriCloud