llvm-project/polly
Roman Lebedev 4d0c0e6cc2
[SCEV] `createNodeForSelectOrPHIInstWithICmpInstCond()`: generalize eq handling
The current logic was: https://alive2.llvm.org/ce/z/j8muXk
but in reality the offset to the Y in the 'true' hand
does not need to exist: https://alive2.llvm.org/ce/z/MNQ7DZ
https://alive2.llvm.org/ce/z/S2pMQD

To catch that, instead of computing the Y's in both
hands and checking their equality, compute Y and C,
and check that C is 0 or 1.
2022-02-11 21:58:19 +03:00
..
cmake [polly][cmake] Use `GNUInstallDirs` to support custom installation dirs 2022-01-18 20:33:42 +00:00
docs Bump the trunk major version to 15 2022-02-01 23:54:52 -08:00
include/polly Cleanup header dependencies in LLVMCore 2022-02-02 06:54:20 +01:00
lib Add missing llvm/support/Regex.h include in polly/lib/Analysis/ScopDetection.cpp 2022-01-21 16:04:37 +01:00
test [SCEV] `createNodeForSelectOrPHIInstWithICmpInstCond()`: generalize eq handling 2022-02-11 21:58:19 +03:00
tools
unittests [polly][unittests] Link DeLICMTests with libLLVMCore 2022-01-28 21:58:40 +01:00
utils Harmonize Python shebang 2020-07-16 21:53:45 +02:00
www [Polly] Clean up Polly's getting started docs. 2021-10-14 12:26:57 -05:00
.arclint
.gitattributes
.gitignore
CMakeLists.txt [cmake] Make include(GNUInstallDirs) always below project(..) 2022-01-20 18:59:17 +00:00
CREDITS.txt
LICENSE.TXT Rename top-level LICENSE.txt files to LICENSE.TXT 2021-03-10 21:26:24 -08:00
README

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.