diff options
author | Florian Hahn <flo@fhahn.com> | 2021-06-29 08:56:50 +0100 |
---|---|---|
committer | Florian Hahn <flo@fhahn.com> | 2021-06-29 09:22:36 +0100 |
commit | 91fa3565da16f77e07270e5323874abc22661cb0 (patch) | |
tree | dde0621b0efe64bafc682964f3fa589cb290b58f /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | 51d969dc27a80704038b653537fc12a31f4c31f0 (diff) | |
download | llvm-91fa3565da16f77e07270e5323874abc22661cb0.zip llvm-91fa3565da16f77e07270e5323874abc22661cb0.tar.gz llvm-91fa3565da16f77e07270e5323874abc22661cb0.tar.bz2 |
[BasicAA] Be more careful with modulo ops on VariableGEPIndex.
(V * Scale) % X may not produce the same result for any possible value
of V, e.g. if the multiplication overflows. This means we currently
incorrectly determine NoAlias in some cases.
This patch updates LinearExpression to track whether the expression
has NSW and uses that to adjust the scale used for alias checks.
Reviewed By: nikic
Differential Revision: https://reviews.llvm.org/D99424
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
0 files changed, 0 insertions, 0 deletions