mirror of
https://github.com/carbon-language/carbon-lang.git
synced 2026-10-05 22:02:55 +01:00
Fix potential fingerprint conflict in constraints (#6033)
This uses each vector's size as a barrier between lists, to eliminate the possibility of incidental collisions between entries of different lists. This is the same as is done inside `AddBlock`.
This commit is contained in:
+6
-6
@@ -43,19 +43,19 @@ fn H() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define void @_CH.Main() !dbg !4 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CG.Main.47c020a542e13d96(), !dbg !7
|
||||
// CHECK:STDOUT: call void @_CG.Main.a10ac7cbfa858009(), !dbg !8
|
||||
// CHECK:STDOUT: call void @_CG.Main.ab883398692fb8de(), !dbg !7
|
||||
// CHECK:STDOUT: call void @_CG.Main.f3e0eb3cce913d6d(), !dbg !8
|
||||
// CHECK:STDOUT: ret void, !dbg !9
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.47c020a542e13d96() !dbg !10 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.ab883398692fb8de() !dbg !10 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %x.var = alloca i1, align 1, !dbg !11
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %x.var), !dbg !11
|
||||
// CHECK:STDOUT: ret void, !dbg !12
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.a10ac7cbfa858009() !dbg !13 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.f3e0eb3cce913d6d() !dbg !13 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %x.var = alloca i32, align 4, !dbg !14
|
||||
// CHECK:STDOUT: call void @llvm.lifetime.start.p0(ptr %x.var), !dbg !14
|
||||
@@ -83,9 +83,9 @@ fn H() {
|
||||
// CHECK:STDOUT: !7 = !DILocation(line: 36, column: 3, scope: !4)
|
||||
// CHECK:STDOUT: !8 = !DILocation(line: 37, column: 3, scope: !4)
|
||||
// CHECK:STDOUT: !9 = !DILocation(line: 35, column: 1, scope: !4)
|
||||
// CHECK:STDOUT: !10 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.47c020a542e13d96", scope: null, file: !3, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !10 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.ab883398692fb8de", scope: null, file: !3, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !11 = !DILocation(line: 23, column: 3, scope: !10)
|
||||
// CHECK:STDOUT: !12 = !DILocation(line: 22, column: 1, scope: !10)
|
||||
// CHECK:STDOUT: !13 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.a10ac7cbfa858009", scope: null, file: !3, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !13 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.f3e0eb3cce913d6d", scope: null, file: !3, line: 22, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !14 = !DILocation(line: 23, column: 3, scope: !13)
|
||||
// CHECK:STDOUT: !15 = !DILocation(line: 22, column: 1, scope: !13)
|
||||
|
||||
@@ -52,20 +52,20 @@ fn Run() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define void @main() !dbg !12 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CG.Main.2c436a64dfc3fd29(), !dbg !13
|
||||
// CHECK:STDOUT: call void @_CG.Main.c124d41ebc08c32b(), !dbg !14
|
||||
// CHECK:STDOUT: call void @_CG.Main.27d9156284bd9d70(), !dbg !13
|
||||
// CHECK:STDOUT: call void @_CG.Main.47f2921af8bb5bef(), !dbg !14
|
||||
// CHECK:STDOUT: ret void, !dbg !15
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare i32 @printf(ptr, ...)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.2c436a64dfc3fd29() !dbg !16 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.27d9156284bd9d70() !dbg !16 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CF.X.Main:I.Main"(), !dbg !17
|
||||
// CHECK:STDOUT: ret void, !dbg !18
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.c124d41ebc08c32b() !dbg !19 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.47f2921af8bb5bef() !dbg !19 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CF.Y.Main:I.Main"(), !dbg !20
|
||||
// CHECK:STDOUT: ret void, !dbg !21
|
||||
@@ -93,9 +93,9 @@ fn Run() {
|
||||
// CHECK:STDOUT: !13 = !DILocation(line: 32, column: 3, scope: !12)
|
||||
// CHECK:STDOUT: !14 = !DILocation(line: 33, column: 3, scope: !12)
|
||||
// CHECK:STDOUT: !15 = !DILocation(line: 31, column: 1, scope: !12)
|
||||
// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.2c436a64dfc3fd29", scope: null, file: !3, line: 29, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.27d9156284bd9d70", scope: null, file: !3, line: 29, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !17 = !DILocation(line: 29, column: 15, scope: !16)
|
||||
// CHECK:STDOUT: !18 = !DILocation(line: 29, column: 1, scope: !16)
|
||||
// CHECK:STDOUT: !19 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c124d41ebc08c32b", scope: null, file: !3, line: 29, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !19 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.47f2921af8bb5bef", scope: null, file: !3, line: 29, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !20 = !DILocation(line: 29, column: 15, scope: !19)
|
||||
// CHECK:STDOUT: !21 = !DILocation(line: 29, column: 1, scope: !19)
|
||||
|
||||
+6
-6
@@ -61,20 +61,20 @@ fn Run() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define void @main() !dbg !12 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @_CG.Main.ae78220c5e9d4af5(), !dbg !13
|
||||
// CHECK:STDOUT: call void @_CG.Main.6b293b16be321a45(), !dbg !14
|
||||
// CHECK:STDOUT: call void @_CG.Main.823e4ea02b7769c9(), !dbg !13
|
||||
// CHECK:STDOUT: call void @_CG.Main.b264c674a4af0726(), !dbg !14
|
||||
// CHECK:STDOUT: ret void, !dbg !15
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare i32 @printf(ptr, ...)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.ae78220c5e9d4af5() !dbg !16 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.823e4ea02b7769c9() !dbg !16 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc37_20.1 = call i1 @"_CF.X.Main:I.Main"(), !dbg !17
|
||||
// CHECK:STDOUT: ret void, !dbg !18
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.6b293b16be321a45() !dbg !19 {
|
||||
// CHECK:STDOUT: define linkonce_odr void @_CG.Main.b264c674a4af0726() !dbg !19 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc37_20.1 = call i32 @"_CF.Y.Main:I.Main"(), !dbg !20
|
||||
// CHECK:STDOUT: ret void, !dbg !21
|
||||
@@ -102,9 +102,9 @@ fn Run() {
|
||||
// CHECK:STDOUT: !13 = !DILocation(line: 41, column: 3, scope: !12)
|
||||
// CHECK:STDOUT: !14 = !DILocation(line: 42, column: 3, scope: !12)
|
||||
// CHECK:STDOUT: !15 = !DILocation(line: 40, column: 1, scope: !12)
|
||||
// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.ae78220c5e9d4af5", scope: null, file: !3, line: 36, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.823e4ea02b7769c9", scope: null, file: !3, line: 36, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !17 = !DILocation(line: 37, column: 16, scope: !16)
|
||||
// CHECK:STDOUT: !18 = !DILocation(line: 36, column: 1, scope: !16)
|
||||
// CHECK:STDOUT: !19 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.6b293b16be321a45", scope: null, file: !3, line: 36, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !19 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.b264c674a4af0726", scope: null, file: !3, line: 36, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !20 = !DILocation(line: 37, column: 16, scope: !19)
|
||||
// CHECK:STDOUT: !21 = !DILocation(line: 36, column: 1, scope: !19)
|
||||
|
||||
@@ -54,11 +54,11 @@ fn G() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define void @_CG.Main() !dbg !9 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %CallGenericMethod.call = call i32 @_CCallGenericMethod.Main.b330a91dfda257ee(i32 10), !dbg !10
|
||||
// CHECK:STDOUT: %CallGenericMethod.call = call i32 @_CCallGenericMethod.Main.acc47153a1124d08(i32 10), !dbg !10
|
||||
// CHECK:STDOUT: ret void, !dbg !11
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CCallGenericMethod.Main.b330a91dfda257ee(i32 %x) !dbg !12 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CCallGenericMethod.Main.acc47153a1124d08(i32 %x) !dbg !12 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %.loc36_15 = call i32 @"_CF.ImplsSomeInterface.Main:SomeInterface.Main"(i32 %x), !dbg !13
|
||||
// CHECK:STDOUT: ret i32 %.loc36_15, !dbg !14
|
||||
@@ -79,6 +79,6 @@ fn G() {
|
||||
// CHECK:STDOUT: !9 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main", scope: null, file: !3, line: 39, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !10 = !DILocation(line: 40, column: 3, scope: !9)
|
||||
// CHECK:STDOUT: !11 = !DILocation(line: 39, column: 1, scope: !9)
|
||||
// CHECK:STDOUT: !12 = distinct !DISubprogram(name: "CallGenericMethod", linkageName: "_CCallGenericMethod.Main.b330a91dfda257ee", scope: null, file: !3, line: 35, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !12 = distinct !DISubprogram(name: "CallGenericMethod", linkageName: "_CCallGenericMethod.Main.acc47153a1124d08", scope: null, file: !3, line: 35, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !13 = !DILocation(line: 36, column: 10, scope: !12)
|
||||
// CHECK:STDOUT: !14 = !DILocation(line: 36, column: 3, scope: !12)
|
||||
|
||||
@@ -60,14 +60,14 @@ fn Run() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define void @main() !dbg !12 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: %G.call.loc40 = call i32 @_CG.Main.2c436a64dfc3fd29(i32 0), !dbg !13
|
||||
// CHECK:STDOUT: %G.call.loc41 = call i32 @_CG.Main.c124d41ebc08c32b(i32 0), !dbg !14
|
||||
// CHECK:STDOUT: %G.call.loc40 = call i32 @_CG.Main.27d9156284bd9d70(i32 0), !dbg !13
|
||||
// CHECK:STDOUT: %G.call.loc41 = call i32 @_CG.Main.47f2921af8bb5bef(i32 0), !dbg !14
|
||||
// CHECK:STDOUT: ret void, !dbg !15
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: declare i32 @printf(ptr, ...)
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.2c436a64dfc3fd29(i32 %count) !dbg !16 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.27d9156284bd9d70(i32 %count) !dbg !16 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CF.X.Main:I.Main"(), !dbg !17
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !18
|
||||
@@ -78,11 +78,11 @@ fn Run() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !21
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.2c436a64dfc3fd29(i32 %Int.as.AddWith.impl.Op.call), !dbg !22
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.27d9156284bd9d70(i32 %Int.as.AddWith.impl.Op.call), !dbg !22
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !23
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.c124d41ebc08c32b(i32 %count) !dbg !24 {
|
||||
// CHECK:STDOUT: define linkonce_odr i32 @_CG.Main.47f2921af8bb5bef(i32 %count) !dbg !24 {
|
||||
// CHECK:STDOUT: entry:
|
||||
// CHECK:STDOUT: call void @"_CF.Y.Main:I.Main"(), !dbg !25
|
||||
// CHECK:STDOUT: %Int.as.OrderedWith.impl.Greater.call = icmp sgt i32 %count, 0, !dbg !26
|
||||
@@ -93,7 +93,7 @@ fn Run() {
|
||||
// CHECK:STDOUT:
|
||||
// CHECK:STDOUT: if.else: ; preds = %entry
|
||||
// CHECK:STDOUT: %Int.as.AddWith.impl.Op.call = add i32 %count, 1, !dbg !29
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.c124d41ebc08c32b(i32 %Int.as.AddWith.impl.Op.call), !dbg !30
|
||||
// CHECK:STDOUT: %G.call = call i32 @_CG.Main.47f2921af8bb5bef(i32 %Int.as.AddWith.impl.Op.call), !dbg !30
|
||||
// CHECK:STDOUT: ret i32 %G.call, !dbg !31
|
||||
// CHECK:STDOUT: }
|
||||
// CHECK:STDOUT:
|
||||
@@ -119,7 +119,7 @@ fn Run() {
|
||||
// CHECK:STDOUT: !13 = !DILocation(line: 40, column: 3, scope: !12)
|
||||
// CHECK:STDOUT: !14 = !DILocation(line: 41, column: 3, scope: !12)
|
||||
// CHECK:STDOUT: !15 = !DILocation(line: 39, column: 1, scope: !12)
|
||||
// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.2c436a64dfc3fd29", scope: null, file: !3, line: 30, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !16 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.27d9156284bd9d70", scope: null, file: !3, line: 30, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !17 = !DILocation(line: 31, column: 3, scope: !16)
|
||||
// CHECK:STDOUT: !18 = !DILocation(line: 33, column: 7, scope: !16)
|
||||
// CHECK:STDOUT: !19 = !DILocation(line: 33, column: 6, scope: !16)
|
||||
@@ -127,7 +127,7 @@ fn Run() {
|
||||
// CHECK:STDOUT: !21 = !DILocation(line: 36, column: 15, scope: !16)
|
||||
// CHECK:STDOUT: !22 = !DILocation(line: 36, column: 10, scope: !16)
|
||||
// CHECK:STDOUT: !23 = !DILocation(line: 36, column: 3, scope: !16)
|
||||
// CHECK:STDOUT: !24 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.c124d41ebc08c32b", scope: null, file: !3, line: 30, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !24 = distinct !DISubprogram(name: "G", linkageName: "_CG.Main.47f2921af8bb5bef", scope: null, file: !3, line: 30, type: !5, spFlags: DISPFlagDefinition, unit: !2)
|
||||
// CHECK:STDOUT: !25 = !DILocation(line: 31, column: 3, scope: !24)
|
||||
// CHECK:STDOUT: !26 = !DILocation(line: 33, column: 7, scope: !24)
|
||||
// CHECK:STDOUT: !27 = !DILocation(line: 33, column: 6, scope: !24)
|
||||
|
||||
Reference in New Issue
Block a user