llvm-capstone/polly
Kazu Hirata f9306f6de3
[ADT] Rename llvm::erase_value to llvm::erase (NFC) (#70156)
C++20 comes with std::erase to erase a value from std::vector.  This
patch renames llvm::erase_value to llvm::erase for consistency with
C++20.

We could make llvm::erase more similar to std::erase by having it
return the number of elements removed, but I'm not doing that for now
because nobody seems to care about that in our code base.

Since there are only 50 occurrences of erase_value in our code base,
this patch replaces all of them with llvm::erase and deprecates
llvm::erase_value.
2023-10-24 23:03:13 -07:00
..
cmake [polly] Dynamic libraries are not supported on Cygwin 2023-09-05 14:38:35 -07:00
docs Clear release notes for 18.x 2023-07-25 13:58:49 +02:00
include/polly [lldb] Fix duplicate word typos; NFC 2023-09-01 21:32:24 -07:00
lib [ADT] Rename llvm::erase_value to llvm::erase (NFC) (#70156) 2023-10-24 23:03:13 -07:00
test [IR] Remove unnecessary bitcast from CreateMalloc() 2023-09-18 14:58:16 +02:00
unittests Migrate away from the soft-deprecated functions in APInt.h (NFC) 2023-02-20 00:58:29 -08:00
utils [NFC][Py Reformat] Reformat python files in the rest of the dirs 2023-05-25 11:17:05 +02:00
www [polly][www] Remove unused VideoJS 2023-09-13 12:24:46 -07:00
.arclint
.gitattributes
.gitignore
CMakeLists.txt Reland "[CMake] Bumps minimum version to 3.20.0. 2023-05-27 12:51:21 +02:00
CREDITS.txt
LICENSE.TXT
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.