Author: calixte Date: Mon Nov 12 06:57:17 2018 New Revision: 346659 URL: http://llvm.org/viewvc/llvm-project?rev=346659&view=rev Log: Revert rL346644, rL346642: the added test test/CodeGen/code-coverage-filter.c is failing under windows
Removed: cfe/trunk/test/CodeGen/Inputs/code-coverage-filter1.h cfe/trunk/test/CodeGen/Inputs/code-coverage-filter2.h cfe/trunk/test/CodeGen/code-coverage-filter.c Modified: cfe/trunk/docs/ReleaseNotes.rst cfe/trunk/docs/UsersManual.rst cfe/trunk/include/clang/Driver/Options.td cfe/trunk/include/clang/Frontend/CodeGenOptions.h cfe/trunk/lib/CodeGen/BackendUtil.cpp cfe/trunk/lib/Driver/ToolChains/Clang.cpp cfe/trunk/lib/Frontend/CompilerInvocation.cpp Modified: cfe/trunk/docs/ReleaseNotes.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/ReleaseNotes.rst?rev=346659&r1=346658&r2=346659&view=diff ============================================================================== --- cfe/trunk/docs/ReleaseNotes.rst (original) +++ cfe/trunk/docs/ReleaseNotes.rst Mon Nov 12 06:57:17 2018 @@ -64,12 +64,6 @@ Non-comprehensive list of changes in thi New Compiler Flags ------------------ -- ``-fprofile-filter-files=[regexes]`` and ``-fprofile-exclude-files=[regexes]``. - - Clang has now options to filter or exclude some files when - instrumenting for gcov-based profiling. - See the :doc:`UsersManual` for details. - - ... Deprecated Compiler Flags Modified: cfe/trunk/docs/UsersManual.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.rst?rev=346659&r1=346658&r2=346659&view=diff ============================================================================== --- cfe/trunk/docs/UsersManual.rst (original) +++ cfe/trunk/docs/UsersManual.rst Mon Nov 12 06:57:17 2018 @@ -1871,55 +1871,6 @@ using the ``llvm-cxxmap`` and ``llvm-pro following the Itanium C++ ABI mangling scheme. This covers all C++ targets supported by Clang other than Windows. -GCOV-based Profiling --------------------- - -GCOV is a test coverage program, it helps to know how often a line of code -is executed. When instrumenting the code with ``--coverage`` option, some -counters are added for each edge linking basic blocks. - -At compile time, gcno files are generated containing information about -blocks and edges between them. At runtime the counters are incremented and at -exit the counters are dumped in gcda files. - -The tool ``llvm-cov gcov`` will parse gcno, gcda and source files to generate -a report ``.c.gcov``. - -.. option:: -fprofile-filter-files=[regexes] - - Define a list of regexes separated by a semi-colon. - If a file name matches any of the regexes then the file is instrumented. - - .. code-block:: console - - $ clang --coverage -fprofile-filter-files=".*\.c$" foo.c - - For example, this will only instrument files finishing with ``.c``, skipping ``.h`` files. - -.. option:: -fprofile-exclude-files=[regexes] - - Define a list of regexes separated by a semi-colon. - If a file name doesn't match all the regexes then the file is instrumented. - - .. code-block:: console - - $ clang --coverage -fprofile-exclude-files="^/usr/include/.*$" foo.c - - For example, this will instrument all the files except the ones in ``/usr/include``. - -If both options are used then a file is instrumented if its name matches any -of the regexes from ``-fprofile-filter-list`` and doesn't match all the regexes -from ``-fprofile-exclude-list``. - -.. code-block:: console - - $ clang --coverage -fprofile-exclude-files="^/usr/include/.*$" \ - -fprofile-filter-files="^/usr/.*$" - -In that case ``/usr/foo/oof.h`` is instrumented since it matches the filter regex and -doesn't match the exclude regex, but ``/usr/include/foo.h`` doesn't since it matches -the exclude regex. - Controlling Debug Information ----------------------------- Modified: cfe/trunk/include/clang/Driver/Options.td URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Driver/Options.td?rev=346659&r1=346658&r2=346659&view=diff ============================================================================== --- cfe/trunk/include/clang/Driver/Options.td (original) +++ cfe/trunk/include/clang/Driver/Options.td Mon Nov 12 06:57:17 2018 @@ -768,12 +768,6 @@ def fno_profile_instr_use : Flag<["-"], HelpText<"Disable using instrumentation data for profile-guided optimization">; def fno_profile_use : Flag<["-"], "fno-profile-use">, Alias<fno_profile_instr_use>; -def fprofile_filter_files_EQ : Joined<["-"], "fprofile-filter-files=">, - Group<f_Group>, Flags<[CC1Option, CoreOption]>, - HelpText<"Instrument only functions from files where names match any regex separated by a semi-colon">; -def fprofile_exclude_files_EQ : Joined<["-"], "fprofile-exclude-files=">, - Group<f_Group>, Flags<[CC1Option, CoreOption]>, - HelpText<"Instrument only functions from files where names don't match all the regexes separated by a semi-colon">; def faddrsig : Flag<["-"], "faddrsig">, Group<f_Group>, Flags<[CoreOption, CC1Option]>, HelpText<"Emit an address-significance table">; Modified: cfe/trunk/include/clang/Frontend/CodeGenOptions.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Frontend/CodeGenOptions.h?rev=346659&r1=346658&r2=346659&view=diff ============================================================================== --- cfe/trunk/include/clang/Frontend/CodeGenOptions.h (original) +++ cfe/trunk/include/clang/Frontend/CodeGenOptions.h Mon Nov 12 06:57:17 2018 @@ -127,12 +127,6 @@ public: /// The filename with path we use for coverage notes files. std::string CoverageNotesFile; - /// Regexes separated by a semi-colon to filter the files to instrument. - std::string ProfileFilterFiles; - - /// Regexes separated by a semi-colon to filter the files to not instrument. - std::string ProfileExcludeFiles; - /// The version string to put into coverage files. char CoverageVersion[4]; Modified: cfe/trunk/lib/CodeGen/BackendUtil.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/BackendUtil.cpp?rev=346659&r1=346658&r2=346659&view=diff ============================================================================== --- cfe/trunk/lib/CodeGen/BackendUtil.cpp (original) +++ cfe/trunk/lib/CodeGen/BackendUtil.cpp Mon Nov 12 06:57:17 2018 @@ -503,8 +503,6 @@ static Optional<GCOVOptions> getGCOVOpti Options.UseCfgChecksum = CodeGenOpts.CoverageExtraChecksum; Options.NoRedZone = CodeGenOpts.DisableRedZone; Options.FunctionNamesInData = !CodeGenOpts.CoverageNoFunctionNamesInData; - Options.Filter = CodeGenOpts.ProfileFilterFiles; - Options.Exclude = CodeGenOpts.ProfileExcludeFiles; Options.ExitBlockBeforeBody = CodeGenOpts.CoverageExitBlockBeforeBody; return Options; } Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=346659&r1=346658&r2=346659&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Mon Nov 12 06:57:17 2018 @@ -802,29 +802,6 @@ static void addPGOAndCoverageFlags(Compi CmdArgs.push_back("-fcoverage-mapping"); } - if (Args.hasArg(options::OPT_fprofile_exclude_files_EQ)) { - auto *Arg = Args.getLastArg(options::OPT_fprofile_exclude_files_EQ); - if (!Args.hasArg(options::OPT_coverage)) - D.Diag(clang::diag::err_drv_argument_only_allowed_with) - << "-fprofile-exclude-files=" - << "--coverage"; - - StringRef v = Arg->getValue(); - CmdArgs.push_back( - Args.MakeArgString(Twine("-fprofile-exclude-files=" + v))); - } - - if (Args.hasArg(options::OPT_fprofile_filter_files_EQ)) { - auto *Arg = Args.getLastArg(options::OPT_fprofile_exclude_files_EQ); - if (!Args.hasArg(options::OPT_coverage)) - D.Diag(clang::diag::err_drv_argument_only_allowed_with) - << "-fprofile-filter-files=" - << "--coverage"; - - StringRef v = Arg->getValue(); - CmdArgs.push_back(Args.MakeArgString(Twine("-fprofile-filter-files=" + v))); - } - if (C.getArgs().hasArg(options::OPT_c) || C.getArgs().hasArg(options::OPT_S)) { if (Output.isFilename()) { Modified: cfe/trunk/lib/Frontend/CompilerInvocation.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/CompilerInvocation.cpp?rev=346659&r1=346658&r2=346659&view=diff ============================================================================== --- cfe/trunk/lib/Frontend/CompilerInvocation.cpp (original) +++ cfe/trunk/lib/Frontend/CompilerInvocation.cpp Mon Nov 12 06:57:17 2018 @@ -811,10 +811,6 @@ static bool ParseCodeGenArgs(CodeGenOpti Opts.CoverageExtraChecksum = Args.hasArg(OPT_coverage_cfg_checksum); Opts.CoverageNoFunctionNamesInData = Args.hasArg(OPT_coverage_no_function_names_in_data); - Opts.ProfileFilterFiles = - Args.getLastArgValue(OPT_fprofile_filter_files_EQ); - Opts.ProfileExcludeFiles = - Args.getLastArgValue(OPT_fprofile_exclude_files_EQ); Opts.CoverageExitBlockBeforeBody = Args.hasArg(OPT_coverage_exit_block_before_body); if (Args.hasArg(OPT_coverage_version_EQ)) { Removed: cfe/trunk/test/CodeGen/Inputs/code-coverage-filter1.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/Inputs/code-coverage-filter1.h?rev=346658&view=auto ============================================================================== --- cfe/trunk/test/CodeGen/Inputs/code-coverage-filter1.h (original) +++ cfe/trunk/test/CodeGen/Inputs/code-coverage-filter1.h (removed) @@ -1 +0,0 @@ -void test1() {} Removed: cfe/trunk/test/CodeGen/Inputs/code-coverage-filter2.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/Inputs/code-coverage-filter2.h?rev=346658&view=auto ============================================================================== --- cfe/trunk/test/CodeGen/Inputs/code-coverage-filter2.h (original) +++ cfe/trunk/test/CodeGen/Inputs/code-coverage-filter2.h (removed) @@ -1 +0,0 @@ -void test2() {} Removed: cfe/trunk/test/CodeGen/code-coverage-filter.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/code-coverage-filter.c?rev=346658&view=auto ============================================================================== --- cfe/trunk/test/CodeGen/code-coverage-filter.c (original) +++ cfe/trunk/test/CodeGen/code-coverage-filter.c (removed) @@ -1,84 +0,0 @@ -// RUN: %clang_cc1 -emit-llvm -femit-coverage-data -femit-coverage-notes %s -o - \ -// RUN: | FileCheck -check-prefix=ALL %s -// RUN: %clang_cc1 -emit-llvm -femit-coverage-data -femit-coverage-notes -fprofile-exclude-files=".*\.h$" %s -o - \ -// RUN: | FileCheck -check-prefix=NO-HEADER %s -// RUN: %clang_cc1 -emit-llvm -femit-coverage-data -femit-coverage-notes -fprofile-filter-files=".*\.c$" %s -o - \ -// RUN: | FileCheck -check-prefix=NO-HEADER %s -// RUN: %clang_cc1 -emit-llvm -femit-coverage-data -femit-coverage-notes -fprofile-filter-files=".*\.c$;.*1\.h$" %s -o - \ -// RUN: | FileCheck -check-prefix=NO-HEADER2 %s -// RUN: %clang_cc1 -emit-llvm -femit-coverage-data -femit-coverage-notes -fprofile-exclude-files=".*2\.h$;.*1\.h$" %s -o - \ -// RUN: | FileCheck -check-prefix=JUST-C %s -// RUN: %clang_cc1 -emit-llvm -femit-coverage-data -femit-coverage-notes -fprofile-exclude-files=".*code\-coverage\-filter\.c$" %s -o - \ -// RUN: | FileCheck -check-prefix=HEADER %s -// RUN: %clang_cc1 -emit-llvm -femit-coverage-data -femit-coverage-notes -fprofile-filter-files=".*\.c$" -fprofile-exclude-files=".*\.c$" %s -o - \ -// RUN: | FileCheck -check-prefix=NONE %s -// RUN: %clang_cc1 -emit-llvm -femit-coverage-data -femit-coverage-notes -fprofile-filter-files=".*\.c$" -fprofile-exclude-files=".*\.h$" %s -o - \ -// RUN: | FileCheck -check-prefix=JUST-C %s - -#include "Inputs/code-coverage-filter1.h" -#include "Inputs/code-coverage-filter2.h" - -void test() { - test1(); - test2(); -} - -// ALL: void @test1() #0 {{.*}} -// ALL: {{.*}}__llvm_gcov_ctr{{.*}} -// ALL: ret void -// ALL: void @test2() #0 {{.*}} -// ALL: {{.*}}__llvm_gcov_ctr{{.*}} -// ALL: ret void -// ALL: void @test() #0 {{.*}} -// ALL: {{.*}}__llvm_gcov_ctr{{.*}} -// ALL: ret void - -// NO-HEADER: void @test1() #0 {{.*}} -// NO-HEADER-NOT: {{.*}}__llvm_gcov_ctr{{.*}} -// NO-HEADER: ret void -// NO-HEADER: void @test2() #0 {{.*}} -// NO-HEADER-NOT: {{.*}}__llvm_gcov_ctr{{.*}} -// NO-HEADER: ret void -// NO-HEADER: void @test() #0 {{.*}} -// NO-HEADER: {{.*}}__llvm_gcov_ctr{{.*}} -// NO-HEADER: ret void - -// NO-HEADER2: void @test1() #0 {{.*}} -// NO-HEADER2: {{.*}}__llvm_gcov_ctr{{.*}} -// NO-HEADER2: ret void -// NO-HEADER2: void @test2() #0 {{.*}} -// NO-HEADER2-NOT: {{.*}}__llvm_gcov_ctr{{.*}} -// NO-HEADER2: ret void -// NO-HEADER2: void @test() #0 {{.*}} -// NO-HEADER2: {{.*}}__llvm_gcov_ctr{{.*}} -// NO-HEADER2: ret void - -// JUST-C: void @test1() #0 {{.*}} -// JUST-C-NOT: {{.*}}__llvm_gcov_ctr{{.*}} -// JUST-C: ret void -// JUST-C: void @test2() #0 {{.*}} -// JUST-C-NOT: {{.*}}__llvm_gcov_ctr{{.*}} -// JUST-C: ret void -// JUST-C: void @test() #0 {{.*}} -// JUST-C: {{.*}}__llvm_gcov_ctr{{.*}} -// JUST-C: ret void - -// HEADER: void @test1() #0 {{.*}} -// HEADER: {{.*}}__llvm_gcov_ctr{{.*}} -// HEADER: ret void -// HEADER: void @test2() #0 {{.*}} -// HEADER: {{.*}}__llvm_gcov_ctr{{.*}} -// HEADER: ret void -// HEADER: void @test() #0 {{.*}} -// HEADER-NOT: {{.*}}__llvm_gcov_ctr{{.*}} -// HEADER: ret void - -// NONE: void @test1() #0 {{.*}} -// NONE-NOT: {{.*}}__llvm_gcov_ctr{{.*}} -// NONE: ret void -// NONE: void @test2() #0 {{.*}} -// NONE-NOT: {{.*}}__llvm_gcov_ctr{{.*}} -// NONE: ret void -// NONE: void @test() #0 {{.*}} -// NONE-NOT: {{.*}}__llvm_gcov_ctr{{.*}} -// NONE: ret void _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits