Author: jdevlieghere Date: Tue Dec 19 09:16:45 2017 New Revision: 321090 URL: http://llvm.org/viewvc/llvm-project?rev=321090&view=rev Log: [clang] -foptimization-record-file= should imply -fsave-optimization-record
The Clang option -foptimization-record-file= controls which file an optimization record is output to. Optimization records are output if you use the Clang option -fsave-optimization-record. If you specify the first option without the second, you get a warning that the command line argument was unused. Passing -foptimization-record-file= should imply -fsave-optimization-record. This fixes PR33670 Patch by: Dmitry Venikov <veni...@phystech.edu> Differential revision: https://reviews.llvm.org/D39834 Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp cfe/trunk/test/Driver/opt-record.c Modified: cfe/trunk/lib/Driver/ToolChains/Clang.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Driver/ToolChains/Clang.cpp?rev=321090&r1=321089&r2=321090&view=diff ============================================================================== --- cfe/trunk/lib/Driver/ToolChains/Clang.cpp (original) +++ cfe/trunk/lib/Driver/ToolChains/Clang.cpp Tue Dec 19 09:16:45 2017 @@ -4389,6 +4389,7 @@ void Clang::ConstructJob(Compilation &C, CmdArgs.push_back("-fapple-pragma-pack"); if (Args.hasFlag(options::OPT_fsave_optimization_record, + options::OPT_foptimization_record_file_EQ, options::OPT_fno_save_optimization_record, false)) { CmdArgs.push_back("-opt-record-file"); Modified: cfe/trunk/test/Driver/opt-record.c URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Driver/opt-record.c?rev=321090&r1=321089&r2=321090&view=diff ============================================================================== --- cfe/trunk/test/Driver/opt-record.c (original) +++ cfe/trunk/test/Driver/opt-record.c Tue Dec 19 09:16:45 2017 @@ -9,6 +9,8 @@ // RUN: %clang -### -S -fsave-optimization-record -x cuda -nocudainc -nocudalib %s 2>&1 | FileCheck %s -check-prefix=CHECK-NO-O -check-prefix=CHECK-CUDA-DEV // RUN: %clang -### -fsave-optimization-record -x cuda -nocudainc -nocudalib %s 2>&1 | FileCheck %s -check-prefix=CHECK-NO-O -check-prefix=CHECK-CUDA-DEV // RUN: %clang -### -S -o FOO -fsave-optimization-record -foptimization-record-file=BAR.txt %s 2>&1 | FileCheck %s -check-prefix=CHECK-EQ +// RUN: %clang -### -S -o FOO -foptimization-record-file=BAR.txt %s 2>&1 | FileCheck %s -check-prefix=CHECK-EQ +// RUN: %clang -### -S -o FOO -foptimization-record-file=BAR.txt -fno-save-optimization-record %s 2>&1 | FileCheck %s --check-prefix=CHECK-FOPT-DISABLE // CHECK: "-cc1" // CHECK: "-opt-record-file" "FOO.opt.yaml" @@ -20,3 +22,4 @@ // CHECK-EQ: "-cc1" // CHECK-EQ: "-opt-record-file" "BAR.txt" +// CHECK-FOPT-DISABLE-NOT: "-fno-save-optimization-record" _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits