aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/Module.cpp
diff options
context:
space:
mode:
authorPhilip Reames <preames@rivosinc.com>2024-06-19 08:59:26 -0700
committerGitHub <noreply@github.com>2024-06-19 08:59:26 -0700
commit04cd06906288dcb148de37d7c3e6c009c3e3b726 (patch)
treef9f82daa722369c7eb4a3de0e9bf81e010b38fed /llvm/lib/IR/Module.cpp
parentf7c96d5733915c4ea30dbd7852faffc9cef4aca9 (diff)
downloadllvm-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