Author: chandlerc Date: Wed May 2 15:57:20 2018 New Revision: 331411 URL: http://llvm.org/viewvc/llvm-project?rev=331411&view=rev Log: [gcov] Make the CLang side coverage test work with the new instrumentation codegeneration strategy of using a data structure and a loop. Required some finesse to get the critical things being tested to surface in a nice way for FileCheck but I think this preserves the original intent of the test.
Modified: cfe/trunk/test/CodeGen/code-coverage.c Modified: cfe/trunk/test/CodeGen/code-coverage.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/code-coverage.c?rev=331411&r1=331410&r2=331411&view=diff ============================================================================== --- cfe/trunk/test/CodeGen/code-coverage.c (original) +++ cfe/trunk/test/CodeGen/code-coverage.c Wed May 2 15:57:20 2018 @@ -23,17 +23,25 @@ int test1(int a) { return a; } +int test2(int b) { + return b * 2; +} + +// Inside function emission data structure, check that +// -coverage-no-function-names-in-data uses null as the function name. +// CHECK: @__llvm_internal_gcov_emit_function_args.0 = internal unnamed_addr constant +// CHECK-SAME: { i32 {{[0-9]+}}, i8* getelementptr inbounds ({{[^,]*}}, {{[^,]*}}* @ +// CHECK-SAME: { i32 {{[0-9]+}}, i8* getelementptr inbounds ({{[^,]*}}, {{[^,]*}}* @ +// WITHOUTNAMES: @__llvm_internal_gcov_emit_function_args.0 = internal unnamed_addr constant +// WITHOUTNAMES-NOT: getelementptr inbounds ({{.*}}@ +// WITHOUTNAMES-SAME: zeroinitializer, +// WITHOUTNAMES-NOT: getelementptr inbounds ({{.*}}@ +// WITHOUTNAMES-SAME: { i32 {{[0-9]+}}, i8* null, + // Check that the noredzone flag is set on the generated functions. // CHECK: void @__llvm_gcov_indirect_counter_increment(i32* %{{.*}}, i64** %{{.*}}) unnamed_addr [[NRZ:#[0-9]+]] - -// Inside llvm_gcov_writeout, check that -coverage-no-function-names-in-data -// passes null as the function name. // CHECK: void @__llvm_gcov_writeout() unnamed_addr [[NRZ]] -// CHECK: call void @llvm_gcda_emit_function({{.*}}, i8* getelementptr {{.*}}, {{.*}}) -// WITHOUTNAMES: void @__llvm_gcov_writeout() unnamed_addr -// WITHOUTNAMES: call void @llvm_gcda_emit_function({{.*}}, i8* null, {{.*}}) - // CHECK: void @__llvm_gcov_flush() unnamed_addr [[NRZ]] // CHECK: void @__llvm_gcov_init() unnamed_addr [[NRZ]] _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits