[PATCH] D96534: [SCEV] Use both known bits and sign bits when computing range of SCEV unknowns
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 12 02:04:28 PST 2021
nikic added a comment.
Could you share what your motivating test case for this was (if there is one)? I'm not opposed to this change (compile-time impact is minor, and should not have any pathological cases), but the test changes here don't look super compelling either. The main real improvement (where we're not just lining up signed and unsigned ranges) seems to be in increasing-or-decreasing-iv.ll, but the results there are still sub-optimal, and I think these can be made optimal by resolving the comment at https://github.com/llvm/llvm-project/blob/4348d8ab7f6aa0359d99e49c2498af4ba2767505/llvm/lib/Analysis/ScalarEvolution.cpp#L6096-L6097. I'm also wondering whether it would make sense to handle selects the same way as phis and combine the operand ranges.
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D96534/new/
https://reviews.llvm.org/D96534
More information about the llvm-commits
mailing list