@@ -34,37 +34,23 @@ entry:
34
34
}
35
35
36
36
define internal void @bar (i32* nocapture %pc ) nounwind readonly {
37
- ; IS__CGSCC_OPM: Function Attrs: nounwind readonly
38
- ; IS__CGSCC_OPM-LABEL: define {{[^@]+}}@bar
39
- ; IS__CGSCC_OPM-SAME: (i32* nocapture [[PC:%.*]]) #[[ATTR1:[0-9]+]] {
40
- ; IS__CGSCC_OPM-NEXT: entry:
41
- ; IS__CGSCC_OPM-NEXT: br label [[INDIRECTGOTO:%.*]]
42
- ; IS__CGSCC_OPM: lab0:
43
- ; IS__CGSCC_OPM-NEXT: [[INDVAR_NEXT:%.*]] = add i32 [[INDVAR:%.*]], 1
44
- ; IS__CGSCC_OPM-NEXT: br label [[INDIRECTGOTO]]
45
- ; IS__CGSCC_OPM: end:
46
- ; IS__CGSCC_OPM-NEXT: ret void
47
- ; IS__CGSCC_OPM: indirectgoto:
48
- ; IS__CGSCC_OPM-NEXT: [[INDVAR]] = phi i32 [ [[INDVAR_NEXT]], [[LAB0:%.*]] ], [ 0, [[ENTRY:%.*]] ]
49
- ; IS__CGSCC_OPM-NEXT: [[PC_ADDR_0:%.*]] = getelementptr i32, i32* [[PC]], i32 [[INDVAR]]
50
- ; IS__CGSCC_OPM-NEXT: [[TMP1_PN:%.*]] = load i32, i32* [[PC_ADDR_0]], align 4
51
- ; IS__CGSCC_OPM-NEXT: [[INDIRECT_GOTO_DEST_IN:%.*]] = getelementptr inbounds [2 x i8*], [2 x i8*]* @bar.l, i32 0, i32 [[TMP1_PN]]
52
- ; IS__CGSCC_OPM-NEXT: [[INDIRECT_GOTO_DEST:%.*]] = load i8*, i8** [[INDIRECT_GOTO_DEST_IN]], align 8
53
- ; IS__CGSCC_OPM-NEXT: indirectbr i8* [[INDIRECT_GOTO_DEST]], [label [[LAB0]], label %end]
54
- ;
55
- ; IS__CGSCC_NPM: Function Attrs: nofree norecurse nosync nounwind readnone
56
- ; IS__CGSCC_NPM-LABEL: define {{[^@]+}}@bar
57
- ; IS__CGSCC_NPM-SAME: () #[[ATTR1:[0-9]+]] {
58
- ; IS__CGSCC_NPM-NEXT: entry:
59
- ; IS__CGSCC_NPM-NEXT: br label [[INDIRECTGOTO:%.*]]
60
- ; IS__CGSCC_NPM: lab0:
61
- ; IS__CGSCC_NPM-NEXT: [[INDVAR_NEXT:%.*]] = add i32 [[INDVAR:%.*]], 1
62
- ; IS__CGSCC_NPM-NEXT: br label [[INDIRECTGOTO]]
63
- ; IS__CGSCC_NPM: end:
64
- ; IS__CGSCC_NPM-NEXT: ret void
65
- ; IS__CGSCC_NPM: indirectgoto:
66
- ; IS__CGSCC_NPM-NEXT: [[INDVAR]] = phi i32 [ [[INDVAR_NEXT]], [[LAB0:%.*]] ], [ 0, [[ENTRY:%.*]] ]
67
- ; IS__CGSCC_NPM-NEXT: indirectbr i8* undef, [label [[LAB0]], label %end]
37
+ ; IS__CGSCC____: Function Attrs: nounwind readonly
38
+ ; IS__CGSCC____-LABEL: define {{[^@]+}}@bar
39
+ ; IS__CGSCC____-SAME: (i32* nocapture [[PC:%.*]]) #[[ATTR1:[0-9]+]] {
40
+ ; IS__CGSCC____-NEXT: entry:
41
+ ; IS__CGSCC____-NEXT: br label [[INDIRECTGOTO:%.*]]
42
+ ; IS__CGSCC____: lab0:
43
+ ; IS__CGSCC____-NEXT: [[INDVAR_NEXT:%.*]] = add i32 [[INDVAR:%.*]], 1
44
+ ; IS__CGSCC____-NEXT: br label [[INDIRECTGOTO]]
45
+ ; IS__CGSCC____: end:
46
+ ; IS__CGSCC____-NEXT: ret void
47
+ ; IS__CGSCC____: indirectgoto:
48
+ ; IS__CGSCC____-NEXT: [[INDVAR]] = phi i32 [ [[INDVAR_NEXT]], [[LAB0:%.*]] ], [ 0, [[ENTRY:%.*]] ]
49
+ ; IS__CGSCC____-NEXT: [[PC_ADDR_0:%.*]] = getelementptr i32, i32* [[PC]], i32 [[INDVAR]]
50
+ ; IS__CGSCC____-NEXT: [[TMP1_PN:%.*]] = load i32, i32* [[PC_ADDR_0]], align 4
51
+ ; IS__CGSCC____-NEXT: [[INDIRECT_GOTO_DEST_IN:%.*]] = getelementptr inbounds [2 x i8*], [2 x i8*]* @bar.l, i32 0, i32 [[TMP1_PN]]
52
+ ; IS__CGSCC____-NEXT: [[INDIRECT_GOTO_DEST:%.*]] = load i8*, i8** [[INDIRECT_GOTO_DEST_IN]], align 8
53
+ ; IS__CGSCC____-NEXT: indirectbr i8* [[INDIRECT_GOTO_DEST]], [label [[LAB0]], label %end]
68
54
;
69
55
entry:
70
56
br label %indirectgoto
@@ -104,11 +90,7 @@ entry:
104
90
;.
105
91
; IS__TUNIT____: attributes #[[ATTR0]] = { nofree nosync nounwind readnone willreturn }
106
92
;.
107
- ; IS__CGSCC_OPM: attributes #[[ATTR0]] = { nounwind readnone }
108
- ; IS__CGSCC_OPM: attributes #[[ATTR1]] = { nounwind readonly }
109
- ; IS__CGSCC_OPM: attributes #[[ATTR2]] = { nofree norecurse nosync nounwind readnone willreturn }
110
- ;.
111
- ; IS__CGSCC_NPM: attributes #[[ATTR0]] = { nounwind readnone }
112
- ; IS__CGSCC_NPM: attributes #[[ATTR1]] = { nofree norecurse nosync nounwind readnone }
113
- ; IS__CGSCC_NPM: attributes #[[ATTR2]] = { nofree norecurse nosync nounwind readnone willreturn }
93
+ ; IS__CGSCC____: attributes #[[ATTR0]] = { nounwind readnone }
94
+ ; IS__CGSCC____: attributes #[[ATTR1]] = { nounwind readonly }
95
+ ; IS__CGSCC____: attributes #[[ATTR2]] = { nofree norecurse nosync nounwind readnone willreturn }
114
96
;.
0 commit comments