Skip to content

Commit a90e215

Browse files
committed
[SimpleLoopUnswitch] Regenerate test checks (NFC)
1 parent f0faff8 commit a90e215

File tree

1 file changed

+64
-49
lines changed

1 file changed

+64
-49
lines changed
Lines changed: 64 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,55 +1,70 @@
1-
; RUN: opt < %s -passes='loop(simple-loop-unswitch),instcombine' -verify-memoryssa -disable-output
2-
%struct.ClassDef = type { %struct.QByteArray, %struct.QByteArray, %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", i8, i8, %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QList<ArgumentDef>", %"struct.QMap<QByteArray,QByteArray>", %"struct.QList<ArgumentDef>", %"struct.QMap<QByteArray,QByteArray>", i32, i32 }
3-
%struct.FILE = type { i32, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, ptr, i32, i32, i32, i16, i8, [1 x i8], ptr, i64, ptr, ptr, ptr, ptr, i32, i32, [40 x i8] }
4-
%struct.Generator = type { ptr, ptr, %"struct.QList<ArgumentDef>", %struct.QByteArray, %"struct.QList<ArgumentDef>" }
5-
%struct.QBasicAtomic = type { i32 }
6-
%struct.QByteArray = type { ptr }
7-
%"struct.QByteArray::Data" = type { %struct.QBasicAtomic, i32, i32, ptr, [1 x i8] }
8-
%"struct.QList<ArgumentDef>" = type { %"struct.QList<ArgumentDef>::._19" }
9-
%"struct.QList<ArgumentDef>::._19" = type { %struct.QListData }
10-
%struct.QListData = type { ptr }
11-
%"struct.QListData::Data" = type { %struct.QBasicAtomic, i32, i32, i32, i8, [1 x ptr] }
12-
%"struct.QMap<QByteArray,QByteArray>" = type { %"struct.QMap<QByteArray,QByteArray>::._56" }
13-
%"struct.QMap<QByteArray,QByteArray>::._56" = type { ptr }
14-
%struct.QMapData = type { ptr, [12 x ptr], %struct.QBasicAtomic, i32, i32, i32, i8 }
15-
%struct._IO_marker = type { ptr, ptr, i32 }
16-
@.str9 = external constant [1 x i8] ; <ptr> [#uses=1]
1+
; NOTE: Assertions have been autogenerated by utils/update_test_checks.py UTC_ARGS: --version 4
2+
; RUN: opt < %s -S -passes='loop(simple-loop-unswitch),instcombine' -verify-memoryssa | FileCheck %s
3+
4+
@.str9 = external constant [1 x i8]
175

186
declare i32 @strcmp(ptr, ptr)
197

208
define i32 @_ZN9Generator6strregEPKc(ptr %this, ptr %s) {
9+
; CHECK-LABEL: define i32 @_ZN9Generator6strregEPKc(
10+
; CHECK-SAME: ptr [[THIS:%.*]], ptr [[S:%.*]]) {
11+
; CHECK-NEXT: entry:
12+
; CHECK-NEXT: [[TMP122:%.*]] = icmp eq ptr [[S]], null
13+
; CHECK-NEXT: br label [[BB184:%.*]]
14+
; CHECK: bb55:
15+
; CHECK-NEXT: ret i32 0
16+
; CHECK: bb88:
17+
; CHECK-NEXT: br i1 [[TMP122]], label [[BB154:%.*]], label [[BB128:%.*]]
18+
; CHECK: bb128:
19+
; CHECK-NEXT: [[TMP138:%.*]] = call i32 @strcmp(ptr noundef nonnull dereferenceable(1) null, ptr noundef nonnull dereferenceable(1) [[S]])
20+
; CHECK-NEXT: [[IFTMP_37_0_IN4:%.*]] = icmp eq i32 [[TMP138]], 0
21+
; CHECK-NEXT: br i1 [[IFTMP_37_0_IN4]], label [[BB250:%.*]], label [[BB166:%.*]]
22+
; CHECK: bb154:
23+
; CHECK-NEXT: br i1 false, label [[BB250]], label [[BB166]]
24+
; CHECK: bb166:
25+
; CHECK-NEXT: [[TMP175:%.*]] = add i32 [[IDX_0:%.*]], 1
26+
; CHECK-NEXT: [[TMP183:%.*]] = add i32 [[I33_0:%.*]], 1
27+
; CHECK-NEXT: br label [[BB184]]
28+
; CHECK: bb184:
29+
; CHECK-NEXT: [[I33_0]] = phi i32 [ 0, [[ENTRY:%.*]] ], [ [[TMP183]], [[BB166]] ]
30+
; CHECK-NEXT: [[IDX_0]] = phi i32 [ 0, [[ENTRY]] ], [ [[TMP175]], [[BB166]] ]
31+
; CHECK-NEXT: [[TMP49:%.*]] = icmp slt i32 [[I33_0]], 0
32+
; CHECK-NEXT: br i1 [[TMP49]], label [[BB88:%.*]], label [[BB55:%.*]]
33+
; CHECK: bb250:
34+
; CHECK-NEXT: ret i32 [[IDX_0]]
35+
;
2136
entry:
22-
%s_addr.0 = select i1 false, ptr @.str9, ptr %s ; <ptr> [#uses=2]
23-
%tmp122 = icmp eq ptr %s_addr.0, null ; <i1> [#uses=1]
24-
br label %bb184
25-
26-
bb55: ; preds = %bb184
27-
ret i32 0
28-
29-
bb88: ; preds = %bb184
30-
br i1 %tmp122, label %bb154, label %bb128
31-
32-
bb128: ; preds = %bb88
33-
%tmp138 = call i32 @strcmp( ptr null, ptr %s_addr.0 ) ; <i32> [#uses=1]
34-
%iftmp.37.0.in4 = icmp eq i32 %tmp138, 0 ; <i1> [#uses=1]
35-
br i1 %iftmp.37.0.in4, label %bb250, label %bb166
36-
37-
bb154: ; preds = %bb88
38-
br i1 false, label %bb250, label %bb166
39-
40-
bb166: ; preds = %bb154, %bb128
41-
%tmp175 = add i32 %idx.0, 1 ; <i32> [#uses=1]
42-
%tmp177 = add i32 %tmp175, 0 ; <i32> [#uses=1]
43-
%tmp181 = add i32 %tmp177, 0 ; <i32> [#uses=1]
44-
%tmp183 = add i32 %i33.0, 1 ; <i32> [#uses=1]
45-
br label %bb184
46-
47-
bb184: ; preds = %bb166, %entry
48-
%i33.0 = phi i32 [ 0, %entry ], [ %tmp183, %bb166 ] ; <i32> [#uses=2]
49-
%idx.0 = phi i32 [ 0, %entry ], [ %tmp181, %bb166 ] ; <i32> [#uses=2]
50-
%tmp49 = icmp slt i32 %i33.0, 0 ; <i1> [#uses=1]
51-
br i1 %tmp49, label %bb88, label %bb55
52-
53-
bb250: ; preds = %bb154, %bb128
54-
ret i32 %idx.0
37+
%s_addr.0 = select i1 false, ptr @.str9, ptr %s
38+
%tmp122 = icmp eq ptr %s_addr.0, null
39+
br label %bb184
40+
41+
bb55:
42+
ret i32 0
43+
44+
bb88:
45+
br i1 %tmp122, label %bb154, label %bb128
46+
47+
bb128:
48+
%tmp138 = call i32 @strcmp( ptr null, ptr %s_addr.0 )
49+
%iftmp.37.0.in4 = icmp eq i32 %tmp138, 0
50+
br i1 %iftmp.37.0.in4, label %bb250, label %bb166
51+
52+
bb154:
53+
br i1 false, label %bb250, label %bb166
54+
55+
bb166:
56+
%tmp175 = add i32 %idx.0, 1
57+
%tmp177 = add i32 %tmp175, 0
58+
%tmp181 = add i32 %tmp177, 0
59+
%tmp183 = add i32 %i33.0, 1
60+
br label %bb184
61+
62+
bb184:
63+
%i33.0 = phi i32 [ 0, %entry ], [ %tmp183, %bb166 ]
64+
%idx.0 = phi i32 [ 0, %entry ], [ %tmp181, %bb166 ]
65+
%tmp49 = icmp slt i32 %i33.0, 0
66+
br i1 %tmp49, label %bb88, label %bb55
67+
68+
bb250:
69+
ret i32 %idx.0
5570
}

0 commit comments

Comments
 (0)