Skip to content

Commit c9567e2

Browse files
committed
Move outline-atomics to aarch64-linux target definitions
1 parent 1d04577 commit c9567e2

6 files changed

+9
-6
lines changed

compiler/rustc_codegen_llvm/src/llvm_util.rs

-5
Original file line numberDiff line numberDiff line change
@@ -406,11 +406,6 @@ pub fn llvm_global_features(sess: &Session) -> Vec<String> {
406406
// -Ctarget-features
407407
features.extend(sess.opts.cg.target_feature.split(',').flat_map(&filter));
408408

409-
// FIXME: Move outline-atomics to target definition when earliest supported LLVM is 12.
410-
if get_version() >= (12, 0, 0) && sess.target.llvm_target.contains("aarch64-unknown-linux") {
411-
features.push("+outline-atomics".to_string());
412-
}
413-
414409
features
415410
}
416411

compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ pub fn target() -> Target {
88
data_layout: "E-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
99
arch: "aarch64".to_string(),
1010
options: TargetOptions {
11+
features: "+outline-atomics".to_string(),
1112
max_atomic_width: Some(128),
1213
mcount: "\u{1}_mcount".to_string(),
1314
endian: Endian::Big,

compiler/rustc_target/src/spec/aarch64_be_unknown_linux_gnu_ilp32.rs

+1
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ pub fn target() -> Target {
1212
arch: "aarch64".to_string(),
1313
options: TargetOptions {
1414
abi: "ilp32".to_string(),
15+
features: "+outline-atomics".to_string(),
1516
mcount: "\u{1}_mcount".to_string(),
1617
endian: Endian::Big,
1718
..base

compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu.rs

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ pub fn target() -> Target {
77
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
88
arch: "aarch64".to_string(),
99
options: TargetOptions {
10+
features: "+outline-atomics".to_string(),
1011
mcount: "\u{1}_mcount".to_string(),
1112
max_atomic_width: Some(128),
1213
supported_sanitizers: SanitizerSet::ADDRESS

compiler/rustc_target/src/spec/aarch64_unknown_linux_gnu_ilp32.rs

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ pub fn target() -> Target {
88
arch: "aarch64".to_string(),
99
options: TargetOptions {
1010
abi: "ilp32".to_string(),
11+
features: "+outline-atomics".to_string(),
1112
max_atomic_width: Some(128),
1213
mcount: "\u{1}_mcount".to_string(),
1314
..super::linux_gnu_base::opts()

compiler/rustc_target/src/spec/aarch64_unknown_linux_musl.rs

+5-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ pub fn target() -> Target {
99
pointer_width: 64,
1010
data_layout: "e-m:e-i8:8:32-i16:16:32-i64:64-i128:128-n32:64-S128".to_string(),
1111
arch: "aarch64".to_string(),
12-
options: TargetOptions { mcount: "\u{1}_mcount".to_string(), ..base },
12+
options: TargetOptions {
13+
features: "+outline-atomics".to_string(),
14+
mcount: "\u{1}_mcount".to_string(),
15+
..base
16+
},
1317
}
1418
}

0 commit comments

Comments
 (0)