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
File Mode Size
CMakeLists.txt -rw-r--r-- 2.6 KB
GenGen.cpp -rw-r--r-- 120 bytes
RunGen.h -rw-r--r-- 57.2 KB
RunGenMain.cpp -rw-r--r-- 22.9 KB
binary2cpp.cpp -rw-r--r-- 1.7 KB
build_halide_h.cpp -rw-r--r-- 2.6 KB
find_inverse.cpp -rw-r--r-- 11.8 KB
halide_benchmark.h -rw-r--r-- 9.4 KB
halide_config.make.tpl -rw-r--r-- 157 bytes
halide_image.h -rw-r--r-- 743 bytes
halide_image_info.h -rw-r--r-- 10.4 KB
halide_image_io.h -rw-r--r-- 76.0 KB
halide_malloc_trace.h -rw-r--r-- 3.3 KB
halide_thread_pool.h -rw-r--r-- 4.8 KB
halide_trace_config.h -rw-r--r-- 19.1 KB
launch_wasm_test.js -rw-r--r-- 936 bytes
makelib.sh -rwxr-xr-x 2.2 KB
regexp_replace.cpp -rw-r--r-- 860 bytes

back to top