llvm-project/llvm/test/Transforms/NaryReassociate
Evgeniy Brevnov 269f563a2b [NARY-REASSOCIATE] Fix infinite recursion optimizing min\max
To guarantee convergence of the algorithm each optimization step should decrease number of instructions when IR is modified. This property is not held in this test case. The problem is that SCEV Expander may do "unexpected" reassociation what results in creation of new min/max chains and introduction of extra instructions. As a result on each step we indefinitely optimize back and forth.

The solution is to restrict SCEV Expander to perform uncontrolled reassociations by means of "Unknown" expressions.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D112060
2021-10-20 14:23:03 +07:00
..
NVPTX
nary-add.ll
nary-mul.ll
nary-req.ll [NARY-REASSOCIATE] Fix infinite recursion optimizing min\max 2021-10-20 14:23:03 +07:00
nary-smax.ll [NARY-REASSOCIATE] Support reassociation of min/max 2021-04-02 15:30:13 +07:00
nary-smin.ll [NARY-REASSOCIATE] Support reassociation of min/max 2021-04-02 15:30:13 +07:00
nary-umax.ll [NARY-REASSOCIATE] Support reassociation of min/max 2021-04-02 15:30:13 +07:00
nary-umin.ll [NARY-REASSOCIATE] Support reassociation of min/max 2021-04-02 15:30:13 +07:00
pr24301.ll
pr35710.ll
pr37539.ll