[Bugpoint] Only run plugins tests if plugins are enabled

This is a followup to r360991 which applies the same logic to LLVM.

Differential Revision: https://reviews.llvm.org/D62050

llvm-svn: 360993
diff --git a/llvm/test/BugPoint/compile-custom.ll b/llvm/test/BugPoint/compile-custom.ll
index 847d118..c892f82 100644
--- a/llvm/test/BugPoint/compile-custom.ll
+++ b/llvm/test/BugPoint/compile-custom.ll
@@ -1,5 +1,5 @@
 ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext --compile-custom --compile-command="%python %/s.py arg1 arg2" --output-prefix %t %s | FileCheck %s
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 
 ; Test that arguments are correctly passed in --compile-command.  The output
 ; of bugpoint includes the output of the custom tool, so we just echo the args
diff --git a/llvm/test/BugPoint/crash-narrowfunctiontest.ll b/llvm/test/BugPoint/crash-narrowfunctiontest.ll
index d080d9d..fbccfc3 100644
--- a/llvm/test/BugPoint/crash-narrowfunctiontest.ll
+++ b/llvm/test/BugPoint/crash-narrowfunctiontest.ll
@@ -1,7 +1,7 @@
 ; Test that bugpoint can narrow down the testcase to the important function
 ;
 ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes > /dev/null
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 
 define i32 @foo() { ret i32 1 }
 
diff --git a/llvm/test/BugPoint/func-attrs-keyval.ll b/llvm/test/BugPoint/func-attrs-keyval.ll
index 830d096..aaf8541 100644
--- a/llvm/test/BugPoint/func-attrs-keyval.ll
+++ b/llvm/test/BugPoint/func-attrs-keyval.ll
@@ -1,6 +1,6 @@
 ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashfuncattr -silence-passes
 ; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 
 ; CHECK: f() #[[ATTRS:[0-9]+]]
 define void @f() #0 {
diff --git a/llvm/test/BugPoint/func-attrs.ll b/llvm/test/BugPoint/func-attrs.ll
index 3941e73..8f742ee 100644
--- a/llvm/test/BugPoint/func-attrs.ll
+++ b/llvm/test/BugPoint/func-attrs.ll
@@ -1,6 +1,6 @@
 ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashfuncattr -silence-passes
 ; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 
 ; CHECK: f() #[[ATTRS:[0-9]+]]
 define void @f() #0 {
diff --git a/llvm/test/BugPoint/invalid-debuginfo.ll b/llvm/test/BugPoint/invalid-debuginfo.ll
index 2005a13..9169984 100644
--- a/llvm/test/BugPoint/invalid-debuginfo.ll
+++ b/llvm/test/BugPoint/invalid-debuginfo.ll
@@ -1,5 +1,5 @@
 ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crash-too-many-cus -silence-passes 2>&1 | FileCheck %s
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 ; CHECK: DICompileUnit not listed in llvm.dbg.cu
 
 ; When bugpoint hacks at this testcase it will at one point create illegal IR
diff --git a/llvm/test/BugPoint/metadata.ll b/llvm/test/BugPoint/metadata.ll
index ac77b9e..a090bbd 100644
--- a/llvm/test/BugPoint/metadata.ll
+++ b/llvm/test/BugPoint/metadata.ll
@@ -1,4 +1,4 @@
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes -disable-namedmd-remove -disable-strip-debuginfo -disable-strip-debug-types > /dev/null
 ; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
 ;
diff --git a/llvm/test/BugPoint/named-md.ll b/llvm/test/BugPoint/named-md.ll
index 1ed3443..dbdb18e 100644
--- a/llvm/test/BugPoint/named-md.ll
+++ b/llvm/test/BugPoint/named-md.ll
@@ -2,7 +2,7 @@
 ; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
 ; RUN-DISABLE: bugpoint -disable-namedmd-remove -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crash-too-many-cus -silence-passes > /dev/null
 ; RUN-DISABLE: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 
 ; CHECK: !llvm.dbg.cu = !{![[FIRST:[0-9]+]], ![[SECOND:[0-9]+]]}
 ; CHECK-DISABLE:      !llvm.dbg.cu = !{![[FIRST:[0-9]+]], ![[SECOND:[0-9]+]],
diff --git a/llvm/test/BugPoint/remove_arguments_test.ll b/llvm/test/BugPoint/remove_arguments_test.ll
index 72be4fe..904c917 100644
--- a/llvm/test/BugPoint/remove_arguments_test.ll
+++ b/llvm/test/BugPoint/remove_arguments_test.ll
@@ -1,6 +1,6 @@
 ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -bugpoint-crashcalls -silence-passes
 ; RUN: llvm-dis %t-reduced-simplified.bc -o - | FileCheck %s
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 
 ; Test to make sure that arguments are removed from the function if they are
 ; unnecessary. And clean up any types that frees up too.
diff --git a/llvm/test/BugPoint/replace-funcs-with-null.ll b/llvm/test/BugPoint/replace-funcs-with-null.ll
index 622f9eb..1de0d9e 100644
--- a/llvm/test/BugPoint/replace-funcs-with-null.ll
+++ b/llvm/test/BugPoint/replace-funcs-with-null.ll
@@ -1,7 +1,7 @@
 ; Test that bugpoint can reduce the set of functions by replacing them with null.
 ;
 ; RUN: bugpoint -load %llvmshlibdir/BugpointPasses%shlibext %s -output-prefix %t -replace-funcs-with-null -bugpoint-crash-decl-funcs -silence-passes -safe-run-llc
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 
 @foo2 = alias i32 (), i32 ()* @foo
 
diff --git a/llvm/test/BugPoint/unsymbolized.ll b/llvm/test/BugPoint/unsymbolized.ll
index da26b9d..d2060dd 100644
--- a/llvm/test/BugPoint/unsymbolized.ll
+++ b/llvm/test/BugPoint/unsymbolized.ll
@@ -1,4 +1,4 @@
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 ; RUN: echo "import sys" > %t.py
 ; RUN: echo "print('args = ' + str(sys.argv))" >> %t.py
 ; RUN: echo "exit(1)" >> %t.py
diff --git a/llvm/test/CMakeLists.txt b/llvm/test/CMakeLists.txt
index 69f4c36..f596602 100644
--- a/llvm/test/CMakeLists.txt
+++ b/llvm/test/CMakeLists.txt
@@ -13,6 +13,7 @@
   LLVM_TOOL_LTO_BUILD
   LLVM_USE_INTEL_JITEVENTS
   LLVM_BUILD_EXAMPLES
+  LLVM_ENABLE_PLUGINS
   )
 
 configure_lit_site_cfg(
diff --git a/llvm/test/Feature/load_module.ll b/llvm/test/Feature/load_module.ll
index 14c1153..fa76c99 100644
--- a/llvm/test/Feature/load_module.ll
+++ b/llvm/test/Feature/load_module.ll
@@ -1,7 +1,7 @@
 ; PR1318
 ; RUN: opt < %s -load=%llvmshlibdir/LLVMHello%shlibext -hello \
 ; RUN:   -disable-output 2>&1 | grep Hello
-; REQUIRES: loadable_module
+; REQUIRES: plugins
 ; FIXME: On Cygming, it might fail without building LLVMHello manually.
 
 @junk = global i32 0
diff --git a/llvm/test/lit.cfg.py b/llvm/test/lit.cfg.py
index 5a4b1e8..9228200 100644
--- a/llvm/test/lit.cfg.py
+++ b/llvm/test/lit.cfg.py
@@ -187,14 +187,8 @@
     config.available_features.add('can-execute')
 
 # Loadable module
-# FIXME: This should be supplied by Makefile or autoconf.
-if sys.platform in ['win32', 'cygwin']:
-    loadable_module = (config.enable_shared == 1)
-else:
-    loadable_module = True
-
-if loadable_module:
-    config.available_features.add('loadable_module')
+if config.has_plugins:
+    config.available_features.add('plugins')
 
 # Static libraries are not built if BUILD_SHARED_LIBS is ON.
 if not config.build_shared_libs and not config.link_llvm_dylib:
diff --git a/llvm/test/lit.site.cfg.py.in b/llvm/test/lit.site.cfg.py.in
index ef3ae83..39096a8 100644
--- a/llvm/test/lit.site.cfg.py.in
+++ b/llvm/test/lit.site.cfg.py.in
@@ -45,6 +45,7 @@
 config.host_arch = "@HOST_ARCH@"
 config.have_opt_viewer_modules = @LLVM_HAVE_OPT_VIEWER_MODULES@
 config.libcxx_used = @LLVM_LIBCXX_USED@
+config.has_plugins = @LLVM_ENABLE_PLUGINS@
 
 # Support substitution of the tools_dir with user parameters. This is
 # used when we can't determine the tool dir at configuration time.