Skip to content

Commit d0b2974

Browse files
committed
[indvars] Regenerate a couple of auto-generated test cases [nfc]
Reducing spurious diff in upcoming changes.
1 parent 2b898af commit d0b2974

File tree

3 files changed

+42
-12
lines changed

3 files changed

+42
-12
lines changed

llvm/test/Transforms/IndVarSimplify/AArch64/widen-loop-comp.ll

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -754,14 +754,14 @@ define i32 @test14a(i32 %start, ptr %p, ptr %q, i1 %c) personality i1 1 {
754754
; CHECK-NEXT: [[LOOP_COND:%.*]] = icmp eq i32 [[STOP]], 0
755755
; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add nsw i64 [[INDVARS_IV]], -1
756756
; CHECK-NEXT: invoke void @test14a-callee(i1 [[LOOP_COND]])
757-
; CHECK-NEXT: to label [[LOOP]] unwind label [[EXCEPTION:%.*]]
757+
; CHECK-NEXT: to label [[LOOP]] unwind label [[EXCEPTION:%.*]]
758758
; CHECK: exit:
759759
; CHECK-NEXT: [[TMP2:%.*]] = trunc i64 -1 to i32
760760
; CHECK-NEXT: ret i32 [[TMP2]]
761761
; CHECK: exception:
762762
; CHECK-NEXT: [[FOO_LCSSA1_WIDE:%.*]] = phi i64 [ [[TMP1]], [[BACKEDGE]] ]
763763
; CHECK-NEXT: [[TMP3:%.*]] = landingpad i1
764-
; CHECK-NEXT: cleanup
764+
; CHECK-NEXT: cleanup
765765
; CHECK-NEXT: [[TMP4:%.*]] = trunc i64 [[FOO_LCSSA1_WIDE]] to i32
766766
; CHECK-NEXT: ret i32 [[TMP4]]
767767
;

llvm/test/Transforms/IndVarSimplify/iv-widen-elim-ext.ll

Lines changed: 36 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -417,6 +417,42 @@ for.body: ; preds = %for.body.lr.ph, %fo
417417
}
418418

419419
define i32 @foo6(ptr %input, i32 %length, ptr %in) {
420+
; CHECK-LABEL: @foo6(
421+
; CHECK-NEXT: entry:
422+
; CHECK-NEXT: [[STRIDE:%.*]] = getelementptr inbounds [[STRUCT_IMAGE:%.*]], ptr [[INPUT:%.*]], i64 0, i32 1
423+
; CHECK-NEXT: [[TMP0:%.*]] = load i32, ptr [[STRIDE]], align 4
424+
; CHECK-NEXT: [[CMP17:%.*]] = icmp sgt i32 [[LENGTH:%.*]], 1
425+
; CHECK-NEXT: br i1 [[CMP17]], label [[FOR_BODY_LR_PH:%.*]], label [[FOR_COND_CLEANUP:%.*]]
426+
; CHECK: for.body.lr.ph:
427+
; CHECK-NEXT: [[TMP1:%.*]] = zext i32 [[TMP0]] to i64
428+
; CHECK-NEXT: [[WIDE_TRIP_COUNT:%.*]] = zext i32 [[LENGTH]] to i64
429+
; CHECK-NEXT: br label [[FOR_BODY:%.*]]
430+
; CHECK: for.cond.cleanup.loopexit:
431+
; CHECK-NEXT: [[TMP2:%.*]] = phi i32 [ [[TMP12:%.*]], [[FOR_BODY]] ]
432+
; CHECK-NEXT: br label [[FOR_COND_CLEANUP]]
433+
; CHECK: for.cond.cleanup:
434+
; CHECK-NEXT: [[TMP3:%.*]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[TMP2]], [[FOR_COND_CLEANUP_LOOPEXIT:%.*]] ]
435+
; CHECK-NEXT: ret i32 [[TMP3]]
436+
; CHECK: for.body:
437+
; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i64 [ [[INDVARS_IV_NEXT:%.*]], [[FOR_BODY]] ], [ 1, [[FOR_BODY_LR_PH]] ]
438+
; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add nuw nsw i64 [[INDVARS_IV]], 1
439+
; CHECK-NEXT: [[TMP4:%.*]] = and i32 [[LENGTH]], [[TMP0]]
440+
; CHECK-NEXT: [[TMP5:%.*]] = zext i32 [[TMP4]] to i64
441+
; CHECK-NEXT: [[TMP6:%.*]] = mul nuw i64 [[TMP5]], [[INDVARS_IV_NEXT]]
442+
; CHECK-NEXT: [[ADD_PTR:%.*]] = getelementptr inbounds i32, ptr [[IN:%.*]], i64 [[TMP6]]
443+
; CHECK-NEXT: [[TMP7:%.*]] = load i32, ptr [[ADD_PTR]], align 4
444+
; CHECK-NEXT: [[TMP8:%.*]] = mul nuw i64 [[TMP1]], [[INDVARS_IV_NEXT]]
445+
; CHECK-NEXT: [[ADD_PTR1:%.*]] = getelementptr inbounds i32, ptr [[IN]], i64 [[TMP8]]
446+
; CHECK-NEXT: [[TMP9:%.*]] = load i32, ptr [[ADD_PTR1]], align 4
447+
; CHECK-NEXT: [[OR:%.*]] = or i32 [[LENGTH]], [[TMP9]]
448+
; CHECK-NEXT: [[TMP10:%.*]] = zext i32 [[OR]] to i64
449+
; CHECK-NEXT: [[TMP11:%.*]] = sub nuw i64 [[TMP10]], [[INDVARS_IV_NEXT]]
450+
; CHECK-NEXT: [[PTR_OR:%.*]] = getelementptr inbounds i32, ptr [[IN]], i64 [[TMP11]]
451+
; CHECK-NEXT: [[VAL_OR:%.*]] = load i32, ptr [[PTR_OR]], align 4
452+
; CHECK-NEXT: [[TMP12]] = add i32 [[TMP7]], [[VAL_OR]]
453+
; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i64 [[INDVARS_IV_NEXT]], [[WIDE_TRIP_COUNT]]
454+
; CHECK-NEXT: br i1 [[EXITCOND]], label [[FOR_BODY]], label [[FOR_COND_CLEANUP_LOOPEXIT]]
455+
;
420456
entry:
421457
%stride = getelementptr inbounds %struct.image, ptr %input, i64 0, i32 1
422458
%0 = load i32, ptr %stride, align 4
@@ -436,12 +472,6 @@ for.cond.cleanup: ; preds = %for.cond.cleanup.lo
436472

437473
; Extend foo4 so that any loop variants (%3 and %or) with mul/sub/add then extend will not
438474
; need a trunc instruction
439-
; CHECK: for.body:
440-
; CHECK-NOT: trunc
441-
; CHECK: [[TMP0:%.*]] = and i32 %length, %0
442-
; CHECK-NEXT: zext i32 [[TMP0]] to i64
443-
; CHECK: [[TMP1:%.*]] = or i32 %length, [[TMP2:%.*]]
444-
; CHECK-NEXT: zext i32 [[TMP1]] to i64
445475
for.body: ; preds = %for.body.lr.ph, %for.body
446476
%x.018 = phi i32 [ 1, %for.body.lr.ph ], [ %add, %for.body ]
447477
%add = add nuw nsw i32 %x.018, 1

llvm/test/Transforms/IndVarSimplify/pr55925.ll

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ define void @test(ptr %p) personality ptr undef {
1616
; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i64 [ [[INDVARS_IV_NEXT:%.*]], [[LOOP_LATCH:%.*]] ], [ 0, [[ENTRY:%.*]] ]
1717
; CHECK-NEXT: [[IV:%.*]] = phi i32 [ 0, [[ENTRY]] ], [ [[IV_NEXT:%.*]], [[LOOP_LATCH]] ]
1818
; CHECK-NEXT: [[RES:%.*]] = invoke i32 @foo(i32 returned [[IV]])
19-
; CHECK-NEXT: to label [[LOOP_LATCH]] unwind label [[EXIT:%.*]]
19+
; CHECK-NEXT: to label [[LOOP_LATCH]] unwind label [[EXIT:%.*]]
2020
; CHECK: loop.latch:
2121
; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add i64 [[INDVARS_IV]], 1
2222
; CHECK-NEXT: [[IV_NEXT]] = add nuw i32 [[IV]], 1
@@ -25,7 +25,7 @@ define void @test(ptr %p) personality ptr undef {
2525
; CHECK-NEXT: br label [[LOOP]]
2626
; CHECK: exit:
2727
; CHECK-NEXT: [[LP:%.*]] = landingpad { ptr, i32 }
28-
; CHECK-NEXT: cleanup
28+
; CHECK-NEXT: cleanup
2929
; CHECK-NEXT: ret void
3030
;
3131
entry:
@@ -60,7 +60,7 @@ define void @test_critedge(i1 %c, ptr %p) personality ptr undef {
6060
; CHECK: loop.invoke:
6161
; CHECK-NEXT: [[TMP0:%.*]] = trunc i64 [[INDVARS_IV]] to i32
6262
; CHECK-NEXT: [[RES:%.*]] = invoke i32 @foo(i32 returned [[IV]])
63-
; CHECK-NEXT: to label [[LOOP_LATCH]] unwind label [[EXIT:%.*]]
63+
; CHECK-NEXT: to label [[LOOP_LATCH]] unwind label [[EXIT:%.*]]
6464
; CHECK: loop.other:
6565
; CHECK-NEXT: br label [[LOOP_LATCH]]
6666
; CHECK: loop.latch:
@@ -71,7 +71,7 @@ define void @test_critedge(i1 %c, ptr %p) personality ptr undef {
7171
; CHECK-NEXT: br label [[LOOP]]
7272
; CHECK: exit:
7373
; CHECK-NEXT: [[LP:%.*]] = landingpad { ptr, i32 }
74-
; CHECK-NEXT: cleanup
74+
; CHECK-NEXT: cleanup
7575
; CHECK-NEXT: ret void
7676
;
7777
entry:

0 commit comments

Comments
 (0)