https://github.com/halide/Halide
Revision 366af580fdb51d67d935ceacaae69a917e914ab4 authored by Andrew Adams on 21 August 2019, 23:37:11 UTC, committed by Andrew Adams on 21 August 2019, 23:37:11 UTC
Unrolling happens after sliding but before partitioning, so the extents
of the unrolled loop should have an upper bound, but it can be hard for
the compiler to see this through all the selects. This PR makes things
way more aggressive in the about-to-fail case in unrolling. It now
exhaustively substitutes in everything for maximally aggressive
simplification, and there are a bunch of new simplifier rules to help
cancel things through select nodes. This exhaustive substitution is
somewhat dangerous, but this is a case where the compiler is about to
throw an error if it doesn't simplify down to almost a constant.
1 parent dcb040b
History
Tip revision: 366af580fdb51d67d935ceacaae69a917e914ab4 authored by Andrew Adams on 21 August 2019, 23:37:11 UTC
New select rewrites for simplifying unrolled slid loops
Tip revision: 366af58
File Mode Size
apps
python_bindings
src
test
tools
tutorial
util
.clang-format -rw-r--r-- 1.4 KB
.gitattributes -rw-r--r-- 342 bytes
.gitignore -rw-r--r-- 1.0 KB
.gitmodules -rw-r--r-- 0 bytes
.travis.yml -rw-r--r-- 1.8 KB
CMakeLists.txt -rw-r--r-- 17.2 KB
Doxyfile -rw-r--r-- 103.6 KB
Doxyfile.in -rw-r--r-- 64.3 KB
LICENSE.txt -rw-r--r-- 1.1 KB
Makefile -rw-r--r-- 89.8 KB
README.md -rw-r--r-- 15.9 KB
README_cmake.md -rw-r--r-- 9.9 KB
README_rungen.md -rw-r--r-- 12.1 KB
README_webassembly.md -rw-r--r-- 10.9 KB
halide.cmake -rw-r--r-- 30.1 KB

README.md

back to top