aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
diff options
context:
space:
mode:
authorAleksandr Popov <a.popov.tmb@gmail.com>2023-07-12 10:25:48 +0200
committerAleksandr Popov <a.popov.tmb@gmail.com>2023-07-12 11:19:25 +0200
commitcdcefd2f9a2d08e774fc7dcf631361a03bf6b810 (patch)
treee2ab72b0c28233d98f4659b813dbb7a106226a9f /llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
parent367b1f28dbcfda5b7909f4d271bcace063398143 (diff)
downloadllvm-cdcefd2f9a2d08e774fc7dcf631361a03bf6b810.zip
llvm-cdcefd2f9a2d08e774fc7dcf631361a03bf6b810.tar.gz
llvm-cdcefd2f9a2d08e774fc7dcf631361a03bf6b810.tar.bz2
[IRCE] Implement runtime overflow check for computed range's end
Here is activated check elimination which was parsed previously in https://reviews.llvm.org/D154069 * Added runtime check that computed range's boundary doesn't overflow in terms of range type. * From the statement INT_MIN <= END <= INT_MAX is inferred check: isNonNegative(INT_MAX - END) * isNonNegative(END - INT_MIN). * If overflow happens, check will return 0 and the safe interval will be empty. Reviewed By: skatkov Differential Revision: https://reviews.llvm.org/D154188
Diffstat (limited to 'llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp')
0 files changed, 0 insertions, 0 deletions