llvm-project/polly
Chandler Carruth e303c87e19 [TI removal] Make `getTerminator()` return a generic `Instruction`.
This removes the primary remaining API producing `TerminatorInst` which
will reduce the rate at which code is introduced trying to use it and
generally make it much easier to remove the remaining APIs across the
codebase.

Also clean up some of the stragglers that the previous mechanical update
of variables missed.

Users of LLVM and out-of-tree code generally will need to update any
explicit variable types to handle this. Replacing `TerminatorInst` with
`Instruction` (or `auto`) almost always works. Most of these edits were
made in prior commits using the perl one-liner:
```
perl -i -ple 's/TerminatorInst(\b.* = .*getTerminator\(\))/Instruction\1/g'
```

This also my break some rare use cases where people overload for both
`Instruction` and `TerminatorInst`, but these should be easily fixed by
removing the `TerminatorInst` overload.

llvm-svn: 344504
2018-10-15 10:42:50 +00:00
..
cmake [JSONExporter] Replace bundled Jsoncpp with llvm/Support/JSON.h. NFC. 2018-08-01 00:15:16 +00:00
docs [doc] Fix HowToManuallyUseTheIndividualPiecesOfPolly 2018-09-26 15:22:39 +00:00
include/polly [TI removal] Make `getTerminator()` return a generic `Instruction`. 2018-10-15 10:42:50 +00:00
lib [TI removal] Make `getTerminator()` return a generic `Instruction`. 2018-10-15 10:42:50 +00:00
test Fix another error related to YAML quoting. 2018-10-12 17:28:39 +00:00
tools Update copyright year to 2018. 2018-06-18 12:22:17 +00:00
unittests Update isl-cpp bindings 2018-08-09 05:07:14 +00:00
utils [arc] Remove unittesting from arcconfig 2018-05-15 13:43:42 +00:00
www Move www/experiments to docs/experiments 2018-09-26 15:21:43 +00:00
.arcconfig [arc] Remove unittesting from arcconfig 2018-05-15 13:43:42 +00:00
.arclint [External] Move lib/JSON to lib/External/JSON. NFC. 2017-02-05 15:26:56 +00:00
.gitattributes
.gitignore Do not track the isl PDF manual in SVN 2017-01-16 11:48:03 +00:00
CMakeLists.txt [JSONExporter] Replace bundled Jsoncpp with llvm/Support/JSON.h. NFC. 2018-08-01 00:15:16 +00:00
CREDITS.txt
LICENSE.txt [External] Move lib/JSON to lib/External/JSON. NFC. 2017-02-05 15:26:56 +00:00
README Test commit 2017-06-28 12:58:44 +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.