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
File | Mode | Size |
---|---|---|
CMakeLists.txt | -rw-r--r-- | 176 bytes |
Halide-VS2017.natvis | -rw-r--r-- | 2.2 KB |
Halide.natvis | -rw-r--r-- | 1.4 KB |
HalideTraceDump.cpp | -rw-r--r-- | 11.5 KB |
HalideTraceUtils.cpp | -rw-r--r-- | 1.3 KB |
HalideTraceUtils.h | -rw-r--r-- | 2.6 KB |
HalideTraceViz.cpp | -rw-r--r-- | 53.3 KB |
inconsolata.h | -rw-r--r-- | 222.4 KB |
Computing file changes ...