mirror-llvm-project/polly
Ehsan Amiri e8b663ba31
[SimpleLoopUnswitch] Reland "Generalize the notion of trivial unswitching" (#204934)
In the original PR for this feature, the third parameter of
`MemorySSAUpdater::applyUpdates` was not set to `true`. This
caused `DT` to be invalid, resulting in the failures. This PR fixes the
issue and provides an additional testcase.

Also in the original commit had three asserts to confirm
`!ModifiedBranch ` when we bail out. One of these is redundant because
it is enclosed in an `if` statement checking the same condition. This PR removes
the redundant `assert` too.
2026-06-23 13:27:46 -04:00
..
ci [Polly] Forward VFS from PassBuilder for IO sandboxing (#188657) 2026-03-28 23:55:05 +01:00
cmake
docs [docs] try again to handle doxygen everywhere (#203081) 2026-06-11 08:58:36 -04:00
include/polly [Polly] Remove unused DenseMapInfo::getEmptyKey (#201992) 2026-06-06 11:18:12 -07:00
lib [polly] Simplify with DenseMap::remove_if. NFC (#199577) 2026-05-25 22:35:48 +00:00
test [SimpleLoopUnswitch] Reland "Generalize the notion of trivial unswitching" (#204934) 2026-06-23 13:27:46 -04:00
unittests [Polly] Disable PCH reuse for unit tests (#193209) 2026-04-21 12:43:13 +00:00
utils
www
.arclint
.gitattributes
.gitignore
CMakeLists.txt [Polly] Remove Accidental Test Comment in CMakeLists.txt 2025-07-22 21:27:56 +00:00
CREDITS.txt
LICENSE.TXT
Maintainers.md
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.