[ELF] Support -plugin-opt=stats-file=
This flag is added by clang::driver::tools::addLTOOptions() and was causing errors for me when building the llvm-test-suite repository with LTO and -DTEST_SUITE_COLLECT_STATS=ON. This replaces the --stats-file= option added in1c04b52b25
since the flag is only used for LTO and should therefore be in the -plugin-opt= namespace. Additionally, this commit fixes the `REQUIRES: asserts` that was added in948d05324a
: the feature was never defined in the lld test suite so it effectively disabled the test. Reviewed By: MaskRay, MTC Differential Revision: https://reviews.llvm.org/D124105
This commit is contained in:
parent
01188f996d
commit
7c20e7ca86
|
@ -1127,7 +1127,7 @@ static void readConfigs(opt::InputArgList &args) {
|
|||
config->oFormatBinary = isOutputFormatBinary(args);
|
||||
config->omagic = args.hasFlag(OPT_omagic, OPT_no_omagic, false);
|
||||
config->optRemarksFilename = args.getLastArgValue(OPT_opt_remarks_filename);
|
||||
config->optStatsFilename = args.getLastArgValue(OPT_opt_stats_filename);
|
||||
config->optStatsFilename = args.getLastArgValue(OPT_plugin_opt_stats_file);
|
||||
|
||||
// Parse remarks hotness threshold. Valid value is either integer or 'auto'.
|
||||
if (auto *arg = args.getLastArg(OPT_opt_remarks_hotness_threshold)) {
|
||||
|
|
|
@ -582,8 +582,6 @@ def opt_remarks_with_hotness: FF<"opt-remarks-with-hotness">,
|
|||
HelpText<"Include hotness information in the optimization remarks file">;
|
||||
def opt_remarks_format: Separate<["--"], "opt-remarks-format">,
|
||||
HelpText<"The format used for serializing remarks (default: YAML)">;
|
||||
def opt_stats_filename: JJ<"stats-file=">,
|
||||
HelpText<"Filename to write statistics to">;
|
||||
def save_temps: F<"save-temps">, HelpText<"Save intermediate LTO compilation results">;
|
||||
def lto_basic_block_sections: JJ<"lto-basic-block-sections=">,
|
||||
HelpText<"Enable basic block sections for LTO">;
|
||||
|
@ -646,6 +644,8 @@ def: J<"plugin-opt=opt-remarks-hotness-threshold=">,
|
|||
def: J<"plugin-opt=sample-profile=">,
|
||||
Alias<lto_sample_profile>, HelpText<"Alias for --lto-sample-profile">;
|
||||
def: F<"plugin-opt=save-temps">, Alias<save_temps>, HelpText<"Alias for --save-temps">;
|
||||
def plugin_opt_stats_file: J<"plugin-opt=stats-file=">,
|
||||
HelpText<"Filename to write LTO statistics to">;
|
||||
def: F<"plugin-opt=thinlto-emit-imports-files">,
|
||||
Alias<thinlto_emit_imports_files>,
|
||||
HelpText<"Alias for --thinlto-emit-imports-files">;
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
; RUN: llvm-as -o %t.bc %s
|
||||
|
||||
;; Try to save statistics to file.
|
||||
; RUN: ld.lld --stats-file=%t2.stats -m elf_x86_64 -r -o %t.o %t.bc
|
||||
; RUN: ld.lld --plugin-opt=stats-file=%t2.stats -m elf_x86_64 -r -o %t.o %t.bc
|
||||
; RUN: FileCheck --input-file=%t2.stats %s
|
||||
|
||||
; CHECK: {
|
||||
|
|
|
@ -74,7 +74,8 @@ llvm_config.feature_config(
|
|||
'RISCV': 'riscv',
|
||||
'Sparc': 'sparc',
|
||||
'WebAssembly': 'wasm',
|
||||
'X86': 'x86'})
|
||||
'X86': 'x86'}),
|
||||
('--assertion-mode', {'ON': 'asserts'}),
|
||||
])
|
||||
|
||||
# Set a fake constant version so that we get consistent output.
|
||||
|
|
Loading…
Reference in a new issue