@@ -98,7 +98,7 @@ attributes #3 = { noreturn nounwind }
98
98
!4 = !{i64 0 , !"_ZTSFiiE.generalized" }
99
99
!5 = !{}
100
100
; CHECK-LABEL: define dso_local i32 @f
101
- ; CHECK-SAME: (i32 noundef [[ARG:%.*]]) #[[ATTR0:[0-9]+]] !type !2 !type !3 {
101
+ ; CHECK-SAME: (i32 noundef [[ARG:%.*]]) #[[ATTR0:[0-9]+]] !type [[META2:![0-9]+]] !type [[META3:![0-9]+]] {
102
102
; CHECK-NEXT: entry:
103
103
; CHECK-NEXT: [[ARG_ADDR:%.*]] = alloca i32, align 4
104
104
; CHECK-NEXT: [[A:%.*]] = alloca i32, align 4
@@ -119,7 +119,7 @@ attributes #3 = { noreturn nounwind }
119
119
;
120
120
;
121
121
; CHECK-LABEL: define dso_local i32 @g
122
- ; CHECK-SAME: (i32 noundef [[B:%.*]]) #[[ATTR0]] !type !2 !type !3 {
122
+ ; CHECK-SAME: (i32 noundef [[B:%.*]]) #[[ATTR0]] !type [[META2]] !type [[META3]] {
123
123
; CHECK-NEXT: entry:
124
124
; CHECK-NEXT: [[B_ADDR:%.*]] = alloca i32, align 4
125
125
; CHECK-NEXT: [[FP:%.*]] = alloca ptr, align 8
@@ -130,25 +130,25 @@ attributes #3 = { noreturn nounwind }
130
130
; CHECK-NEXT: [[COND:%.*]] = select i1 [[TOBOOL]], ptr @f, ptr @f_thunk
131
131
; CHECK-NEXT: store ptr [[COND]], ptr [[FP]], align 8
132
132
; CHECK-NEXT: [[TMP2:%.*]] = load ptr, ptr [[FP]], align 8
133
- ; CHECK-NEXT: [[TMP3:%.*]] = call i1 @llvm.type.test(ptr [[TMP2]], metadata !"_ZTSFiiE"), !nosanitize !4
134
- ; CHECK-NEXT: br i1 [[TMP3]], label [[CONT:%.*]], label [[TRAP:%.*]], !nosanitize !4
133
+ ; CHECK-NEXT: [[TMP3:%.*]] = call i1 @llvm.type.test(ptr [[TMP2]], metadata !"_ZTSFiiE"), !nosanitize [[META4:![0-9]+]]
134
+ ; CHECK-NEXT: br i1 [[TMP3]], label [[CONT:%.*]], label [[TRAP:%.*]], !nosanitize [[META4]]
135
135
; CHECK: trap:
136
- ; CHECK-NEXT: call void @llvm.ubsantrap(i8 2) #[[ATTR3:[0-9]+]], !nosanitize !4
137
- ; CHECK-NEXT: unreachable, !nosanitize !4
136
+ ; CHECK-NEXT: call void @llvm.ubsantrap(i8 2) #[[ATTR3:[0-9]+]], !nosanitize [[META4]]
137
+ ; CHECK-NEXT: unreachable, !nosanitize [[META4]]
138
138
; CHECK: cont:
139
139
; CHECK-NEXT: [[TMP4:%.*]] = load i32, ptr [[B_ADDR]], align 4
140
140
; CHECK-NEXT: [[CALL:%.*]] = call i32 [[TMP2]](i32 noundef [[TMP4]])
141
141
; CHECK-NEXT: ret i32 [[CALL]]
142
142
;
143
143
;
144
144
; CHECK-LABEL: define dso_local i32 @f_thunk
145
- ; CHECK-SAME: (i32 noundef [[TMP0:%.*]]) #[[ATTR0]] !type !2 {
145
+ ; CHECK-SAME: (i32 noundef [[TMP0:%.*]]) #[[ATTR0]] !type [[META2]] !type [[META3]] {
146
146
; CHECK-NEXT: [[TMP2:%.*]] = tail call i32 @f(i32 noundef [[TMP0]]) #[[ATTR0]]
147
147
; CHECK-NEXT: ret i32 [[TMP2]]
148
148
;
149
149
;
150
150
; LOWERTYPETESTS-LABEL: define dso_local i32 @f
151
- ; LOWERTYPETESTS-SAME: (i32 noundef [[ARG:%.*]]) #[[ATTR0:[0-9]+]] !type !2 !type !3 {
151
+ ; LOWERTYPETESTS-SAME: (i32 noundef [[ARG:%.*]]) #[[ATTR0:[0-9]+]] !type [[META2:![0-9]+]] !type [[META3:![0-9]+]] {
152
152
; LOWERTYPETESTS-NEXT: entry:
153
153
; LOWERTYPETESTS-NEXT: [[ARG_ADDR:%.*]] = alloca i32, align 4
154
154
; LOWERTYPETESTS-NEXT: [[A:%.*]] = alloca i32, align 4
@@ -169,7 +169,7 @@ attributes #3 = { noreturn nounwind }
169
169
;
170
170
;
171
171
; LOWERTYPETESTS-LABEL: define dso_local i32 @g
172
- ; LOWERTYPETESTS-SAME: (i32 noundef [[B:%.*]]) #[[ATTR0]] !type !2 !type !3 {
172
+ ; LOWERTYPETESTS-SAME: (i32 noundef [[B:%.*]]) #[[ATTR0]] !type [[META2]] !type [[META3]] {
173
173
; LOWERTYPETESTS-NEXT: entry:
174
174
; LOWERTYPETESTS-NEXT: [[B_ADDR:%.*]] = alloca i32, align 4
175
175
; LOWERTYPETESTS-NEXT: [[FP:%.*]] = alloca ptr, align 8
@@ -186,18 +186,18 @@ attributes #3 = { noreturn nounwind }
186
186
; LOWERTYPETESTS-NEXT: [[TMP6:%.*]] = shl i64 [[TMP4]], 61
187
187
; LOWERTYPETESTS-NEXT: [[TMP7:%.*]] = or i64 [[TMP5]], [[TMP6]]
188
188
; LOWERTYPETESTS-NEXT: [[TMP8:%.*]] = icmp ule i64 [[TMP7]], 1
189
- ; LOWERTYPETESTS-NEXT: br i1 [[TMP8]], label [[CONT:%.*]], label [[TRAP:%.*]], !nosanitize !4
189
+ ; LOWERTYPETESTS-NEXT: br i1 [[TMP8]], label [[CONT:%.*]], label [[TRAP:%.*]], !nosanitize [[META4:![0-9]+]]
190
190
; LOWERTYPETESTS: trap:
191
- ; LOWERTYPETESTS-NEXT: call void @llvm.ubsantrap(i8 2) #[[ATTR4:[0-9]+]], !nosanitize !4
192
- ; LOWERTYPETESTS-NEXT: unreachable, !nosanitize !4
191
+ ; LOWERTYPETESTS-NEXT: call void @llvm.ubsantrap(i8 2) #[[ATTR4:[0-9]+]], !nosanitize [[META4]]
192
+ ; LOWERTYPETESTS-NEXT: unreachable, !nosanitize [[META4]]
193
193
; LOWERTYPETESTS: cont:
194
194
; LOWERTYPETESTS-NEXT: [[TMP9:%.*]] = load i32, ptr [[B_ADDR]], align 4
195
195
; LOWERTYPETESTS-NEXT: [[CALL:%.*]] = call i32 [[TMP2]](i32 noundef [[TMP9]])
196
196
; LOWERTYPETESTS-NEXT: ret i32 [[CALL]]
197
197
;
198
198
;
199
199
; LOWERTYPETESTS-LABEL: define dso_local i32 @f_thunk
200
- ; LOWERTYPETESTS-SAME: (i32 noundef [[TMP0:%.*]]) #[[ATTR0]] !type !2 {
200
+ ; LOWERTYPETESTS-SAME: (i32 noundef [[TMP0:%.*]]) #[[ATTR0]] !type [[META2]] !type [[META3]] {
201
201
; LOWERTYPETESTS-NEXT: [[TMP2:%.*]] = tail call i32 @f(i32 noundef [[TMP0]]) #[[ATTR0]]
202
202
; LOWERTYPETESTS-NEXT: ret i32 [[TMP2]]
203
203
;
0 commit comments