diff options
| author | Max Kazantsev <max.kazantsev@azul.com> | 2018-07-03 06:23:57 +0000 |
|---|---|---|
| committer | Max Kazantsev <max.kazantsev@azul.com> | 2018-07-03 06:23:57 +0000 |
| commit | 3097b76e8c2c714af6c84e0183280133c873370e (patch) | |
| tree | 0d30373cb41025629e9b7852479b026a3ca14b97 /llvm/test/Analysis/ValueTracking/non-negative-phi-bits.ll | |
| parent | e785169fcedb9a7ec001df295d5c019b1de51994 (diff) | |
| download | bcm5719-llvm-3097b76e8c2c714af6c84e0183280133c873370e.tar.gz bcm5719-llvm-3097b76e8c2c714af6c84e0183280133c873370e.zip | |
[InstCombine] Delay foldICmpUsingKnownBits until simple transforms are done
This patch changes order of transform in InstCombineCompares to avoid
performing transforms based on ranges which produce complex bit arithmetics
before more simple things (like folding with constants) are done. See PR37636
for the motivating example.
Differential Revision: https://reviews.llvm.org/D48584
Reviewed By: spatel, lebedev.ri
llvm-svn: 336172
Diffstat (limited to 'llvm/test/Analysis/ValueTracking/non-negative-phi-bits.ll')
| -rwxr-xr-x | llvm/test/Analysis/ValueTracking/non-negative-phi-bits.ll | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/test/Analysis/ValueTracking/non-negative-phi-bits.ll b/llvm/test/Analysis/ValueTracking/non-negative-phi-bits.ll index 059bbaa3c4e..3b1c43df5a7 100755 --- a/llvm/test/Analysis/ValueTracking/non-negative-phi-bits.ll +++ b/llvm/test/Analysis/ValueTracking/non-negative-phi-bits.ll @@ -8,7 +8,7 @@ define void @test() #0 { ; CHECK: for.body: ; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i64 [ 0, [[ENTRY:%.*]] ], [ [[INDVARS_IV_NEXT:%.*]], [[FOR_BODY]] ] ; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add nuw nsw i64 [[INDVARS_IV]], 1 -; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ult i64 [[INDVARS_IV_NEXT]], 40 +; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ult i64 [[INDVARS_IV]], 39 ; CHECK-NEXT: br i1 [[EXITCOND]], label [[FOR_END:%.*]], label [[FOR_BODY]] ; CHECK: for.end: ; CHECK-NEXT: ret void |

