diff --git a/lld/test/wasm/lto/new-pass-manager.ll b/lld/test/wasm/lto/new-pass-manager.ll index 2f49c4d55df87b..48829de8d378c3 100644 --- a/lld/test/wasm/lto/new-pass-manager.ll +++ b/lld/test/wasm/lto/new-pass-manager.ll @@ -1,6 +1,6 @@ ; RUN: llvm-as -o %t.bc %s ; RUN: wasm-ld --lto-new-pass-manager --lto-debug-pass-manager -o /dev/null %t.bc 2>&1 | FileCheck %s -; RUN: wasm-ld --lto-new-pass-manager --lto-debug-pass-manager --lto-no-new-pass-manager -o /dev/null %t.bc 2>&1 | FileCheck %s --allow-empty --check-prefix=LPM +; RUN: wasm-ld --lto-new-pass-manager --lto-debug-pass-manager --no-lto-new-pass-manager -o /dev/null %t.bc 2>&1 | FileCheck %s --allow-empty --check-prefix=LPM ; CHECK: Starting llvm::Module pass manager run ; CHECK: Finished llvm::Module pass manager run diff --git a/lld/wasm/Driver.cpp b/lld/wasm/Driver.cpp index d15cf40f6e5f3b..98a8d10f9dd3a2 100644 --- a/lld/wasm/Driver.cpp +++ b/lld/wasm/Driver.cpp @@ -380,7 +380,7 @@ static void readConfigs(opt::InputArgList &args) { config->ltoo = args::getInteger(args, OPT_lto_O, 2); config->ltoPartitions = args::getInteger(args, OPT_lto_partitions, 1); config->ltoNewPassManager = args.hasFlag(OPT_lto_new_pass_manager, - OPT_lto_no_new_pass_manager, false); + OPT_no_lto_new_pass_manager, false); config->ltoDebugPassManager = args.hasArg(OPT_lto_debug_pass_manager); config->mapFile = args.getLastArgValue(OPT_Map); config->optimize = args::getInteger(args, OPT_O, 0); diff --git a/lld/wasm/Options.td b/lld/wasm/Options.td index 283fe3fc29314b..92368b171fa997 100644 --- a/lld/wasm/Options.td +++ b/lld/wasm/Options.td @@ -17,6 +17,11 @@ multiclass B { def no_ # NAME: Flag<["--", "-"], "no-" # name>, HelpText; } +multiclass BB { + def NAME: Flag<["--"], name>, HelpText; + def no_ # NAME: Flag<["--"], "no-" # name>, HelpText; +} + // The following flags are shared with the ELF linker def Bsymbolic: F<"Bsymbolic">, HelpText<"Bind defined symbols locally">; @@ -215,10 +220,7 @@ def thinlto_cache_dir: J<"thinlto-cache-dir=">, defm thinlto_cache_policy: Eq<"thinlto-cache-policy", "Pruning policy for the ThinLTO cache">; def thinlto_jobs: J<"thinlto-jobs=">, HelpText<"Number of ThinLTO jobs. Default to --threads=">; -def lto_new_pass_manager: F<"lto-new-pass-manager">, - HelpText<"Use new pass manager">; -def lto_no_new_pass_manager: F<"lto-no-new-pass-manager">, - HelpText<"Use legacy pass manager">; +defm lto_new_pass_manager: BB<"lto-new-pass-manager", "Use new pass manager", "Use legacy pass manager">; def lto_debug_pass_manager: F<"lto-debug-pass-manager">, HelpText<"Debug new pass manager">;