diff options
author | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-02-23 22:55:13 +0000 |
---|---|---|
committer | Sanjoy Das <sanjoy@playingwithpointers.com> | 2015-02-23 22:55:13 +0000 |
commit | 913dfd8f7f88645fc4de85fc28b0209448a9edfe (patch) | |
tree | f43b34a92bb148d8c7d68fba31218930f20777bc /llvm/test/CodeGen/X86/avoid_complex_am.ll | |
parent | d26f95bc949b98d4c092c79ae0ab689d29889e7a (diff) | |
download | bcm5719-llvm-913dfd8f7f88645fc4de85fc28b0209448a9edfe.tar.gz bcm5719-llvm-913dfd8f7f88645fc4de85fc28b0209448a9edfe.zip |
Fix bug 22641
The bug was a result of getPreStartForExtend interpreting nsw/nuw
flags on an add recurrence more strongly than is legal. {S,+,X}<nsw>
implies S+X is nsw only if the backedge of the loop is taken at least
once.
Differential Revision: http://reviews.llvm.org/D7808
llvm-svn: 230275
Diffstat (limited to 'llvm/test/CodeGen/X86/avoid_complex_am.ll')
-rw-r--r-- | llvm/test/CodeGen/X86/avoid_complex_am.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/CodeGen/X86/avoid_complex_am.ll b/llvm/test/CodeGen/X86/avoid_complex_am.ll index e5e7bd23a64..7f095190ab8 100644 --- a/llvm/test/CodeGen/X86/avoid_complex_am.ll +++ b/llvm/test/CodeGen/X86/avoid_complex_am.ll @@ -22,7 +22,7 @@ for.body: ; preds = %for.body, %entry %arrayidx = getelementptr inbounds double* %b, i64 %tmp %tmp1 = load double* %arrayidx, align 8 ; The induction variable should carry the scaling factor: 1. -; CHECK: [[IVNEXT]] = add nuw i64 [[IV]], 1 +; CHECK: [[IVNEXT]] = add nuw nsw i64 [[IV]], 1 %indvars.iv.next = add i64 %indvars.iv, 1 %arrayidx2 = getelementptr inbounds double* %c, i64 %indvars.iv.next %tmp2 = load double* %arrayidx2, align 8 |