https://github.com/halide/Halide
Revision fffb8bd568e5e1053437471806a1528e7c569081 authored by Andrew Adams on 24 October 2023, 17:23:49 UTC, committed by GitHub on 24 October 2023, 17:23:49 UTC
Explicitly mark which loops get loop-carry-dependencies inserted by
sliding window to assist storage folding.

Storage folding needs to know about this so it doesn't try to fold in a
way that invalidates these read-after-write dependencies. It currently
tries to prove the absence of hazards with box_contains(box_provided,
box_required), but this is sometimes incorrect because box_provided
could be conservatively large, and the code it analyses might not
actually provide (store to) all the required (loaded from) values.

It's simpler for sliding window to just tell storage folding when it
inserts loop-carry-dependencies, and this is most simply done directly
in the IR itself.

Fixes #7909
1 parent d023065
History
Tip revision: fffb8bd568e5e1053437471806a1528e7c569081 authored by Andrew Adams on 24 October 2023, 17:23:49 UTC
Fix read-after-write hazard analysis in storage folding (#7910)
Tip revision: fffb8bd
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-- 375 bytes
.clang-tidy -rw-r--r-- 6.9 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-- 6.6 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-- 106.1 KB
README.md -rw-r--r-- 16.5 KB
README_cmake.md -rw-r--r-- 77.9 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.5 KB
README_webgpu.md -rw-r--r-- 4.4 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