If we have a recurrence of the form <Start, Or, Step> or <Start, And, Step> we know that the value taken by the recurrence stabilizes on the first iteration (provided step is loop invariant). We can exploit that fact to remove the loop carried dependence in the recurrence.
The motivation is mostly consistency and demonstrating some recently added infrastructure for identifying recurrences, but as shown in the test change, we do seem to see them outside contrived examples as well.
DT is required in InstCombine. You should also be able to use DT directly without going through SimplifyQuery.