diff options
author | Diego Caballero <diegocaballero@google.com> | 2021-11-22 10:18:45 +0000 |
---|---|---|
committer | Diego Caballero <diegocaballero@google.com> | 2021-11-22 10:57:29 +0000 |
commit | 4348cd42c385e71b63e5da7e492172cff6a79d7b (patch) | |
tree | 6516ab2af3a9a8a9f397edd81f88bb8ac5538f46 /lldb/unittests/ScriptInterpreter/Python | |
parent | 789c88e80e878ed866a2d8cfe29c7fd36082274c (diff) | |
download | llvm-4348cd42c385e71b63e5da7e492172cff6a79d7b.zip llvm-4348cd42c385e71b63e5da7e492172cff6a79d7b.tar.gz llvm-4348cd42c385e71b63e5da7e492172cff6a79d7b.tar.bz2 |
[LV] Drop integer poison-generating flags from instructions that need predication
This patch fixes PR52111. The problem is that LV propagates poison-generating flags (`nuw`/`nsw`, `exact`
and `inbounds`) in instructions that contribute to the address computation of widen loads/stores that are
guarded by a condition. It may happen that when the code is vectorized and the control flow within the loop
is linearized, these flags may lead to generating a poison value that is effectively used as the base address
of the widen load/store. The fix drops all the integer poison-generating flags from instructions that
contribute to the address computation of a widen load/store whose original instruction was in a basic block
that needed predication and is not predicated after vectorization.
Reviewed By: fhahn, spatel, nlopes
Differential Revision: https://reviews.llvm.org/D111846
Diffstat (limited to 'lldb/unittests/ScriptInterpreter/Python')
0 files changed, 0 insertions, 0 deletions