Commit Graph

973 Commits

Author SHA1 Message Date
Tobias Grosser f56af204b9 Add delinearization testcase for ivs that do not follow the loop order
This is a test case that is currently failing, but that should start working
with an upcoming version of our delinearization pass.

llvm-svn: 207678
2014-04-30 17:49:22 +00:00
Benjamin Kramer ff69b3c260 Add missing include.
llvm-svn: 207618
2014-04-30 07:26:28 +00:00
Tobias Grosser 36e997ff80 www: Reference phone call notes
llvm-svn: 207006
2014-04-23 18:09:24 +00:00
Tobias Grosser 34c8787200 Fix formatting
llvm-svn: 206903
2014-04-22 16:39:41 +00:00
Tobias Grosser 841009a2cc We missed two files in the last commit.
Contributed-by:  Johannes Doerfert <doerfert@cs.uni-saarland.de>
llvm-svn: 206901
2014-04-22 15:57:30 +00:00
Tobias Grosser 0d11dbabc4 Fixed missing cloog test with automake/configure build setup
Contributed-by:  Johannes Doerfert <doerfert@cs.uni-saarland.de>
llvm-svn: 206900
2014-04-22 15:30:43 +00:00
Tobias Grosser 9818bc837a IslCodeGeneration: Document the IslExprBuilder
llvm-svn: 206898
2014-04-22 14:26:51 +00:00
Chandler Carruth 95fef9446c [Modules] Fix potential ODR violations by sinking the DEBUG_TYPE
definition below all of the header #include lines, Polly edition.

If you want to know more details about this, you can see the recent
commits to Debug.h in LLVM. This is just the Polly segment of a cleanup
I'm doing globally for this macro.

llvm-svn: 206852
2014-04-22 03:30:19 +00:00
Tobias Grosser 954939842f Really fix the load case.
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
2014-04-18 09:46:35 +00:00
Tobias Grosser 50fd7010d8 Ensure a scalar pointer when issuing a vector load
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
2014-04-17 23:13:49 +00:00
Tobias Grosser 6e4dea2bb7 Link to notes of our last phone call
llvm-svn: 206488
2014-04-17 19:59:38 +00:00
Tobias Grosser 5a56cbf496 [C++11] Use nullptr
llvm-svn: 206361
2014-04-16 07:33:47 +00:00
Tobias Grosser e6c9c85bc8 Fix formatting
llvm-svn: 206333
2014-04-15 22:30:10 +00:00
Tobias Grosser 75b76729ab Fix for vector codegen in OpenMP subfunctions
Contributed-by: Johannes Doerfert <doerfert@cs.uni-saarland.de>
llvm-svn: 206332
2014-04-15 22:30:06 +00:00
Tobias Grosser c787b12d04 Avoid -Wunused-const-variable warning
llvm-svn: 206329
2014-04-15 22:18:37 +00:00
Chandler Carruth 1fc97224af Fix more build errors in Polly after r206310. David caught one of these
in r206312, but others don't seem to show up on build bots? Unsure of
why, they showed up for me.

llvm-svn: 206326
2014-04-15 21:48:34 +00:00
Tobias Grosser 364c136d08 Dependences: Do not fail in case a schedule eliminates all dependences
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
2014-04-15 20:14:57 +00:00
David Blaikie b035f6d878 Blind fix Polly for r206310
llvm-svn: 206312
2014-04-15 18:45:27 +00:00
Tobias Grosser efc3013544 Codegeneration: Free memory correctly when using -polly-vectorizer=polly
This fixes PR19421.

Reported-by: Jeremy Huddleston Sequoia <jeremyhu@apple.com>
llvm-svn: 206156
2014-04-14 08:33:24 +00:00
Tobias Grosser 8e5e78e19b Update isl to fix memory bugs
llvm-svn: 206134
2014-04-13 16:37:18 +00:00
Tobias Grosser c393ff07b2 Dependences: Refine the compute out facility
We update to a newer version of isl, which includes changes to the compute
out facility that make it a lot more predicable. With our new value, we can
reliably bail out for all reported bugs, while still being able to compute
dependences for all but two test cases in the LLVM test suite. For the remaining
two test cases, the dependence problem we construct is unnecessarily complex,
so there is hope we can improve on this. However, to avoid any future issues,
having a reliable compute out facility in place is important.

llvm-svn: 206106
2014-04-12 11:39:28 +00:00
Tobias Grosser 20532b8e1b Fixed gcc build warnings
+ vim 'fixed' line endings in json_value.cpp

Contributed-by:  Johannes Doerfert <doerfert@cs.uni-saarland.de>
llvm-svn: 206044
2014-04-11 17:56:49 +00:00
Tobias Grosser b24cf90645 Remove OpenScop
We only supported a very old version of OpenScop that was entirely different
to what OpenScop is today. To not confuse people, we remove this old and
unusable support. If anyone is interested to add OpenScop support back in,
the relevant patches are available in version control.

llvm-svn: 206026
2014-04-11 09:47:45 +00:00
Tobias Grosser 4f469d65cc todo: Update todo list
llvm-svn: 205985
2014-04-10 19:49:36 +00:00
Tobias Grosser fc8d81e5cb www: Fix typo
llvm-svn: 205984
2014-04-10 19:21:12 +00:00
Tobias Grosser 884f6ad09b todo: Building against an installed LLVM works
We only care about cmake and the buildbots test that it works.

llvm-svn: 205983
2014-04-10 19:20:30 +00:00
Tobias Grosser 52bacf5900 www: We have no interest in FORTRAN support in test suite
llvm-svn: 205982
2014-04-10 19:19:11 +00:00
Tobias Grosser 7701194d61 Add link to meeting notes
llvm-svn: 205980
2014-04-10 18:44:50 +00:00
Sebastian Pop cd3bb59aa2 only delinearize when the access function is not affine
llvm-svn: 205971
2014-04-10 16:08:11 +00:00
Tobias Grosser 79baa21242 ScopInfo: Scalar accesses are zero dimensional
llvm-svn: 205958
2014-04-10 08:38:02 +00:00
Tobias Grosser 6defb5bd6d ScopInfo: Some code cleanup
llvm-svn: 205957
2014-04-10 08:37:44 +00:00
Sebastian Pop e4c20da3e7 clang format last patch
llvm-svn: 205804
2014-04-08 21:37:58 +00:00
Sebastian Pop 1801668af3 delinearize memory access functions
llvm-svn: 205799
2014-04-08 21:20:44 +00:00
Tobias Grosser 72cebdec2e Add another hint for fixing check-polly errors to get_started.html
Reversed the order in which LD_LIBRARY_PATH is defined in order to make sure the
${CLOOG_INSTALL} prefix is found first.

Contributed-by: Christian Bielert <cib123@googlemail.com>
llvm-svn: 205556
2014-04-03 19:38:38 +00:00
Tobias Grosser d7c5e51627 Note of last Polly phone call
llvm-svn: 205553
2014-04-03 18:56:13 +00:00
Tobias Grosser ca61be3ac2 Add a paragraph describing how to configure the python interpreter.
Contributed-by: cib123@googlemail.com
llvm-svn: 205549
2014-04-03 18:12:13 +00:00
Tobias Grosser 2610889ebc Use explit types in foreach iterators
llvm-svn: 205457
2014-04-02 20:18:19 +00:00
Andreas Simbuerger 01a37a0bcc Replace INVALID/INVALID_NOVERIFY with diagnostics.
This replaces the ancient INVALID/INVALID_NOVERIFY macros with a real
function.

The new invalid(..) function uses small diagnostic objects that are
generated on demand. We can store arbitrary additional information per
error type and generate useful debug/error messages on the fly.

Use it as follows:
  if (/* Some error condition (ReportFoo) */)
    invalid<ReportFoo>(Context, /*Assert=*/true/false,
      (/* List of helpful diagnostic objects */));

Where ReportFoo is a subclass of RejectReason that is able to take the
list of helpful diagnostic objects in its constructor.
The implementation of invalid will create the report and fire
an assertion, if necessary.

llvm-svn: 205414
2014-04-02 11:54:01 +00:00
Tobias Grosser 64b95123ef Delete trivial PHI nodes (aka stack slot sharing)
During code preperation trivial PHI nodes (mainly introduced by lcssa) are
deleted to decrease the number of introduced allocas (==> dependences). However
simply replacing them by their only incoming value would cause the independent
block pass to introduce new allocas. To prevent this we try to share stack slots
during code preperarion, hence to reuse a already created alloca 'to demote' the
trivial PHI node. This works if we know that the value stored in this alloca
will be the incoming value of the trivial PHI at the end of the predecessor
block of this trivial PHI.

Contributed-by: Johannes Doerfert <doerfert@cs.uni-saarland.de>
llvm-svn: 205320
2014-04-01 16:01:33 +00:00
Tobias Grosser 5fa36c0ff6 Updated test/create_ll.sh to work with old & new clang versions.
We explicitly specifying all filenames instead of assuming some naming
convention used by clang and opt.

Contributed-by: Johannes Doerfert <doerfert@cs.uni-saarland.de>
llvm-svn: 204726
2014-03-25 15:50:44 +00:00
Tobias Grosser e275e9216b Return conservative result in case the dependence check timed out
For complex examples it may happen that we do not compute dependences. In this
case we do not want to crash, but just not detect parallel loops.

llvm-svn: 204470
2014-03-21 15:12:09 +00:00
Tobias Grosser 2f4529f864 clang-format: Remove empty lines
llvm-svn: 204468
2014-03-21 14:04:25 +00:00
Tobias Grosser 105ddd8775 www: More formatting improvements
llvm-svn: 204466
2014-03-21 13:38:02 +00:00
Tobias Grosser 93679896c6 www: Remove warning about the implementation status
It does not seem to add a lot of value, as it leaves unclear which parts are
mature and whichs not. Adding this informatin also does not make sense, as it
changes rapidly.

llvm-svn: 204447
2014-03-21 09:34:38 +00:00
Tobias Grosser ca493da8a4 www: Rewrite the intro about Polly
llvm-svn: 204446
2014-03-21 09:34:34 +00:00
Tobias Grosser 54ef29a8bb www: Mark a couple of projects done
We now have both polyhedral dead code elimination as well as LNT buildbots.

llvm-svn: 204445
2014-03-21 09:34:30 +00:00
Tobias Grosser 231f094ed9 www: Add a script that allows us to obtain statistics about polly
llvm-svn: 204444
2014-03-21 09:34:27 +00:00
Tobias Grosser 9e8597bdb7 www: Add a script to show the latest news from polyhedral.info
llvm-svn: 204443
2014-03-21 09:34:23 +00:00
Tobias Grosser eb4ea9eb79 www: Separate out the Polly paper
llvm-svn: 204442
2014-03-21 09:34:18 +00:00
Tobias Grosser 7e1faccca2 www: Link to the polyhedral.info publication list
llvm-svn: 204441
2014-03-21 09:34:13 +00:00