On 10/30/25 03:51, Richard Biener wrote:
On Wed, 29 Oct 2025, Robin Dapp wrote:
Hi,
When niter runs after the copy-header pass it sometimes fails to
simplify assumptions in a ctz loop.
As the assumption is a simple nonzero test here we can have
ranger get us the range of the shifted expression, then verify that
this range is nonzero.
This helps recognize a ctz loop in 502.gcc's compute_transp.
Changes from v2/v3:
- Enable ranger in sccp.
- Don't use path-based ranger.
There is minor fallout in pr41488 where the final assembly is similar but the
expected scev simplification happens earlier than before. I disabled sccp for
that test.
Bootstrapped and regtested on x86 and power10. Regtested on aarch64 and
rv64gcv_zvl512b.
LGTM, please leave Andrew a chance to comment on the ranger bits.
Thanks,
Richard.
Ranger bits look fine to me.
Andrew