summaryrefslogtreecommitdiffstats
path: root/polly/test/Cloog/CodeGen
Commit message (Collapse)AuthorAgeFilesLines
* Drop Cloog supportJohannes Doerfert2014-12-0295-5751/+0
| | | | | | | | | This commit drops the Cloog support for Polly. The scripts and documentation are changed to only use isl as prerequisity. In the code all Cloog specific parts have been removed and all relevant tests have been ported to the isl backend when it was created. llvm-svn: 223141
* Remove -polly-codegen-scev option and related codeTobias Grosser2014-11-304-76/+7
| | | | | | | | SCEV based code generation has been the default for two weeks after having been tested for a long time. We now drop the support the non-scev-based code generation. llvm-svn: 222978
* Modify test cases to work with SCEV based code generationTobias Grosser2014-11-162-2/+2
| | | | | | | | This patch includes tests where we actually need to adjust the CHECK lines for SCEV based code generation. Besides these adjustments we add explicit calls to -polly-codegen-scev=[true|false] and make sure we test both cases. llvm-svn: 222112
* [Fix] Accidently changed the type of a libgomp argument in r219003.Johannes Doerfert2014-10-031-1/+1
| | | | | | | Only subsequent patches introduced tests for the signature in the generated IR, thus the tests were wrong too and are adjusted now. llvm-svn: 219017
* Put the parallel context alloca into the function entry block.Johannes Doerfert2014-10-031-0/+65
| | | | | | | | We use lifetime markers to limit the actual life range (similar to clang). Differential Revision: http://reviews.llvm.org/D5582 llvm-svn: 219005
* [Refactor] Generalize parallel code generationJohannes Doerfert2014-10-038-50/+23
| | | | | | | | | | | | | + Generalized function names and comments + Removed OpenMP (omp) from the names and comments + Use common names (non OpenMP specific) for runtime library call creation methodes + Commented the parallel code generator and all its member functions + Refactored some values and methodes Differential Revision: http://reviews.llvm.org/D4990 llvm-svn: 219003
* Always pipe in test filesTobias Grosser2014-08-3021-21/+21
| | | | | | | | | In Polly we used to have a mix of test cases, some that used 'opt %s' and others that used 'opt < %s'. We now change all to use 'opt < %s'. Piping in test files is preferable as it does prevent temporary files to be written to disk. This brings us in line with what is usus in LLVM. llvm-svn: 216816
* Replace %defaultOpts with explicit pass namesTobias Grosser2014-08-3054-69/+69
| | | | | | | | | | | | | | | | | | | | 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
* Update the jscop tests and port them to isl codegen.Johannes Doerfert2014-08-0316-492/+0
| | | | | | | | The updated tests use a different context than the old ones did. Other than that only their path and the code generation we use changed. llvm-svn: 214657
* Mark a GPGPU test case as XFAILTobias Grosser2014-08-021-0/+2
| | | | | | | This area of code is currently not very much tested. It will hopefully be superseeded by Yabin's GSoC project. llvm-svn: 214633
* Update for llvm change.Rafael Espindola2014-07-301-14/+14
| | | | llvm-svn: 214358
* [Refactor] Use attributes to mark function as invalid for pollyJohannes Doerfert2014-07-152-2/+6
| | | | | | | + Test case annotated with the new attribute + Modified test case to check if subfunctions are annotated llvm-svn: 213093
* Remove use of llvm.codegen intrinsic for GPGPU codegenYabin Hu2014-06-243-0/+106
| | | | | | | | | | We use llvm.codegen intrinsic to generate code for embedded LLVM-IR strings. The reason we introduce such a intrinsic is that previous clang/opt tools was NOT linked with various LLVM targets and their AsmParsers and AsmPrinters. Since clang/opt been linked with all the needed libraries, we no longer need the llvm.codegen intrinsic. llvm-svn: 211573
* Do not run GPGPU test cases without nvptx targetTobias Grosser2014-05-142-0/+2
| | | | | | | | Tag the GPGPU codegen test cases as unsupported if the nvptx target is not included in the current llvm build. Contributed-by: Yabin Hu <yabin.hwu@gmail.com> llvm-svn: 208779
* We missed two files in the last commit.Tobias Grosser2014-04-222-2/+2
| | | | | Contributed-by: Johannes Doerfert <doerfert@cs.uni-saarland.de> llvm-svn: 206901
* Really fix the load case.Tobias Grosser2014-04-181-2/+7
| | | | | | | | Commit r206510 falsely advertised to fix the load cases, even though it only fixed the store case. This commit adds the same fix for the load case including the missing test coverage. llvm-svn: 206577
* Ensure a scalar pointer when issuing a vector loadTobias Grosser2014-04-171-0/+32
| | | | | | | | | | | Even tough we may want to generate a vector load, the address from which to load still is a scalar. Make sure even if previous address computations may have been vectorized, that the addresses are also available as scalars. This fixes http://llvm.org/PR19469 Reported-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> llvm-svn: 206510
* Fix for vector codegen in OpenMP subfunctionsTobias Grosser2014-04-151-0/+48
| | | | | Contributed-by: Johannes Doerfert <doerfert@cs.uni-saarland.de> llvm-svn: 206332
* Dependences: Do not fail in case a schedule eliminates all dependencesTobias Grosser2014-04-152-0/+56
| | | | | | | | | | | | | | | | | | | The following example shows a non-parallel loop void f(int a[]) { int i; for (i = 0; i < 10; ++i) A[i] = A[i+5]; } which, in case we import a schedule that limits the iteration domain to 0 <= i < 5, becomes parallel. Previously we crashed in such cases, now we just recognize it as parallel. This fixes http://llvm.org/PR19435 Reported-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> llvm-svn: 206318
* Codegeneration: Free memory correctly when using -polly-vectorizer=pollyTobias Grosser2014-04-141-0/+21
| | | | | | | This fixes PR19421. Reported-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com> llvm-svn: 206156
* Fix polly tests to not include aliases to declarations.Rafael Espindola2014-03-121-14/+42
| | | | llvm-svn: 203721
* Remove other unneccessary uses of -O3 in the test suiteTobias Grosser2014-01-271-1/+1
| | | | | | The polly test suite is now -O3 clean. llvm-svn: 200205
* Do not run -O3 to canonicalize test caseTobias Grosser2014-01-271-1/+1
| | | | | | | | | This is not only not necessary, but in case -03 changes this can actually cause arbitrarily failing test cases such as, e.g., a recent change by Chandler that caused -O3 to unroll the loop body, which made the loop we wanted to detect disappear and consequently this test case fail. llvm-svn: 200204
* Adjust test case to changed cloog outputTobias Grosser2014-01-191-1/+1
| | | | llvm-svn: 199587
* ScopValidator: smax expressions are no parametersTobias Grosser2013-12-091-7/+5
| | | | | | This fixes PR18155 which is a regression introduced in 152913. llvm-svn: 196827
* test: Remove use of defaultOptsTobias Grosser2013-12-091-1/+1
| | | | llvm-svn: 196826
* ScopInfo: Correctly handle true/false conditionsTobias Grosser2013-09-071-1/+1
| | | | | | | This is a modified version of the orignally contributed patch. Contributed-by: alexandre.isoard@gmail.com llvm-svn: 190237
* [CodeGen] Fixup assert fails caused by incorrect LoopInfo updateTobias Grosser2013-09-022-0/+60
| | | | | Contributed-by: Star Tan <tanmx_star@yeah.net> llvm-svn: 189764
* Remove '-debug-only' from test caseTobias Grosser2013-07-291-1/+1
| | | | | | | This flags was not used in the test case, but caused failures when LLVM was built without debugging. We can savely remove it. llvm-svn: 187343
* JSONImporter: Free new schedule if found invalidTobias Grosser2013-07-291-1/+1
| | | | | | | | | In case we detect that the schedule the user wants to import is invalid we refuse it _and_ free the isl_maps containing it. Another bug found thanks to Rafael. llvm-svn: 187339
* CodeGeneration: Fix double free in vector forTobias Grosser2013-07-291-1/+1
| | | | | | | | | | We now use __isl_take to annotate the uses of the isl_set where we got the memory management wrong. Thanks to Rafael! His pipefail work hardened our test environment and exposed this bug nicely. llvm-svn: 187338
* Use a slightly smaller hammer to make this pass.Rafael Espindola2013-07-281-5/+2
| | | | | | When first updating this test I only noticided the first RUN line. llvm-svn: 187328
* Temporary disable a test until I finished the fixTobias Grosser2013-07-271-0/+3
| | | | llvm-svn: 187305
* Looks like this test crashes. Add --crash to not for now.Rafael Espindola2013-07-271-1/+1
| | | | llvm-svn: 187300
* Add not to commands that fail.Rafael Espindola2013-07-262-2/+2
| | | | | | Polly devs: please check if these commands really should fail. llvm-svn: 187263
* scop detection: do not run scop detection on regions without loopsSebastian Pop2013-06-031-1/+1
| | | | | | | otherwise, use -polly-detect-scops-in-regions-without-loops to also detect scops in regions without loops llvm-svn: 183113
* scop detection: only handle functions with loopsSebastian Pop2013-05-301-1/+1
| | | | | | to detect scops in functions with no loops, use -polly-detect-scops-in-functions-without-loops llvm-svn: 182941
* Update LoopInfo correctlyTobias Grosser2013-05-161-1/+6
| | | | | | | | | | When the Polly code generation was written we did not correctly update the LoopInfo data, but still claimed that the loop information is correct. This does not only lead to missed optimizations, but it can also cause miscompilations in case passes such as LoopSimplify are run after Polly. Reported-by: Sergei Larin <slarin@codeaurora.org> llvm-svn: 181987
* LoopGenerators: Construct loops such that they are already loop rotatedTobias Grosser2013-05-162-7/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | BeforeBB | v GuardBB / \ __ PreHeaderBB \ / \ / | latch HeaderBB | \ / \ / < \ / \ / ExitBB This does not only remove the need for an explicit loop rotate pass, but it also gives us the possibility to skip the construction of the guard condition in case the loop is known to be executed at least once. We do not yet exploit this, but by implementing this analysis in the isl code generator we should be able to remove more guards than the generic loop rotate pass can. Another point is that loop rotation can introduce additional PHI nodes, which may hide that a loop can be executed in parallel. This change avoids this complication and will make it easier to move the openmp code generation into a separate pass. llvm-svn: 181986
* tests: Properly check if asserts are availableTobias Grosser2013-03-121-1/+1
| | | | | | | | | In my previous commits I failed to realise that my new requires lines fully disabled these tests. We now properly check if we are in an asserts build and only disable the tests if assertions are not available. Reported-by: Sean Silva <silvas@purdue.edu> llvm-svn: 176900
* Missed on test case in the last commitTobias Grosser2013-03-121-0/+1
| | | | llvm-svn: 176864
* Use attributes references on call/invoke instructions.Bill Wendling2013-02-222-12/+16
| | | | llvm-svn: 175881
* execute cloog specific testcases only with CLOOG_FOUNDSebastian Pop2012-12-03101-0/+5902
llvm-svn: 169159
OpenPOWER on IntegriCloud