Author: Orlando Cazalet-Hyams Date: 2025-05-23T11:19:30+01:00 New Revision: 435a542009d45d85fbd9a2ff0df735572d5cc276
URL: https://github.com/llvm/llvm-project/commit/435a542009d45d85fbd9a2ff0df735572d5cc276 DIFF: https://github.com/llvm/llvm-project/commit/435a542009d45d85fbd9a2ff0df735572d5cc276.diff LOG: [KeyInstr] Fix clang tests These broke some downstream bots for a few reasons: init-agg.c(pp) - Hard coded GEP index size. Merged init-agg.c and init-agg.cpp as that was the intention, and they diverged as a result of a bad rebase. init-static.cpp - Hard coded register names and mangling assumptions. Added: Modified: clang/test/DebugInfo/KeyInstructions/init-agg.c clang/test/DebugInfo/KeyInstructions/init-static.cpp Removed: clang/test/DebugInfo/KeyInstructions/init-agg.cpp ################################################################################ diff --git a/clang/test/DebugInfo/KeyInstructions/init-agg.c b/clang/test/DebugInfo/KeyInstructions/init-agg.c index 21b26092e5acf..b4e36efbf37bb 100644 --- a/clang/test/DebugInfo/KeyInstructions/init-agg.c +++ b/clang/test/DebugInfo/KeyInstructions/init-agg.c @@ -1,8 +1,8 @@ -// RUN: %clang -gkey-instructions -x c++ %s -gmlt -gno-column-info -S -emit-llvm -o - -ftrivial-auto-var-init=pattern \ +// RUN: %clang_cc1 -x c++ -gkey-instructions %s -debug-info-kind=line-tables-only -gno-column-info -emit-llvm -o - -ftrivial-auto-var-init=pattern \ // RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank -// RUN: %clang -gkey-instructions -x c %s -gmlt -gno-column-info -S -emit-llvm -o - -ftrivial-auto-var-init=pattern \ +// RUN: %clang_cc1 -x c -gkey-instructions %s -debug-info-kind=line-tables-only -gno-column-info -emit-llvm -o - -ftrivial-auto-var-init=pattern \ // RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank // The implicit-check-not is important; we don't want the GEPs created for the @@ -13,17 +13,24 @@ void a() { // CHECK: call void @llvm.memcpy{{.*}}%A{{.*}}, !dbg [[G1R1:!.*]] int A[] = { 1, 2, 3 }; -// CHECK: store i32 1, ptr %{{.*}}, !dbg [[G2R1:!.*]] -// CHECK: store i32 2, ptr %{{.*}}, !dbg [[G2R1]] -// CHECK: %0 = load i32, ptr @g{{.*}}, !dbg [[G2R2:!.*]] -// CHECK: store i32 %0, ptr %{{.*}}, !dbg [[G2R1]] +// CHECK: call void @llvm.memcpy{{.*}}%B{{.*}}, !dbg [[G2R1:!.*]] +// CHECK-NEXT: store i32 1, ptr %B{{.*}}, !dbg [[G2R1:!.*]] +// CHECK-NEXT: %arrayinit.element = getelementptr {{.*}}, ptr %B, {{.*}} 1, !dbg [[B_LINE:!.*]] +// CHECK-NEXT: store i32 2, ptr %arrayinit.element{{.*}}, !dbg [[G2R1]] +// CHECK-NEXT: %arrayinit.element1 = getelementptr {{.*}}, ptr %B, {{.*}} 2, !dbg [[B_LINE]] +// CHECK-NEXT: %0 = load i32, ptr @g{{.*}}, !dbg [[G2R2:!.*]] +// CHECK-NEXT: store i32 %0, ptr %arrayinit.element1{{.*}}, !dbg [[G2R1]] int B[] = { 1, 2, g }; -// CHECK: call void @llvm.memset{{.*}}%big{{.*}}, !dbg [[G3R1:!.*]] -// CHECK: store i8 97{{.*}}, !dbg [[G3R1]] -// CHECK: store i8 98{{.*}}, !dbg [[G3R1]] -// CHECK: store i8 99{{.*}}, !dbg [[G3R1]] -// CHECK: store i8 100{{.*}}, !dbg [[G3R1]] +// CHECK: call void @llvm.memset{{.*}}%big{{.*}} !dbg [[G3R1:!.*]] +// CHECK-NEXT: %1 = getelementptr {{.*}}, ptr %big, {{.*}} 0, {{.*}} 0, !dbg [[big_LINE:!.*]] +// CHECK-NEXT: store i8 97, ptr %1{{.*}}, !dbg [[G3R1]] +// CHECK-NEXT: %2 = getelementptr {{.*}}, ptr %big, {{.*}} 0, {{.*}} 1, !dbg [[big_LINE]] +// CHECK-NEXT: store i8 98, ptr %2{{.*}}, !dbg [[G3R1]] +// CHECK-NEXT: %3 = getelementptr {{.*}}, ptr %big, {{.*}} 0, {{.*}} 2, !dbg [[big_LINE]] +// CHECK-NEXT: store i8 99, ptr %3{{.*}}, !dbg [[G3R1]] +// CHECK-NEXT: %4 = getelementptr {{.*}}, ptr %big, {{.*}} 0, {{.*}} 3, !dbg [[big_LINE]] +// CHECK: store i8 100, ptr %4{{.*}} !dbg [[G3R1]] char big[65536] = { 'a', 'b', 'c', 'd' }; // CHECK: call void @llvm.memset{{.*}}%arr{{.*}}, !dbg [[G4R1:!.*]] @@ -35,7 +42,9 @@ void a() { // CHECK: [[G1R1]] = !DILocation({{.*}}, atomGroup: 1, atomRank: 1) // CHECK: [[G2R1]] = !DILocation({{.*}}, atomGroup: 2, atomRank: 1) +// CHECK: [[B_LINE]] = !DILocation(line: 23, scope: ![[#]]) // CHECK: [[G2R2]] = !DILocation({{.*}}, atomGroup: 2, atomRank: 2) // CHECK: [[G3R1]] = !DILocation({{.*}}, atomGroup: 3, atomRank: 1) +// CHECK: [[big_LINE]] = !DILocation(line: 34, scope: ![[#]]) // CHECK: [[G4R1]] = !DILocation({{.*}}, atomGroup: 4, atomRank: 1) // CHECK: [[G5R1]] = !DILocation({{.*}}, atomGroup: 5, atomRank: 1) diff --git a/clang/test/DebugInfo/KeyInstructions/init-agg.cpp b/clang/test/DebugInfo/KeyInstructions/init-agg.cpp deleted file mode 100644 index 5446aae155d63..0000000000000 --- a/clang/test/DebugInfo/KeyInstructions/init-agg.cpp +++ /dev/null @@ -1,48 +0,0 @@ - -// RUN: %clang_cc1 -gkey-instructions %s -debug-info-kind=line-tables-only -gno-column-info -emit-llvm -o - -ftrivial-auto-var-init=pattern \ -// RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank - -// The implicit-check-not is important; we don't want the GEPs created for the -// store locations to be included in the atom group. - -int g; -void a() { -// CHECK: _Z1av() -// CHECK: call void @llvm.memcpy{{.*}}%A, {{.*}}@__const._Z1av.A{{.*}}, !dbg [[G1R1:!.*]] - int A[] = { 1, 2, 3 }; - -// CHECK: call void @llvm.memcpy{{.*}}%B, {{.*}}@__const._Z1av.B{{.*}}, !dbg [[G2R1:!.*]] -// CHECK-NEXT: store i32 1, ptr %B{{.*}}, !dbg [[G2R1:!.*]] -// CHECK-NEXT: %arrayinit.element = getelementptr {{.*}}, ptr %B, i64 1, !dbg [[B_LINE:!.*]] -// CHECK-NEXT: store i32 2, ptr %arrayinit.element{{.*}}, !dbg [[G2R1]] -// CHECK-NEXT: %arrayinit.element1 = getelementptr {{.*}}, ptr %B, i64 2, !dbg [[B_LINE]] -// CHECK-NEXT: %0 = load i32, ptr @g{{.*}}, !dbg [[G2R2:!.*]] -// CHECK-NEXT: store i32 %0, ptr %arrayinit.element1{{.*}}, !dbg [[G2R1]] - int B[] = { 1, 2, g }; - -// CHECK: call void @llvm.memset{{.*}}%big{{.*}} !dbg [[G3R1:!.*]] -// CHECK-NEXT: %1 = getelementptr {{.*}}, ptr %big, i32 0, i32 0, !dbg [[big_LINE:!.*]] -// CHECK-NEXT: store i8 97, ptr %1{{.*}}, !dbg [[G3R1]] -// CHECK-NEXT: %2 = getelementptr {{.*}}, ptr %big, i32 0, i32 1, !dbg [[big_LINE]] -// CHECK-NEXT: store i8 98, ptr %2{{.*}}, !dbg [[G3R1]] -// CHECK-NEXT: %3 = getelementptr {{.*}}, ptr %big, i32 0, i32 2, !dbg [[big_LINE]] -// CHECK-NEXT: store i8 99, ptr %3{{.*}}, !dbg [[G3R1]] -// CHECK-NEXT: %4 = getelementptr {{.*}}, ptr %big, i32 0, i32 3, !dbg [[big_LINE]] -// CHECK: store i8 100, ptr %4{{.*}} !dbg [[G3R1]] - char big[65536] = { 'a', 'b', 'c', 'd' }; - -// CHECK: call void @llvm.memset{{.*}}%arr{{.*}}, !dbg [[G4R1:!.*]] - char arr[] = { 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, }; - -// CHECK: store i8 -86, ptr %uninit{{.*}}, !dbg [[G5R1:!.*]], !annotation - char uninit; // -ftrivial-auto-var-init=pattern -} - -// CHECK: [[G1R1]] = !DILocation({{.*}}, atomGroup: 1, atomRank: 1) -// CHECK: [[G2R1]] = !DILocation({{.*}}, atomGroup: 2, atomRank: 1) -// CHECK: [[B_LINE]] = !DILocation(line: 21, scope: ![[#]]) -// CHECK: [[G2R2]] = !DILocation({{.*}}, atomGroup: 2, atomRank: 2) -// CHECK: [[G3R1]] = !DILocation({{.*}}, atomGroup: 3, atomRank: 1) -// CHECK: [[big_LINE]] = !DILocation(line: 32, scope: ![[#]]) -// CHECK: [[G4R1]] = !DILocation({{.*}}, atomGroup: 4, atomRank: 1) -// CHECK: [[G5R1]] = !DILocation({{.*}}, atomGroup: 5, atomRank: 1) diff --git a/clang/test/DebugInfo/KeyInstructions/init-static.cpp b/clang/test/DebugInfo/KeyInstructions/init-static.cpp index 745303a3c9d58..7f12c6cbab274 100644 --- a/clang/test/DebugInfo/KeyInstructions/init-static.cpp +++ b/clang/test/DebugInfo/KeyInstructions/init-static.cpp @@ -1,12 +1,13 @@ // RUN: %clang_cc1 -gkey-instructions %s -debug-info-kind=line-tables-only -emit-llvm -o -\ // RUN: | FileCheck %s --implicit-check-not atomGroup --implicit-check-not atomRank +// CHECK: [[b_addr:@.*]] = {{.*}}global ptr + void g(int *a) { - // CHECK: %2 = load ptr, ptr %a.addr{{.*}}, !dbg [[G1R2:!.*]] - // CHECK: store ptr %2, ptr @_ZZ1gPiE1b{{.*}}, !dbg [[G1R1:!.*]] + // CHECK: [[v:%.*]] = load ptr, ptr %a.addr{{.*}}, !dbg [[G1R2:!.*]] + // CHECK: store ptr [[v]], ptr [[b_addr]]{{.*}}, !dbg [[G1R1:!.*]] static int &b = *a; } // CHECK: [[G1R2]] = !DILocation({{.*}}, atomGroup: 1, atomRank: 2) // CHECK: [[G1R1]] = !DILocation({{.*}}, atomGroup: 1, atomRank: 1) - _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits