diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2019-02-28 18:04:20 +0000 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2019-02-28 18:04:20 +0000 |
| commit | af2b0bef4361e8308697022f55209199190f08a3 (patch) | |
| tree | 66f859ef2698c06846dbb9d0a788008934e1ba60 /llvm/test/Transforms/LoopVectorize/X86 | |
| parent | ab10947b345e7b97c194dc33a36cce5043e7cd5f (diff) | |
| download | bcm5719-llvm-af2b0bef4361e8308697022f55209199190f08a3.tar.gz bcm5719-llvm-af2b0bef4361e8308697022f55209199190f08a3.zip | |
[ValueTracking] More accurate unsigned sub overflow detection
Second part of D58593.
Compute precise overflow conditions based on all known bits, rather
than just the sign bits. Unsigned a - b overflows iff a < b, and we
can determine whether this always/never happens based on the minimal
and maximal values achievable for a and b subject to the known bits
constraint.
llvm-svn: 355109
Diffstat (limited to 'llvm/test/Transforms/LoopVectorize/X86')
| -rw-r--r-- | llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll b/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll index cdb985952a7..419cedbe145 100644 --- a/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll +++ b/llvm/test/Transforms/LoopVectorize/X86/masked_load_store.ll @@ -2028,7 +2028,7 @@ define void @foo4(double* %A, double* %B, i32* %trigger) { ; AVX512-NEXT: br i1 [[TMP23]], label [[FOR_BODY_PREHEADER]], label [[VECTOR_BODY]], !llvm.loop !49 ; AVX512: for.body.preheader: ; AVX512-NEXT: [[INDVARS_IV_PH:%.*]] = phi i64 [ 0, [[ENTRY]] ], [ 9984, [[VECTOR_BODY]] ] -; AVX512-NEXT: [[TMP24:%.*]] = sub nsw i64 9999, [[INDVARS_IV_PH]] +; AVX512-NEXT: [[TMP24:%.*]] = sub nuw nsw i64 9999, [[INDVARS_IV_PH]] ; AVX512-NEXT: br label [[FOR_BODY_PROL:%.*]] ; AVX512: for.body.prol: ; AVX512-NEXT: [[INDVARS_IV_PROL:%.*]] = phi i64 [ [[INDVARS_IV_NEXT_PROL:%.*]], [[FOR_INC_PROL:%.*]] ], [ [[INDVARS_IV_PH]], [[FOR_BODY_PREHEADER]] ] |

