diff options
| author | Ryotaro Kasuga <kasuga.ryotaro@fujitsu.com> | 2025-10-31 01:06:30 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-30 16:06:30 +0000 |
| commit | 916e8f74a8216e858699fc8533929c013fa3d018 (patch) | |
| tree | 7c756232ac160d08e65f5bddb23d6e3b1dfa2e3f /lldb/source/Plugins/ScriptInterpreter/Python/PythonReadline.cpp | |
| parent | cc1022ca0bba0564fbfa1e194414593640d28852 (diff) | |
| download | llvm-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/PythonReadline.cpp')
0 files changed, 0 insertions, 0 deletions
