aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
diff options
context:
space:
mode:
authorNikita Popov <npopov@redhat.com>2022-05-04 12:43:31 +0200
committerNikita Popov <npopov@redhat.com>2022-05-05 09:43:49 +0200
commit47c559d6c1b5517f0b0210a3ce1580f1cedf1585 (patch)
tree4647933ce0919b88729a8506bbdbafeefff5fdf6 /clang/lib/Frontend/CreateInvocationFromCommandLine.cpp
parentf416e57339bd3315834e6c14d6476e63ccb363ff (diff)
downloadllvm-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