@@ -27,27 +27,27 @@ int** f(const char *a, const char **b) {
27
27
// UNGENERALIZED-SAME: ptr noundef [[FP:%.*]]) local_unnamed_addr #[[ATTR1:[0-9]+]] !dbg [[DBG25:![0-9]+]] !type [[META31:![0-9]+]] !type [[META32:![0-9]+]] {
28
28
// UNGENERALIZED-NEXT: [[ENTRY:.*:]]
29
29
// UNGENERALIZED-NEXT: #dbg_value(ptr [[FP]], [[META30:![0-9]+]], !DIExpression(), [[META33:![0-9]+]])
30
- // UNGENERALIZED-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.type.test(ptr [[FP]], metadata !"_ZTSFPPiPKcPS2_E"), !dbg [[DBG34:![0-9]+]], !nosanitize [[META35 :![0-9]+]]
31
- // UNGENERALIZED-NEXT: br i1 [[TMP0]], label %[[CONT:.*]], label %[[TRAP:.*]], !dbg [[DBG34]], !prof [[PROF36 :![0-9]+]], !nosanitize [[META35 ]]
30
+ // UNGENERALIZED-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.type.test(ptr [[FP]], metadata !"_ZTSFPPiPKcPS2_E"), !dbg [[DBG34:![0-9]+]], !nosanitize [[META38 :![0-9]+]]
31
+ // UNGENERALIZED-NEXT: br i1 [[TMP0]], label %[[CONT:.*]], label %[[TRAP:.*]], !dbg [[DBG34]], !prof [[PROF39 :![0-9]+]], !nosanitize [[META38 ]]
32
32
// UNGENERALIZED: [[TRAP]]:
33
- // UNGENERALIZED-NEXT: tail call void @llvm.ubsantrap(i8 2) #[[ATTR4:[0-9]+]], !dbg [[DBG34]], !nosanitize [[META35 ]]
34
- // UNGENERALIZED-NEXT: unreachable, !dbg [[DBG34]], !nosanitize [[META35 ]]
33
+ // UNGENERALIZED-NEXT: tail call void @llvm.ubsantrap(i8 2) #[[ATTR4:[0-9]+]], !dbg [[DBG34]], !nosanitize [[META38 ]]
34
+ // UNGENERALIZED-NEXT: unreachable, !dbg [[DBG34]], !nosanitize [[META38 ]]
35
35
// UNGENERALIZED: [[CONT]]:
36
- // UNGENERALIZED-NEXT: [[CALL:%.*]] = tail call ptr [[FP]](ptr noundef null, ptr noundef null) #[[ATTR5:[0-9]+]], !dbg [[DBG34 ]]
37
- // UNGENERALIZED-NEXT: ret void, !dbg [[DBG37 :![0-9]+]]
36
+ // UNGENERALIZED-NEXT: [[CALL:%.*]] = tail call ptr [[FP]](ptr noundef null, ptr noundef null) #[[ATTR5:[0-9]+]], !dbg [[DBG37:![0-9]+ ]]
37
+ // UNGENERALIZED-NEXT: ret void, !dbg [[DBG40 :![0-9]+]]
38
38
//
39
39
// GENERALIZED-LABEL: define dso_local void @g(
40
40
// GENERALIZED-SAME: ptr noundef [[FP:%.*]]) local_unnamed_addr #[[ATTR1:[0-9]+]] !dbg [[DBG25:![0-9]+]] !type [[META31:![0-9]+]] !type [[META32:![0-9]+]] {
41
41
// GENERALIZED-NEXT: [[ENTRY:.*:]]
42
42
// GENERALIZED-NEXT: #dbg_value(ptr [[FP]], [[META30:![0-9]+]], !DIExpression(), [[META33:![0-9]+]])
43
- // GENERALIZED-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.type.test(ptr [[FP]], metadata !"_ZTSFPvPKvS_E.generalized"), !dbg [[DBG34:![0-9]+]], !nosanitize [[META35 :![0-9]+]]
44
- // GENERALIZED-NEXT: br i1 [[TMP0]], label %[[CONT:.*]], label %[[TRAP:.*]], !dbg [[DBG34]], !prof [[PROF36 :![0-9]+]], !nosanitize [[META35 ]]
43
+ // GENERALIZED-NEXT: [[TMP0:%.*]] = tail call i1 @llvm.type.test(ptr [[FP]], metadata !"_ZTSFPvPKvS_E.generalized"), !dbg [[DBG34:![0-9]+]], !nosanitize [[META38 :![0-9]+]]
44
+ // GENERALIZED-NEXT: br i1 [[TMP0]], label %[[CONT:.*]], label %[[TRAP:.*]], !dbg [[DBG34]], !prof [[PROF39 :![0-9]+]], !nosanitize [[META38 ]]
45
45
// GENERALIZED: [[TRAP]]:
46
- // GENERALIZED-NEXT: tail call void @llvm.ubsantrap(i8 2) #[[ATTR4:[0-9]+]], !dbg [[DBG34]], !nosanitize [[META35 ]]
47
- // GENERALIZED-NEXT: unreachable, !dbg [[DBG34]], !nosanitize [[META35 ]]
46
+ // GENERALIZED-NEXT: tail call void @llvm.ubsantrap(i8 2) #[[ATTR4:[0-9]+]], !dbg [[DBG34]], !nosanitize [[META38 ]]
47
+ // GENERALIZED-NEXT: unreachable, !dbg [[DBG34]], !nosanitize [[META38 ]]
48
48
// GENERALIZED: [[CONT]]:
49
- // GENERALIZED-NEXT: [[CALL:%.*]] = tail call ptr [[FP]](ptr noundef null, ptr noundef null) #[[ATTR5:[0-9]+]], !dbg [[DBG34 ]]
50
- // GENERALIZED-NEXT: ret void, !dbg [[DBG37 :![0-9]+]]
49
+ // GENERALIZED-NEXT: [[CALL:%.*]] = tail call ptr [[FP]](ptr noundef null, ptr noundef null) #[[ATTR5:[0-9]+]], !dbg [[DBG37:![0-9]+ ]]
50
+ // GENERALIZED-NEXT: ret void, !dbg [[DBG40 :![0-9]+]]
51
51
//
52
52
void g (int * * (* fp )(const char * , const char * * )) {
53
53
fp (0 , 0 );
@@ -84,10 +84,13 @@ void g(int** (*fp)(const char *, const char **)) {
84
84
// UNGENERALIZED: [[META31]] = !{i64 0, !"_ZTSFvPFPPiPKcPS2_EE"}
85
85
// UNGENERALIZED: [[META32]] = !{i64 0, !"_ZTSFvPvE.generalized"}
86
86
// UNGENERALIZED: [[META33]] = !DILocation(line: 0, scope: [[DBG25]])
87
- // UNGENERALIZED: [[DBG34]] = !DILocation(line: 53, column: 3, scope: [[DBG25]])
88
- // UNGENERALIZED: [[META35]] = !{}
89
- // UNGENERALIZED: [[PROF36]] = !{!"branch_weights", i32 1048575, i32 1}
90
- // UNGENERALIZED: [[DBG37]] = !DILocation(line: 54, column: 1, scope: [[DBG25]])
87
+ // UNGENERALIZED: [[DBG34]] = !DILocation(line: 0, scope: [[META35:![0-9]+]], inlinedAt: [[DBG37]])
88
+ // UNGENERALIZED: [[META35]] = distinct !DISubprogram(name: "__ubsan_check_cfi_icall", scope: [[META11]], file: [[META11]], type: [[META36:![0-9]+]], flags: DIFlagArtificial, spFlags: DISPFlagDefinition, unit: [[META0]])
89
+ // UNGENERALIZED: [[META36]] = !DISubroutineType(types: null)
90
+ // UNGENERALIZED: [[DBG37]] = !DILocation(line: 53, column: 3, scope: [[DBG25]])
91
+ // UNGENERALIZED: [[META38]] = !{}
92
+ // UNGENERALIZED: [[PROF39]] = !{!"branch_weights", i32 1048575, i32 1}
93
+ // UNGENERALIZED: [[DBG40]] = !DILocation(line: 54, column: 1, scope: [[DBG25]])
91
94
//.
92
95
// GENERALIZED: [[META0:![0-9]+]] = distinct !DICompileUnit(language: DW_LANG_C11, file: [[META1:![0-9]+]], isOptimized: true, runtimeVersion: 0, emissionKind: FullDebug, retainedTypes: [[META2:![0-9]+]], splitDebugInlining: false, nameTableKind: None)
93
96
// GENERALIZED: [[META1]] = !DIFile(filename: "{{.*}}<stdin>", directory: {{.*}})
@@ -119,8 +122,11 @@ void g(int** (*fp)(const char *, const char **)) {
119
122
// GENERALIZED: [[META31]] = !{i64 0, !"_ZTSFvPFPPiPKcPS2_EE"}
120
123
// GENERALIZED: [[META32]] = !{i64 0, !"_ZTSFvPvE.generalized"}
121
124
// GENERALIZED: [[META33]] = !DILocation(line: 0, scope: [[DBG25]])
122
- // GENERALIZED: [[DBG34]] = !DILocation(line: 53, column: 3, scope: [[DBG25]])
123
- // GENERALIZED: [[META35]] = !{}
124
- // GENERALIZED: [[PROF36]] = !{!"branch_weights", i32 1048575, i32 1}
125
- // GENERALIZED: [[DBG37]] = !DILocation(line: 54, column: 1, scope: [[DBG25]])
125
+ // GENERALIZED: [[DBG34]] = !DILocation(line: 0, scope: [[META35:![0-9]+]], inlinedAt: [[DBG37]])
126
+ // GENERALIZED: [[META35]] = distinct !DISubprogram(name: "__ubsan_check_cfi_icall", scope: [[META11]], file: [[META11]], type: [[META36:![0-9]+]], flags: DIFlagArtificial, spFlags: DISPFlagDefinition, unit: [[META0]])
127
+ // GENERALIZED: [[META36]] = !DISubroutineType(types: null)
128
+ // GENERALIZED: [[DBG37]] = !DILocation(line: 53, column: 3, scope: [[DBG25]])
129
+ // GENERALIZED: [[META38]] = !{}
130
+ // GENERALIZED: [[PROF39]] = !{!"branch_weights", i32 1048575, i32 1}
131
+ // GENERALIZED: [[DBG40]] = !DILocation(line: 54, column: 1, scope: [[DBG25]])
126
132
//.
0 commit comments