Skip to content

Commit 860a0ba

Browse files
committed
Add graviton2 and graviton3 for llvm20
1 parent 3d7491c commit 860a0ba

File tree

3 files changed

+70
-3
lines changed

3 files changed

+70
-3
lines changed

cc/toolchains/llvm/x86_64-aarch64-linux/BUILD.bazel

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ cc_toolchain_config(
115115
"//conditions:default": [],
116116
}),
117117
host_system_name = X86_64_LINUX,
118-
target_cpu = "k8",
118+
target_cpu = "k8", # this should be aarch64?
119119
target_libc = "glibc_unknown",
120120
target_system_name = AARCH64_LINUX,
121121
tool_paths = {
@@ -125,7 +125,7 @@ cc_toolchain_config(
125125
"gcov": "wrappers/llvm-profdata",
126126
"llvm-cov": "wrappers/llvm-cov",
127127
"llvm-profdata": "wrappers/llvm-profdata",
128-
"ld": "wrappers/ld.ldd",
128+
"ld": "wrappers/ld.ldd", # This should be ld.lld?
129129
"nm": "wrappers/llvm-nm",
130130
"objcopy": "wrappers/llvm-objcopy",
131131
"objdump": "wrappers/llvm-objdump",

cc/toolchains/llvm20/x86_64-aarch64-linux/BUILD.bazel

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,13 +102,18 @@ cc_toolchain_config(
102102
abi_libc_version = "glibc_unknown",
103103
abi_version = "clang",
104104
builtin_sysroot = select({
105-
# _use_libcpp case needs to be implemented properly here!
105+
"@rules_swiftnav//cc:_use_libcpp": None,
106106
"//conditions:default": "external/rules_swiftnav++swift_cc_toolchain_extension+aarch64-sysroot",
107107
}),
108108
compiler = "clang",
109109
cxx_builtin_include_directories = [
110110
"%sysroot%/usr/include",
111111
],
112+
extra_copts = select({
113+
"@rules_swiftnav//cc/constraints:graviton2": ["-mcpu=neoverse-n1"],
114+
"@rules_swiftnav//cc/constraints:graviton3": ["-mcpu=neoverse-512tvb"],
115+
"//conditions:default": [],
116+
}),
112117
host_system_name = X86_64_LINUX,
113118
target_cpu = "aarch64",
114119
target_libc = "glibc_unknown",
@@ -158,3 +163,39 @@ toolchain(
158163
toolchain = ":cc-clang-x86_64-aarch64-linux",
159164
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
160165
)
166+
167+
toolchain(
168+
name = "cc-toolchain-aarch64-bullseye-graviton2",
169+
exec_compatible_with = [
170+
"@platforms//cpu:x86_64",
171+
"@platforms//os:linux",
172+
],
173+
target_compatible_with = [
174+
"@platforms//os:linux",
175+
"@platforms//cpu:aarch64",
176+
"@rules_swiftnav//cc/constraints:glibc_2_31",
177+
"@rules_swiftnav//cc/constraints:graviton2",
178+
"@rules_swiftnav//cc/constraints:llvm20_toolchain",
179+
],
180+
target_settings = None,
181+
toolchain = ":cc-clang-x86_64-aarch64-linux",
182+
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
183+
)
184+
185+
toolchain(
186+
name = "cc-toolchain-aarch64-bullseye-graviton3",
187+
exec_compatible_with = [
188+
"@platforms//cpu:x86_64",
189+
"@platforms//os:linux",
190+
],
191+
target_compatible_with = [
192+
"@platforms//os:linux",
193+
"@platforms//cpu:aarch64",
194+
"@rules_swiftnav//cc/constraints:glibc_2_31",
195+
"@rules_swiftnav//cc/constraints:graviton3",
196+
"@rules_swiftnav//cc/constraints:llvm20_toolchain",
197+
],
198+
target_settings = None,
199+
toolchain = ":cc-clang-x86_64-aarch64-linux",
200+
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
201+
)

platforms/BUILD.bazel

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,32 @@ platform(
212212
visibility = ["//visibility:public"],
213213
)
214214

215+
platform(
216+
name = "aarch64_bullseye_llvm20_graviton2",
217+
constraint_values = [
218+
"@platforms//os:linux",
219+
"@platforms//cpu:aarch64",
220+
"@rules_swiftnav//cc/constraints:graviton2",
221+
"@rules_swiftnav//cc/constraints:glibc_2_31",
222+
"@rules_swiftnav//cc/constraints:llvm20_toolchain",
223+
],
224+
visibility = ["//visibility:public"],
225+
)
226+
227+
platform(
228+
name = "aarch64_bullseye_llvm20_graviton3",
229+
constraint_values = [
230+
"@platforms//os:linux",
231+
"@platforms//cpu:aarch64",
232+
"@rules_swiftnav//cc/constraints:graviton3",
233+
"@rules_swiftnav//cc/constraints:glibc_2_31",
234+
"@rules_swiftnav//cc/constraints:llvm20_toolchain",
235+
],
236+
visibility = ["//visibility:public"],
237+
)
238+
239+
# GCC system
240+
215241
platform(
216242
name = "x86_64_linux_gcc11_system",
217243
constraint_values = [

0 commit comments

Comments
 (0)