Author: thegameg Date: Mon Jun 17 15:49:38 2019 New Revision: 363627 URL: http://llvm.org/viewvc/llvm-project?rev=363627&view=rev Log: [Remarks][Driver] Use the specified format in the remarks file extension
By default, use `.opt.yaml`, but when a format is specified with `-fsave-optimization-record=<format>`, use `.opt.<format>`. Modified: cfe/trunk/docs/UsersManual.rst cfe/trunk/lib/Driver/ToolChains/Clang.cpp cfe/trunk/lib/Driver/ToolChains/Darwin.cpp cfe/trunk/test/Driver/darwin-ld.c cfe/trunk/test/Driver/opt-record.c Modified: cfe/trunk/docs/UsersManual.rst URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/docs/UsersManual.rst?rev=363627&r1=363626&r2=363627&view=diff ============================================================================== --- cfe/trunk/docs/UsersManual.rst (original) +++ cfe/trunk/docs/UsersManual.rst Mon Jun 17 15:49:38 2019 @@ -351,7 +351,9 @@ output format of the diagnostics that it If this option is not used, optimization records are output to a file named after the primary file being compiled. If that's "foo.c", for example, - optimization records are output to "foo.opt.yaml". + optimization records are output to "foo.opt.yaml". If a specific + serialization format is specified, the file will be named + "foo.opt.<format>". .. _opt_foptimization-record-passes: Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=363627&r1=363626&r2=363627&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Mon Jun 17 15:49:38 2019 @@ -5132,9 +5132,17 @@ void Clang::ConstructJob(Compilation &C, } } - llvm::sys::path::replace_extension(F, "opt.yaml"); + std::string Extension = "opt."; + if (const Arg *A = + Args.getLastArg(options::OPT_fsave_optimization_record_EQ)) + Extension += A->getValue(); + else + Extension += "yaml"; + + llvm::sys::path::replace_extension(F, Extension); CmdArgs.push_back(Args.MakeArgString(F)); } + if (const Arg *A = Args.getLastArg(options::OPT_foptimization_record_passes_EQ)) { CmdArgs.push_back("-opt-record-passes"); Modified: cfe/trunk/lib/Driver/ToolChains/Darwin.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Darwin.cpp?rev=363627&r1=363626&r2=363627&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Darwin.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Darwin.cpp Mon Jun 17 15:49:38 2019 @@ -470,7 +470,13 @@ void darwin::Linker::ConstructJob(Compil SmallString<128> F; F = Output.getFilename(); - F += ".opt.yaml"; + F += ".opt."; + if (const Arg *A = + Args.getLastArg(options::OPT_fsave_optimization_record_EQ)) + F += A->getValue(); + else + F += "yaml"; + CmdArgs.push_back(Args.MakeArgString(F)); if (getLastProfileUseArg(Args)) { Modified: cfe/trunk/test/Driver/darwin-ld.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/darwin-ld.c?rev=363627&r1=363626&r2=363627&view=diff ============================================================================== --- cfe/trunk/test/Driver/darwin-ld.c (original) +++ cfe/trunk/test/Driver/darwin-ld.c Mon Jun 17 15:49:38 2019 @@ -333,7 +333,7 @@ // // RUN: %clang -target x86_64-apple-darwin12 %t.o -fsave-optimization-record=some-format -### -o foo/bar.out 2> %t.log // RUN: FileCheck -check-prefix=PASS_REMARKS_WITH_FORMAT %s < %t.log -// PASS_REMARKS_WITH_FORMAT: "-mllvm" "-lto-pass-remarks-output" "-mllvm" "foo/bar.out.opt.yaml" "-mllvm" "-lto-pass-remarks-format=some-format" +// PASS_REMARKS_WITH_FORMAT: "-mllvm" "-lto-pass-remarks-output" "-mllvm" "foo/bar.out.opt.some-format" "-mllvm" "-lto-pass-remarks-format=some-format" // RUN: %clang -target x86_64-apple-ios6.0 -miphoneos-version-min=6.0 -fprofile-instr-generate -### %t.o 2> %t.log // RUN: FileCheck -check-prefix=LINK_PROFILE_FIRST %s < %t.log Modified: cfe/trunk/test/Driver/opt-record.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/opt-record.c?rev=363627&r1=363626&r2=363627&view=diff ============================================================================== --- cfe/trunk/test/Driver/opt-record.c (original) +++ cfe/trunk/test/Driver/opt-record.c Mon Jun 17 15:49:38 2019 @@ -37,6 +37,7 @@ // CHECK-FOPT-DISABLE-PASSES-NOT: "-fno-save-optimization-record" // CHECK-EQ-FORMAT: "-cc1" +// CHECK-EQ-FORMAT: "-opt-record-file" "FOO.opt.some-format" // CHECK-EQ-FORMAT: "-opt-record-format" "some-format" // CHECK-FOPT-DISABLE-FORMAT-NOT: "-fno-save-optimization-record" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits