aboutsummaryrefslogtreecommitdiff
path: root/lldb/source/Plugins/ScriptInterpreter/Python/Interfaces
diff options
context:
space:
mode:
authorRyotaro Kasuga <kasuga.ryotaro@fujitsu.com>2025-10-31 01:06:30 +0900
committerGitHub <noreply@github.com>2025-10-30 16:06:30 +0000
commit916e8f74a8216e858699fc8533929c013fa3d018 (patch)
tree7c756232ac160d08e65f5bddb23d6e3b1dfa2e3f /lldb/source/Plugins/ScriptInterpreter/Python/Interfaces
parentcc1022ca0bba0564fbfa1e194414593640d28852 (diff)
downloadllvm-916e8f74a8216e858699fc8533929c013fa3d018.zip
llvm-916e8f74a8216e858699fc8533929c013fa3d018.tar.gz
llvm-916e8f74a8216e858699fc8533929c013fa3d018.tar.bz2
[DA] Check nsw when extracting a constant operand of SCEVMul (#164408)
Given a `SCEVMulExpr` such as `5 * %m`, `gcdMIVtest` in DA assumes the value as a multiple of 5 in a mathematical sense. However, this is not necessarily true if `5 * %m` overflows, especially because an odd number has an inverse modulo `2^64`. Such incorrect assumptions can lead to invalid analysis results. This patch stops unconditionally extracting a constant operand from `SCEVMulExpr`. Instead, it only allows this when the `SCEVMulExpr` has the `nsw` flag.
Diffstat (limited to 'lldb/source/Plugins/ScriptInterpreter/Python/Interfaces')
0 files changed, 0 insertions, 0 deletions