[llvm] [llvm][lit] Omit vendor in triples for "native" feature (PR #136325)
Raul Tambre via llvm-commits
llvm-commits at lists.llvm.org
Fri Apr 18 09:53:53 PDT 2025
https://github.com/tambry updated https://github.com/llvm/llvm-project/pull/136325
>From e2525ad082e10eedac01a5cad2936b2bac265321 Mon Sep 17 00:00:00 2001
From: Raul Tambre <raul at tambre.ee>
Date: Fri, 18 Apr 2025 19:36:26 +0300
Subject: [PATCH] [llvm][lit] Omit vendor in triples for "native" feature
The vendor component may be different, e.g. x86_64-linux-gnu vs x86_64-pc-linux-gnu, but it's still native.
---
llvm/utils/lit/lit/llvm/config.py | 17 +++++++++++++++--
1 file changed, 15 insertions(+), 2 deletions(-)
diff --git a/llvm/utils/lit/lit/llvm/config.py b/llvm/utils/lit/lit/llvm/config.py
index c134cda90e2ee..6f9f17d3db383 100644
--- a/llvm/utils/lit/lit/llvm/config.py
+++ b/llvm/utils/lit/lit/llvm/config.py
@@ -24,6 +24,16 @@ def user_is_root():
return False
+def remove_triple_vendor(triple):
+ components = triple.split("-")
+
+ # Remove vendor component (e.g. unknown, pc) if present.
+ if len(components) == 4:
+ del components[1]
+
+ return "-".join(components)
+
+
class LLVMConfig(object):
def __init__(self, lit_config, config):
self.lit_config = lit_config
@@ -108,14 +118,17 @@ def __init__(self, lit_config, config):
elif platform.system() == "OS/390":
features.add("system-zos")
- # Native compilation: host arch == default triple arch
+ # Native compilation: host arch == default triple arch (sans vendor)
# Both of these values should probably be in every site config (e.g. as
# part of the standard header. But currently they aren't)
host_triple = getattr(config, "host_triple", None)
target_triple = getattr(config, "target_triple", None)
features.add("host=%s" % host_triple)
features.add("target=%s" % target_triple)
- if host_triple and host_triple == target_triple:
+
+ if host_triple and remove_triple_vendor(host_triple) == remove_triple_vendor(
+ target_triple
+ ):
features.add("native")
# Sanitizers.
More information about the llvm-commits
mailing list