|
1 |
| -; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 2 |
2 | 1 | ; RUN: opt -passes='require<demanded-bits>,constraint-elimination,require<demanded-bits>' -disable-verify -verify-analysis-invalidation=false -debug-pass-manager -disable-output %s 2>&1 | FileCheck %s
|
3 | 2 |
|
4 | 3 | ; Check that constraint-elimination properly invalidates anlyses.
|
|
34 | 33 | ; CHECK-NEXT: Running pass: RequireAnalysisPass
|
35 | 34 | ; CHECK-NEXT: Running analysis: DemandedBitsAnalysis on uge_zext
|
36 | 35 |
|
| 36 | +; CHECK-NEXT: Running pass: RequireAnalysisPass |
| 37 | +; CHECK-NEXT: Running analysis: DemandedBitsAnalysis on test_mul_const_nuw_unsigned_14 |
| 38 | +; CHECK-NEXT: Running analysis: AssumptionAnalysis on test_mul_const_nuw_unsigned_14 |
| 39 | +; CHECK-NEXT: Running analysis: TargetIRAnalysis on test_mul_const_nuw_unsigned_14 |
| 40 | +; CHECK-NEXT: Running analysis: DominatorTreeAnalysis on test_mul_const_nuw_unsigned_14 |
| 41 | +; CHECK-NEXT: Running pass: ConstraintEliminationPass on test_mul_const_nuw_unsigned_14 |
| 42 | +; CHECK-NEXT: Running analysis: LoopAnalysis on test_mul_const_nuw_unsigned_14 |
| 43 | +; CHECK-NEXT: Running analysis: ScalarEvolutionAnalysis on test_mul_const_nuw_unsigned_14 |
| 44 | +; CHECK-NEXT: Running analysis: TargetLibraryAnalysis on test_mul_const_nuw_unsigned_14 |
| 45 | +; CHECK-NEXT: Running analysis: OptimizationRemarkEmitterAnalysis on test_mul_const_nuw_unsigned_14 |
| 46 | +; CHECK-NEXT: Invalidating analysis: DemandedBitsAnalysis on test_mul_const_nuw_unsigned_14 |
| 47 | +; CHECK-NEXT: Running pass: RequireAnalysisPass |
| 48 | +; CHECK-NEXT: Running analysis: DemandedBitsAnalysis on test_mul_const_nuw_unsigned_14 |
| 49 | + |
| 50 | + |
37 | 51 | declare { i8, i1 } @llvm.ssub.with.overflow.i8(i8, i8)
|
38 | 52 |
|
39 | 53 | define i8 @ssub_no_overflow_due_to_or_conds(i8 %a, i8 %b) {
|
|
72 | 86 | bb2:
|
73 | 87 | ret i1 false
|
74 | 88 | }
|
75 |
| -;; NOTE: These prefixes are unused and the list is autogenerated. Do not add tests below this line: |
76 |
| -; CHECK: {{.*}} |
| 89 | + |
| 90 | +define i1 @test_mul_const_nuw_unsigned_14(i8 %start) { |
| 91 | + %start.mul.5 = mul nuw i8 %start, -5 |
| 92 | + %c.0 = icmp ult i8 %start, %start.mul.5 |
| 93 | + call void @llvm.assume(i1 %c.0) |
| 94 | + |
| 95 | + %start.mul.3 = mul nuw i8 %start, -3 |
| 96 | + %t.1 = icmp ule i8 %start.mul.3, %start.mul.5 |
| 97 | + ret i1 %t.1 |
| 98 | +} |
0 commit comments