aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
diff options
context:
space:
mode:
authorJeremy Morse <jeremy.morse@sony.com>2021-01-05 10:21:17 +0000
committerJeremy Morse <jeremy.morse@sony.com>2021-01-05 10:25:37 +0000
commit914066fe38a93c004b742a696ec337701eb738ec (patch)
tree3fd5344190acb30b3446726d8007249e97de4e21 /llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
parent9ad83fd6dc46330dcdea8af36c435061a31ac0c5 (diff)
downloadllvm-914066fe38a93c004b742a696ec337701eb738ec.zip
llvm-914066fe38a93c004b742a696ec337701eb738ec.tar.gz
llvm-914066fe38a93c004b742a696ec337701eb738ec.tar.bz2
[DebugInfo] Avoid LSR crash on large integer inputs
Loop strength reduction tries to recover debug variable values by looking for simple offsets from PHI values. In really extreme conditions there may be an offset used that won't fit in an int64_t, hitting an APInt assertion. This patch adds a regression test and adjusts the equivalent value collecting code to filter out any values where the offset can't be represented by an int64_t. This means that for very large integers with very large offsets, the variable location will become undef, which is the same behaviour as before 2a6782bb9f1 / D87494. Differential Revision: https://reviews.llvm.org/D94016
Diffstat (limited to 'llvm/lib/Transforms/Utils/SimplifyIndVar.cpp')
0 files changed, 0 insertions, 0 deletions