forked from OSchip/llvm-project
01a37a0bcc
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 |
||
---|---|---|
.. | ||
autoconf | ||
cmake | ||
docs | ||
include | ||
lib | ||
test | ||
tools | ||
utils | ||
www | ||
.gitattributes | ||
CMakeLists.txt | ||
CREDITS.txt | ||
LICENSE.txt | ||
Makefile | ||
Makefile.common.in | ||
Makefile.config.in | ||
README | ||
configure |
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.