diff options
author | Nikita Popov <npopov@redhat.com> | 2022-05-04 12:43:31 +0200 |
---|---|---|
committer | Nikita Popov <npopov@redhat.com> | 2022-05-05 09:43:49 +0200 |
commit | 47c559d6c1b5517f0b0210a3ce1580f1cedf1585 (patch) | |
tree | 4647933ce0919b88729a8506bbdbafeefff5fdf6 /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp | |
parent | f416e57339bd3315834e6c14d6476e63ccb363ff (diff) | |
download | llvm-47c559d6c1b5517f0b0210a3ce1580f1cedf1585.zip llvm-47c559d6c1b5517f0b0210a3ce1580f1cedf1585.tar.gz llvm-47c559d6c1b5517f0b0210a3ce1580f1cedf1585.tar.bz2 |
[SCEV] Fold umin_seq to umin using implied poison reasoning
Similar to how we convert logical and/or to bitwise and/or, we should
also convert umin_seq to umin based on implied poison reasoning. In
%x umin_seq %y, if %y being poison implies %x being poison, then we
don't need the sequential evaluation: Having %y contribute towards
the result will never make the result more poisonous. An important
corollary of this is that if %y is never poison, we also don't need
the sequential evaluation.
This avoids some of the regressions in D124910.
Differential Revision: https://reviews.llvm.org/D124921
Diffstat (limited to 'clang/lib/Frontend/CreateInvocationFromCommandLine.cpp')
0 files changed, 0 insertions, 0 deletions