[PATCH] D101997: [lld] Add a feature for each lld variant when use_lld is called

James Henderson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 6 07:49:03 PDT 2021


jhenderson created this revision.
jhenderson added reviewers: thopre, mstorsjo, yln, davezarzycki, luismarques.
Herald added subscribers: delcypher, sbc100.
jhenderson requested review of this revision.
Herald added a subscriber: aheejin.
Herald added a project: LLVM.

This allows tests to detect whether to run or not, dependent on which LLD version is required for the test.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D101997

Files:
  llvm/utils/lit/lit/llvm/config.py
  llvm/utils/lit/tests/Inputs/lld-features/ld.lld.txt
  llvm/utils/lit/tests/Inputs/lld-features/ld64.lld.txt
  llvm/utils/lit/tests/Inputs/lld-features/lit.cfg
  llvm/utils/lit/tests/Inputs/lld-features/lld-link.txt
  llvm/utils/lit/tests/Inputs/lld-features/tool1
  llvm/utils/lit/tests/Inputs/lld-features/tool2
  llvm/utils/lit/tests/Inputs/lld-features/tool3
  llvm/utils/lit/tests/Inputs/lld-features/tool4
  llvm/utils/lit/tests/Inputs/lld-features/wasm-ld.txt
  llvm/utils/lit/tests/lld-features.py


Index: llvm/utils/lit/tests/lld-features.py
===================================================================
--- /dev/null
+++ llvm/utils/lit/tests/lld-features.py
@@ -0,0 +1,6 @@
+## Show that each of the LLD variants detected by use_lld comes with its own
+## feature.
+
+# RUN: %{lit} %{inputs}/lld-features 2>&1 | FileCheck %s -DDIR=%p
+
+# CHECK: Passed: 4
Index: llvm/utils/lit/tests/Inputs/lld-features/wasm-ld.txt
===================================================================
--- /dev/null
+++ llvm/utils/lit/tests/Inputs/lld-features/wasm-ld.txt
@@ -0,0 +1,2 @@
+# REQUIRES: wasm-ld
+# RUN: true
Index: llvm/utils/lit/tests/Inputs/lld-features/lld-link.txt
===================================================================
--- /dev/null
+++ llvm/utils/lit/tests/Inputs/lld-features/lld-link.txt
@@ -0,0 +1,2 @@
+# REQUIRES: lld-link
+# RUN: true
Index: llvm/utils/lit/tests/Inputs/lld-features/lit.cfg
===================================================================
--- /dev/null
+++ llvm/utils/lit/tests/Inputs/lld-features/lit.cfg
@@ -0,0 +1,16 @@
+import lit.formats
+config.name = 'search-env'
+config.suffixes = ['.txt']
+config.test_format = lit.formats.ShTest()
+config.test_source_root = None
+config.test_exec_root = None
+config.llvm_tools_dir = ''
+import lit.llvm
+lit.llvm.initialize(lit_config, config)
+import os.path
+curdir = os.path.dirname(__file__)
+lit.llvm.llvm_config.with_environment('LDLLD', os.path.join(curdir, 'tool1'))
+lit.llvm.llvm_config.with_environment('LLDLINK', os.path.join(curdir, 'tool2'))
+lit.llvm.llvm_config.with_environment('LD64LLD', os.path.join(curdir, 'tool3'))
+lit.llvm.llvm_config.with_environment('WASMLD', os.path.join(curdir, 'tool4'))
+lit.llvm.llvm_config.use_lld()
Index: llvm/utils/lit/tests/Inputs/lld-features/ld64.lld.txt
===================================================================
--- /dev/null
+++ llvm/utils/lit/tests/Inputs/lld-features/ld64.lld.txt
@@ -0,0 +1,2 @@
+# REQUIRES: ld64.lld
+# RUN: true
Index: llvm/utils/lit/tests/Inputs/lld-features/ld.lld.txt
===================================================================
--- /dev/null
+++ llvm/utils/lit/tests/Inputs/lld-features/ld.lld.txt
@@ -0,0 +1,2 @@
+# REQUIRES: ld.lld
+# RUN: true
Index: llvm/utils/lit/lit/llvm/config.py
===================================================================
--- llvm/utils/lit/lit/llvm/config.py
+++ llvm/utils/lit/lit/llvm/config.py
@@ -604,11 +604,16 @@
         tool_substitutions = []
         if ld_lld:
             tool_substitutions.append(ToolSubst(r'ld\.lld', command=ld_lld))
+            self.config.available_features.add('ld.lld')
         if lld_link:
             tool_substitutions.append(ToolSubst('lld-link', command=lld_link))
+            self.config.available_features.add('lld-link')
         if ld64_lld:
             tool_substitutions.append(ToolSubst(r'ld64\.lld', command=ld64_lld))
+            self.config.available_features.add('ld64.lld')
         if wasm_ld:
             tool_substitutions.append(ToolSubst('wasm-ld', command=wasm_ld))
+            self.config.available_features.add('wasm-ld')
         self.add_tool_substitutions(tool_substitutions)
+
         return was_found


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D101997.343405.patch
Type: text/x-patch
Size: 3209 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210506/d62c104e/attachment.bin>


More information about the llvm-commits mailing list