| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
We use lifetime markers to limit the actual life range (similar to clang).
Differential Revision: http://reviews.llvm.org/D5582
llvm-svn: 219005
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
+ 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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This area of code is currently not very much tested. It will hopefully be
superseeded by Yabin's GSoC project.
llvm-svn: 214633
|
| |
|
|
| |
llvm-svn: 214358
|
| |
|
|
|
|
|
| |
+ Test case annotated with the new attribute
+ Modified test case to check if subfunctions are annotated
llvm-svn: 213093
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Contributed-by: Johannes Doerfert <doerfert@cs.uni-saarland.de>
llvm-svn: 206901
|
| |
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
| |
Contributed-by: Johannes Doerfert <doerfert@cs.uni-saarland.de>
llvm-svn: 206332
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
| |
This fixes PR19421.
Reported-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
llvm-svn: 206156
|
| |
|
|
| |
llvm-svn: 203721
|
| |
|
|
|
|
| |
The polly test suite is now -O3 clean.
llvm-svn: 200205
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 199587
|
| |
|
|
|
|
| |
This fixes PR18155 which is a regression introduced in 152913.
llvm-svn: 196827
|
| |
|
|
| |
llvm-svn: 196826
|
| |
|
|
|
|
|
| |
This is a modified version of the orignally contributed patch.
Contributed-by: alexandre.isoard@gmail.com
llvm-svn: 190237
|
| |
|
|
|
| |
Contributed-by: Star Tan <tanmx_star@yeah.net>
llvm-svn: 189764
|
| |
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
| |
When first updating this test I only noticided the first RUN line.
llvm-svn: 187328
|
| |
|
|
| |
llvm-svn: 187305
|
| |
|
|
| |
llvm-svn: 187300
|
| |
|
|
|
|
| |
Polly devs: please check if these commands really should fail.
llvm-svn: 187263
|
| |
|
|
|
|
|
| |
otherwise, use -polly-detect-scops-in-regions-without-loops to also detect scops
in regions without loops
llvm-svn: 183113
|
| |
|
|
|
|
| |
to detect scops in functions with no loops, use -polly-detect-scops-in-functions-without-loops
llvm-svn: 182941
|
| |
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
| |
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
|
| |
|
|
| |
llvm-svn: 176864
|
| |
|
|
| |
llvm-svn: 175881
|
|
|
llvm-svn: 169159
|