[clang] [Clang][BPF] Add __BPF_FEATURE_GOTOX (PR #165456)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 28 11:37:31 PDT 2025
https://github.com/yonghong-song created https://github.com/llvm/llvm-project/pull/165456
Add a macro __BPF_FEATURE_GOTOX for bpf target for cpu v4. So the developer can easily detect whether insn gotox is supported or not.
>From 9cedf756afff96c3d1141fdfc68380b6d90d1e20 Mon Sep 17 00:00:00 2001
From: Yonghong Song <yonghong.song at linux.dev>
Date: Tue, 28 Oct 2025 11:33:31 -0700
Subject: [PATCH] [Clang][BPF] Add __BPF_FEATURE_GOTOX
Add a macro __BPF_FEATURE_GOTOX for bpf target for cpu v4.
So the developer can easily detect whether insn gotox is
supported or not.
---
clang/lib/Basic/Targets/BPF.cpp | 1 +
clang/test/Preprocessor/bpf-predefined-macros.c | 4 ++++
2 files changed, 5 insertions(+)
diff --git a/clang/lib/Basic/Targets/BPF.cpp b/clang/lib/Basic/Targets/BPF.cpp
index 0411bcca51789..8de1083d758c7 100644
--- a/clang/lib/Basic/Targets/BPF.cpp
+++ b/clang/lib/Basic/Targets/BPF.cpp
@@ -75,6 +75,7 @@ void BPFTargetInfo::getTargetDefines(const LangOptions &Opts,
Builder.defineMacro("__BPF_FEATURE_GOTOL");
Builder.defineMacro("__BPF_FEATURE_ST");
Builder.defineMacro("__BPF_FEATURE_LOAD_ACQ_STORE_REL");
+ Builder.defineMacro("__BPF_FEATURE_GOTOX");
}
}
diff --git a/clang/test/Preprocessor/bpf-predefined-macros.c b/clang/test/Preprocessor/bpf-predefined-macros.c
index cd8a2ec031925..a9ae8c58c3ba7 100644
--- a/clang/test/Preprocessor/bpf-predefined-macros.c
+++ b/clang/test/Preprocessor/bpf-predefined-macros.c
@@ -70,6 +70,9 @@ int u;
#ifdef __BPF_FEATURE_LOAD_ACQ_STORE_REL
int v;
#endif
+#ifdef __BPF_FEATURE_GOTOX
+int w;
+#endif
// CHECK: int b;
// CHECK: int c;
@@ -110,6 +113,7 @@ int v;
// CPU_V4: int u;
// CPU_V4: int v;
+// CPU_V4: int w;
// CPU_GENERIC: int g;
More information about the cfe-commits
mailing list