https://github.com/halide/Halide
Revision 04258a57c4f8e7f46796e3ee5148a5101a92f7b4 authored by Andrew Adams on 13 February 2024, 21:33:54 UTC, committed by Andrew Adams on 13 February 2024, 21:33:54 UTC
The simplifier exploits asserts to make simplification. When compiling
with NoAsserts, certain assertions aren't ever introduced, which means
that the simplifier can't exploit certain things that we know to be
true. Mostly this has a negative effect on code size. E.g. tail cases
get generated even though they are actually dead code.

This PR keeps all the assertions right until the end of lowering, when
it strips them in a dedicated pass.

This reduces object file size for a large production blob of Halide code
by ~10%, without measurably affecting runtime.
1 parent ada6345
History
Tip revision: 04258a57c4f8e7f46796e3ee5148a5101a92f7b4 authored by Andrew Adams on 13 February 2024, 21:33:54 UTC
Strip asserts right at the end of lowering
Tip revision: 04258a5
File Mode Size
.github
apps
cmake
dependencies
doc
packaging
python_bindings
src
test
tools
tutorial
util
.clang-format -rw-r--r-- 1.4 KB
.clang-format-ignore -rw-r--r-- 383 bytes
.clang-tidy -rw-r--r-- 7.6 KB
.gitattributes -rw-r--r-- 342 bytes
.gitignore -rw-r--r-- 4.9 KB
.gitmodules -rw-r--r-- 0 bytes
CMakeLists.txt -rw-r--r-- 10.9 KB
CMakePresets.json -rw-r--r-- 6.8 KB
CODE_OF_CONDUCT.md -rw-r--r-- 3.5 KB
LICENSE.txt -rw-r--r-- 14.4 KB
MANIFEST.in -rw-r--r-- 159 bytes
Makefile -rw-r--r-- 105.7 KB
README.md -rw-r--r-- 16.5 KB
README_cmake.md -rw-r--r-- 77.0 KB
README_fuzz_testing.md -rw-r--r-- 3.9 KB
README_python.md -rw-r--r-- 31.8 KB
README_rungen.md -rw-r--r-- 12.1 KB
README_vulkan.md -rw-r--r-- 11.4 KB
README_webassembly.md -rw-r--r-- 10.4 KB
README_webgpu.md -rw-r--r-- 5.2 KB
pyproject.toml -rw-r--r-- 196 bytes
requirements.txt -rw-r--r-- 130 bytes
run-clang-format.sh -rwxr-xr-x 1.4 KB
run-clang-tidy.sh -rwxr-xr-x 3.8 KB
setup.py -rw-r--r-- 1.2 KB

README.md

back to top