[PATCH] D92417: [LTO][NewPM] Add option to force legacy PM
Arthur Eubanks via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Dec 1 11:52:17 PST 2020
aeubanks created this revision.
aeubanks added reviewers: asbirlea, ychen, rnk, hans.
Herald added subscribers: llvm-commits, dang, steven_wu, hiraditya, arichardson, inglorion, emaste.
Herald added a reviewer: espindola.
Herald added a reviewer: MaskRay.
Herald added a project: LLVM.
aeubanks requested review of this revision.
In preparation for the NPM switch.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D92417
Files:
lld/ELF/Driver.cpp
lld/ELF/Options.td
lld/test/ELF/lto/new-pass-manager.ll
Index: lld/test/ELF/lto/new-pass-manager.ll
===================================================================
--- lld/test/ELF/lto/new-pass-manager.ll
+++ lld/test/ELF/lto/new-pass-manager.ll
@@ -6,9 +6,11 @@
; 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 --lto-new-pass-manager --lto-no-new-pass-manager --lto-debug-pass-manager -o %t2.o %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"
Index: lld/ELF/Options.td
===================================================================
--- lld/ELF/Options.td
+++ lld/ELF/Options.td
@@ -528,6 +528,8 @@
HelpText<"Emit assembly code">;
def lto_new_pass_manager: FF<"lto-new-pass-manager">,
HelpText<"Use new pass manager">;
+def lto_no_new_pass_manager: FF<"lto-no-new-pass-manager">,
+ HelpText<"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>">,
Index: lld/ELF/Driver.cpp
===================================================================
--- lld/ELF/Driver.cpp
+++ lld/ELF/Driver.cpp
@@ -988,7 +988,8 @@
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_lto_no_new_pass_manager, false);
config->ltoNewPmPasses = args.getLastArgValue(OPT_lto_newpm_passes);
config->ltoWholeProgramVisibility =
args.hasFlag(OPT_lto_whole_program_visibility,
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92417.308729.patch
Type: text/x-patch
Size: 2237 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201201/6b891e78/attachment.bin>
More information about the llvm-commits
mailing list