diff options
author | Sanjay Patel <spatel@rotateright.com> | 2021-07-15 16:47:51 -0400 |
---|---|---|
committer | Sanjay Patel <spatel@rotateright.com> | 2021-07-15 17:33:06 -0400 |
commit | 81ce3aa30cc275bd7f2b51acf391ab69609ca211 (patch) | |
tree | 55dd306a71e6b54b3197a8b9d53801d94055f888 /llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp | |
parent | ff59a1cfe64c0b619c1a8e9ae14406a47897b98d (diff) | |
download | llvm-81ce3aa30cc275bd7f2b51acf391ab69609ca211.zip llvm-81ce3aa30cc275bd7f2b51acf391ab69609ca211.tar.gz llvm-81ce3aa30cc275bd7f2b51acf391ab69609ca211.tar.bz2 |
[SLP] avoid leaking poison in reduction of safe boolean logic ops
This bug was introduced with D105730 / 25ee55c0baff .
If we are not converting all of the operations of a reduction
into a vector op, we need to preserve the existing select form
of the remaining ops. Otherwise, we are potentially leaking
poison where it did not in the original code.
Alive2 agrees that the version that freezes some inputs
and then falls back to scalar is correct:
https://alive2.llvm.org/ce/z/erF4K2
Diffstat (limited to 'llvm/lib/Target/X86/Disassembler/X86Disassembler.cpp')
0 files changed, 0 insertions, 0 deletions