diff options
author | Philip Reames <preames@rivosinc.com> | 2024-06-19 08:59:26 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-19 08:59:26 -0700 |
commit | 04cd06906288dcb148de37d7c3e6c009c3e3b726 (patch) | |
tree | f9f82daa722369c7eb4a3de0e9bf81e010b38fed /llvm/lib/IR/Module.cpp | |
parent | f7c96d5733915c4ea30dbd7852faffc9cef4aca9 (diff) | |
download | llvm-04cd06906288dcb148de37d7c3e6c009c3e3b726.zip llvm-04cd06906288dcb148de37d7c3e6c009c3e3b726.tar.gz llvm-04cd06906288dcb148de37d7c3e6c009c3e3b726.tar.bz2 |
[SCEV] Use context sensitive reasoning in howFarToZero (#94525)
This change builds on 0a357ad which supported non-constant strides in
howFarToZero, but used only context insensitive reasoning.
This change does two things:
1) Directly use context sensitive queries to prove facts established
before the loop. Note that we technically only need facts known
at the latch, but using facts known on entry is a conservative
approximation which will cover most everything.
2) For the non-zero check, we can usually prove non-zero from the
finite assumption implied by mustprogress. This eliminates the
need to do the context sensitive query in the common case.
Diffstat (limited to 'llvm/lib/IR/Module.cpp')
0 files changed, 0 insertions, 0 deletions