[PATCH] D92916: [LLD][gold] Add -plugin-opt=no-new-pass-manager

Fangrui Song via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 9 13:31:25 PST 2020


This revision was landed with ongoing or failed builds.
This revision was automatically updated to reflect the committed changes.
Closed by commit rG68ff3b3376f4: [LLD][gold] Add -plugin-opt=no-new-pass-manager (authored by MaskRay).

Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D92916/new/

https://reviews.llvm.org/D92916

Files:
  lld/ELF/Options.td
  lld/test/ELF/lto/new-pass-manager.ll
  llvm/test/tools/gold/X86/new-pm.ll
  llvm/tools/gold/gold-plugin.cpp


Index: llvm/tools/gold/gold-plugin.cpp
===================================================================
--- llvm/tools/gold/gold-plugin.cpp
+++ llvm/tools/gold/gold-plugin.cpp
@@ -288,6 +288,8 @@
       cs_profile_path = std::string(opt);
     } else if (opt == "new-pass-manager") {
       new_pass_manager = true;
+    } else if (opt == "no-new-pass-manager") {
+      new_pass_manager = false;
     } else if (opt == "debug-pass-manager") {
       debug_pass_manager = true;
     } else if (opt == "whole-program-visibility") {
Index: llvm/test/tools/gold/X86/new-pm.ll
===================================================================
--- llvm/test/tools/gold/X86/new-pm.ll
+++ llvm/test/tools/gold/X86/new-pm.ll
@@ -10,6 +10,12 @@
 
 ; CHECK: Starting llvm::Module pass manager run
 
+;; --plugin-opt=debug-pass-manager is a no-op for the legacy pass manager.
+; RUN: %gold -m elf_x86_64 -plugin %llvmshlibdir/LLVMgold%shlibext \
+; RUN:     --plugin-opt=thinlto \
+; RUN:     --plugin-opt=no-new-pass-manager --plugin-opt=debug-pass-manager \
+; RUN:     -o /dev/null %t.o 2>&1 | count 0
+
 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
 target triple = "x86_64-unknown-linux-gnu"
 
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
@@ -7,6 +7,7 @@
 ; 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
+; RUN: ld.lld --plugin-opt=no-new-pass-manager --plugin-opt=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
Index: lld/ELF/Options.td
===================================================================
--- lld/ELF/Options.td
+++ lld/ELF/Options.td
@@ -598,6 +598,8 @@
 def plugin_opt_mcpu_eq: J<"plugin-opt=mcpu=">;
 def: F<"plugin-opt=new-pass-manager">,
   Alias<lto_new_pass_manager>, HelpText<"Alias for --lto-new-pass-manager">;
+def: F<"plugin-opt=no-new-pass-manager">,
+  Alias<no_lto_new_pass_manager>, HelpText<"Alias for --no-lto-new-pass-manager">;
 def: F<"plugin-opt=cs-profile-generate">,
   Alias<lto_cs_profile_generate>, HelpText<"Alias for --lto-cs-profile-generate">;
 def: J<"plugin-opt=cs-profile-path=">,


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D92916.310637.patch
Type: text/x-patch
Size: 2636 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201209/1d34c587/attachment.bin>


More information about the llvm-commits mailing list