This disables the feature added in commit 5ef84688fba28b9f0f that
proved implications of different type via truncations. This due to
problems seen (and reported in PR51869) about infinite loops that
started to happen after that commit.
It was not trivial to just revert the offending commit, so I added
an option to make it possible to enable/disable the feature from the
command line instead. With the default currently being that the
feature is disabled.
Some things worth mentioning:
- test/Analysis/ScalarEvolution/srem.ll was impacted by the original patch, but nowadays we get the same result regardless of scalar-evolution-prove-implications-via-truncation.
- test/Transforms/IndVarSimplify/widen-loop-comp.ll did not exist(?) when the feature was introduced. The test case was already a bit special as it uses scalar-evolution-use-expensive-range-sharpening. Now it also use scalar-evolution-prove-implications-via-truncation, so it is not testing the default setting.
- The ProveImplicationViaNarrowing unittest test case for SCEV that was added in commit 5ef84688fba28b9f0f still passes even when disabling the feature. So this patch simply leaves that test case as is.
clang-format not found in user’s local PATH; not linting file.