halide / Halide

a language for fast, portable data-parallel computation
https://halide-lang.org
Other
5.91k stars 1.07k forks source link

Propagate some facts about inequalities with min/max #8475

Closed shoaibkamil closed 1 week ago

shoaibkamil commented 1 week ago

Fixes #8443.

Teaches the simplifier to propagate some facts about inequalities where one of the sides is a min or max node.

mcourteaux commented 1 week ago

While this PR might fix the issue in the particular case of #8443, there is more that needs to be done, according to @abadams comment:

specializations should be resolved before the simplifier gets a turn at it.

shoaibkamil commented 1 week ago

Is the failure for performance_inner_loop_parallel a fluke or something I should look into? Otherwise, failures seem to be in vulkan, and one for the autoscheduler test.

abadams commented 1 week ago

I spot-checked that test locally and it seemed fine, so I'm hoping it was a fluke.

shoaibkamil commented 1 week ago

I also verified locally that the IR for that test did not change after this change.