llvm-project/polly
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
..
autoconf GMP is only required for CLooG 2014-02-22 02:15:39 +00:00
cmake record in POLLY_LINK_LIBS all the libs needed for polly 2014-03-13 20:24:48 +00:00
docs
include Replace INVALID/INVALID_NOVERIFY with diagnostics. 2014-04-02 11:54:01 +00:00
lib Replace INVALID/INVALID_NOVERIFY with diagnostics. 2014-04-02 11:54:01 +00:00
test Delete trivial PHI nodes (aka stack slot sharing) 2014-04-01 16:01:33 +00:00
tools Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
utils Update CLooG and some test cases 2014-03-10 17:31:22 +00:00
www www: More formatting improvements 2014-03-21 13:38:02 +00:00
.gitattributes gitattributes: .png and .txt are no text files 2013-07-28 09:05:20 +00:00
CMakeLists.txt record in POLLY_LINK_LIBS all the libs needed for polly 2014-03-13 20:24:48 +00:00
CREDITS.txt (Test commit for polly) 2011-07-16 13:30:03 +00:00
LICENSE.txt Update the copyright credits -- Happy new year 2014! 2014-01-01 08:27:31 +00:00
Makefile Revert "Fix a bug introduced by r153739: We are not able to provide the correct" 2012-04-11 07:43:13 +00:00
Makefile.common.in 'chmod -x' on files that do not need the executable bits 2012-12-29 15:09:03 +00:00
Makefile.config.in autoconf: Add PLUTO_FOUND flag 2014-03-18 18:50:58 +00:00
README Trivial change to the README, mainly to test commit access. 2012-10-09 04:59:42 +00:00
configure GMP is only required for CLooG 2014-02-22 02:15:39 +00:00

README

Polly - Polyhedral optimizations for LLVM
-----------------------------------------
http://polly.llvm.org/

Polly uses a mathematical representation, the polyhedral model, to represent and
transform loops and other control flow structures. Using an abstract
representation it is possible to reason about transformations in a more general
way and to use highly optimized linear programming libraries to figure out the
optimal loop structure. These transformations can be used to do constant
propagation through arrays, remove dead loop iterations, optimize loops for
cache locality, optimize arrays, apply advanced automatic parallelization, drive
vectorization, or they can be used to do software pipelining.