forked from OSchip/llvm-project
[LLD][ELF][NewPM] Add option to force legacy PM
In preparation for the NPM switch. Reviewed By: MaskRay Differential Revision: https://reviews.llvm.org/D92417
This commit is contained in:
parent
6b043ecdb7
commit
99d82412f8
|
@ -988,7 +988,8 @@ static void readConfigs(opt::InputArgList &args) {
|
|||
config->ltoCSProfileFile = args.getLastArgValue(OPT_lto_cs_profile_file);
|
||||
config->ltoDebugPassManager = args.hasArg(OPT_lto_debug_pass_manager);
|
||||
config->ltoEmitAsm = args.hasArg(OPT_lto_emit_asm);
|
||||
config->ltoNewPassManager = args.hasArg(OPT_lto_new_pass_manager);
|
||||
config->ltoNewPassManager = args.hasFlag(OPT_lto_new_pass_manager,
|
||||
OPT_no_lto_new_pass_manager, false);
|
||||
config->ltoNewPmPasses = args.getLastArgValue(OPT_lto_newpm_passes);
|
||||
config->ltoWholeProgramVisibility =
|
||||
args.hasFlag(OPT_lto_whole_program_visibility,
|
||||
|
|
|
@ -526,8 +526,9 @@ def lto_debug_pass_manager: FF<"lto-debug-pass-manager">,
|
|||
HelpText<"Debug new pass manager">;
|
||||
def lto_emit_asm: FF<"lto-emit-asm">,
|
||||
HelpText<"Emit assembly code">;
|
||||
def lto_new_pass_manager: FF<"lto-new-pass-manager">,
|
||||
HelpText<"Use new pass manager">;
|
||||
defm lto_new_pass_manager: BB<"lto-new-pass-manager",
|
||||
"Use new pass manager",
|
||||
"Use legacy pass manager">;
|
||||
def lto_newpm_passes: JJ<"lto-newpm-passes=">,
|
||||
HelpText<"Passes to run during LTO">;
|
||||
def lto_O: JJ<"lto-O">, MetaVarName<"<opt-level>">,
|
||||
|
|
|
@ -2,13 +2,15 @@
|
|||
; RUN: opt -module-summary %s -o %t.o
|
||||
|
||||
; Test new-pass-manager and debug-pass-manager option
|
||||
; RUN: ld.lld --plugin-opt=new-pass-manager --plugin-opt=debug-pass-manager -o %t2.o %t.o 2>&1 | FileCheck %s
|
||||
; RUN: ld.lld --plugin-opt=new-pass-manager --lto-debug-pass-manager -o %t2.o %t.o 2>&1 | FileCheck %s
|
||||
; RUN: ld.lld --lto-new-pass-manager --plugin-opt=debug-pass-manager -o %t2.o %t.o 2>&1 | FileCheck %s
|
||||
; RUN: ld.lld --lto-new-pass-manager --lto-debug-pass-manager -o %t2.o %t.o 2>&1 | FileCheck %s
|
||||
; RUN: ld.lld --plugin-opt=new-pass-manager --plugin-opt=debug-pass-manager -o /dev/null %t.o 2>&1 | FileCheck %s
|
||||
; RUN: ld.lld --plugin-opt=new-pass-manager --lto-debug-pass-manager -o /dev/null %t.o 2>&1 | FileCheck %s
|
||||
; RUN: ld.lld --lto-new-pass-manager --plugin-opt=debug-pass-manager -o /dev/null %t.o 2>&1 | FileCheck %s
|
||||
; RUN: ld.lld --lto-new-pass-manager --lto-debug-pass-manager -o /dev/null %t.o 2>&1 | FileCheck %s
|
||||
; RUN: ld.lld --lto-new-pass-manager --no-lto-new-pass-manager --lto-debug-pass-manager -o /dev/null %t.o 2>&1 | FileCheck %s --check-prefix=LEGACY
|
||||
|
||||
; CHECK: Starting llvm::Module pass manager run
|
||||
; CHECK: Finished llvm::Module pass manager run
|
||||
; LEGACY-NOT: Starting llvm::Module pass manager run
|
||||
|
||||
target datalayout = "e-m:e-p270:32:32-p271:32:32-p272:64:64-i64:64-f80:128-n8:16:32:64-S128"
|
||||
target triple = "x86_64-unknown-linux-gnu"
|
||||
|
|
Loading…
Reference in New Issue