[clang] [llvm] [BPF] rename 'arena' to 'address_space' (PR #85161)
via llvm-commits
llvm-commits at lists.llvm.org
Wed Mar 13 17:27:36 PDT 2024
https://github.com/eddyz87 created https://github.com/llvm/llvm-project/pull/85161
There are a few places where `arena` name is used for pointers in non-zero address space in BPF backend, rename these to use a more generic `address_space`:
- macro `__BPF_FEATURE_ARENA_CAST` -> `__BPF_FEATURE_ADDRESS_SPACE_CAST
- name for arena global variables section `.arena.N` -> `.address_space.N`
>From d309957bc26f3f9d4afba6a1d0b6bd3ddffbfee7 Mon Sep 17 00:00:00 2001
From: Eduard Zingerman <eddyz87 at gmail.com>
Date: Thu, 14 Mar 2024 01:56:18 +0200
Subject: [PATCH] [BPF] rename 'arena' to 'address_space'
There are a few places where 'arena' name is used for pointers in
non-zero address space in BPF backend, rename these to use a more
generic 'address_space':
- macro __BPF_FEATURE_ARENA_CAST -> __BPF_FEATURE_ADDRESS_SPACE_CAST
- name for arena global variables section .arena.N -> .address_space.N
---
clang/lib/Basic/Targets/BPF.cpp | 2 +-
clang/test/Preprocessor/bpf-predefined-macros.c | 2 +-
llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp | 10 +++++-----
llvm/test/CodeGen/BPF/addr-space-globals.ll | 2 +-
llvm/test/CodeGen/BPF/addr-space-globals2.ll | 4 ++--
5 files changed, 10 insertions(+), 10 deletions(-)
diff --git a/clang/lib/Basic/Targets/BPF.cpp b/clang/lib/Basic/Targets/BPF.cpp
index 26a54f631fcfc4..9a1188acab944c 100644
--- a/clang/lib/Basic/Targets/BPF.cpp
+++ b/clang/lib/Basic/Targets/BPF.cpp
@@ -36,7 +36,7 @@ void BPFTargetInfo::getTargetDefines(const LangOptions &Opts,
return;
}
- Builder.defineMacro("__BPF_FEATURE_ARENA_CAST");
+ Builder.defineMacro("__BPF_FEATURE_ADDRESS_SPACE_CAST");
if (CPU.empty() || CPU == "generic" || CPU == "v1") {
Builder.defineMacro("__BPF_CPU_VERSION__", "1");
diff --git a/clang/test/Preprocessor/bpf-predefined-macros.c b/clang/test/Preprocessor/bpf-predefined-macros.c
index fea24d1ea0ff7b..b6928c5c6ff4b4 100644
--- a/clang/test/Preprocessor/bpf-predefined-macros.c
+++ b/clang/test/Preprocessor/bpf-predefined-macros.c
@@ -61,7 +61,7 @@ int r;
#ifdef __BPF_FEATURE_ST
int s;
#endif
-#ifdef __BPF_FEATURE_ARENA_CAST
+#ifdef __BPF_FEATURE_ADDRESS_SPACE_CAST
int t;
#endif
diff --git a/llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp b/llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
index edd59aaa6d01d2..070dd1ff4c5784 100644
--- a/llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
+++ b/llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
@@ -15,7 +15,7 @@
// - remove llvm.bpf.getelementptr.and.load builtins.
// - remove llvm.bpf.getelementptr.and.store builtins.
// - for loads and stores with base addresses from non-zero address space
-// cast base address to zero address space (support for BPF arenas).
+// cast base address to zero address space (support for BPF address spaces).
//
//===----------------------------------------------------------------------===//
@@ -482,7 +482,7 @@ static void aspaceWrapOperand(DenseMap<Value *, Value *> &Cache, Instruction *I,
}
}
-// Support for BPF arenas:
+// Support for BPF address spaces:
// - for each function in the module M, update pointer operand of
// each memory access instruction (load/store/cmpxchg/atomicrmw)
// by casting it from non-zero address space to zero address space, e.g:
@@ -490,7 +490,7 @@ static void aspaceWrapOperand(DenseMap<Value *, Value *> &Cache, Instruction *I,
// (load (ptr addrspace (N) %p) ...)
// -> (load (addrspacecast ptr addrspace (N) %p to ptr))
//
-// - assign section with name .arena.N for globals defined in
+// - assign section with name .address_space.N for globals defined in
// non-zero address space N
bool BPFCheckAndAdjustIR::insertASpaceCasts(Module &M) {
bool Changed = false;
@@ -517,13 +517,13 @@ bool BPFCheckAndAdjustIR::insertASpaceCasts(Module &M) {
Changed |= !CastsCache.empty();
}
// Merge all globals within same address space into single
- // .arena.<addr space no> section
+ // .address_space.<addr space no> section
for (GlobalVariable &G : M.globals()) {
if (G.getAddressSpace() == 0 || G.hasSection())
continue;
SmallString<16> SecName;
raw_svector_ostream OS(SecName);
- OS << ".arena." << G.getAddressSpace();
+ OS << ".address_space." << G.getAddressSpace();
G.setSection(SecName);
// Prevent having separate section for constants
G.setConstant(false);
diff --git a/llvm/test/CodeGen/BPF/addr-space-globals.ll b/llvm/test/CodeGen/BPF/addr-space-globals.ll
index 878ba0dfce6cd1..9848b1bbcd4f35 100644
--- a/llvm/test/CodeGen/BPF/addr-space-globals.ll
+++ b/llvm/test/CodeGen/BPF/addr-space-globals.ll
@@ -18,7 +18,7 @@
; Verify that a,b,c reside in the same section
-; CHECK: .section .arena.272,"aw", at progbits
+; CHECK: .section .address_space.272,"aw", at progbits
; CHECK-NOT: .section
; CHECK: .globl a
; CHECK: .ascii "\001\002"
diff --git a/llvm/test/CodeGen/BPF/addr-space-globals2.ll b/llvm/test/CodeGen/BPF/addr-space-globals2.ll
index d1e2318948751e..816741e2e834eb 100644
--- a/llvm/test/CodeGen/BPF/addr-space-globals2.ll
+++ b/llvm/test/CodeGen/BPF/addr-space-globals2.ll
@@ -14,12 +14,12 @@
; Verify that a,b reside in separate sections
-; CHECK: .section .arena.1,"aw", at progbits
+; CHECK: .section .address_space.1,"aw", at progbits
; CHECK-NOT: .section
; CHECK: .globl a
; CHECK: .ascii "\001\002"
-; CHECK: .section .arena.2,"aw", at progbits
+; CHECK: .section .address_space.2,"aw", at progbits
; CHECK-NOT: .section
; CHECK: .globl b
; CHECK: .ascii "\003\004"
More information about the llvm-commits
mailing list