Skip to content

Commit 14a2161

Browse files
authored
Rollup merge of rust-lang#62801 - bjorn3:remove_lower_128bit_ops, r=alexcrichton
Remove support for -Zlower-128bit-ops It is broken and unused cc rust-lang#58969 blocked rust-lang/compiler-builtins#302 (removes definitions of the lang items removed in this PR) r? @alexcrichton
2 parents 1072458 + 93de733 commit 14a2161

File tree

11 files changed

+22
-719
lines changed

11 files changed

+22
-719
lines changed

Cargo.lock

+19-19
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ dependencies = [
1717
name = "alloc"
1818
version = "0.0.0"
1919
dependencies = [
20-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
20+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
2121
"core 0.0.0",
2222
"rand 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)",
2323
"rand_xorshift 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -110,7 +110,7 @@ dependencies = [
110110
"autocfg 0.1.4 (registry+https://github.com/rust-lang/crates.io-index)",
111111
"backtrace-sys 0.1.27 (registry+https://github.com/rust-lang/crates.io-index)",
112112
"cfg-if 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
113-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
113+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
114114
"libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
115115
"rustc-demangle 0.1.15 (registry+https://github.com/rust-lang/crates.io-index)",
116116
"rustc-std-workspace-core 1.0.0",
@@ -122,7 +122,7 @@ version = "0.1.27"
122122
source = "registry+https://github.com/rust-lang/crates.io-index"
123123
dependencies = [
124124
"cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
125-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
125+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
126126
"libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
127127
"rustc-std-workspace-core 1.0.0",
128128
]
@@ -335,7 +335,7 @@ name = "cfg-if"
335335
version = "0.1.8"
336336
source = "registry+https://github.com/rust-lang/crates.io-index"
337337
dependencies = [
338-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
338+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
339339
"rustc-std-workspace-core 1.0.0",
340340
]
341341

@@ -464,7 +464,7 @@ dependencies = [
464464

465465
[[package]]
466466
name = "compiler_builtins"
467-
version = "0.1.17"
467+
version = "0.1.18"
468468
source = "registry+https://github.com/rust-lang/crates.io-index"
469469
dependencies = [
470470
"cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -795,7 +795,7 @@ name = "dlmalloc"
795795
version = "0.1.3"
796796
source = "registry+https://github.com/rust-lang/crates.io-index"
797797
dependencies = [
798-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
798+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
799799
"libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
800800
"rustc-std-workspace-core 1.0.0",
801801
]
@@ -960,7 +960,7 @@ name = "fortanix-sgx-abi"
960960
version = "0.3.2"
961961
source = "registry+https://github.com/rust-lang/crates.io-index"
962962
dependencies = [
963-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
963+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
964964
"rustc-std-workspace-core 1.0.0",
965965
]
966966

@@ -1137,7 +1137,7 @@ name = "hashbrown"
11371137
version = "0.4.0"
11381138
source = "registry+https://github.com/rust-lang/crates.io-index"
11391139
dependencies = [
1140-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
1140+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
11411141
"rustc-std-workspace-alloc 1.0.0",
11421142
"rustc-std-workspace-core 1.0.0",
11431143
]
@@ -1955,7 +1955,7 @@ dependencies = [
19551955
name = "panic_abort"
19561956
version = "0.0.0"
19571957
dependencies = [
1958-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
1958+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
19591959
"core 0.0.0",
19601960
"libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
19611961
]
@@ -1966,7 +1966,7 @@ version = "0.0.0"
19661966
dependencies = [
19671967
"alloc 0.0.0",
19681968
"cfg-if 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
1969-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
1969+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
19701970
"core 0.0.0",
19711971
"libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
19721972
"unwind 0.0.0",
@@ -2137,7 +2137,7 @@ name = "profiler_builtins"
21372137
version = "0.0.0"
21382138
dependencies = [
21392139
"cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
2140-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
2140+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
21412141
"core 0.0.0",
21422142
]
21432143

@@ -2674,7 +2674,7 @@ name = "rustc-demangle"
26742674
version = "0.1.15"
26752675
source = "registry+https://github.com/rust-lang/crates.io-index"
26762676
dependencies = [
2677-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
2677+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
26782678
"rustc-std-workspace-core 1.0.0",
26792679
]
26802680

@@ -2766,7 +2766,7 @@ dependencies = [
27662766
"alloc 0.0.0",
27672767
"build_helper 0.1.0",
27682768
"cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
2769-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
2769+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
27702770
"core 0.0.0",
27712771
]
27722772

@@ -2988,7 +2988,7 @@ dependencies = [
29882988
"alloc 0.0.0",
29892989
"build_helper 0.1.0",
29902990
"cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
2991-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
2991+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
29922992
"core 0.0.0",
29932993
]
29942994

@@ -3051,7 +3051,7 @@ dependencies = [
30513051
"alloc 0.0.0",
30523052
"build_helper 0.1.0",
30533053
"cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
3054-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
3054+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
30553055
"core 0.0.0",
30563056
]
30573057

@@ -3169,7 +3169,7 @@ dependencies = [
31693169
"alloc 0.0.0",
31703170
"build_helper 0.1.0",
31713171
"cmake 0.1.38 (registry+https://github.com/rust-lang/crates.io-index)",
3172-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
3172+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
31733173
"core 0.0.0",
31743174
]
31753175

@@ -3476,7 +3476,7 @@ dependencies = [
34763476
"backtrace 0.3.29 (registry+https://github.com/rust-lang/crates.io-index)",
34773477
"cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
34783478
"cfg-if 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
3479-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
3479+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
34803480
"core 0.0.0",
34813481
"dlmalloc 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)",
34823482
"fortanix-sgx-abi 0.3.2 (registry+https://github.com/rust-lang/crates.io-index)",
@@ -4103,7 +4103,7 @@ version = "0.0.0"
41034103
dependencies = [
41044104
"cc 1.0.35 (registry+https://github.com/rust-lang/crates.io-index)",
41054105
"cfg-if 0.1.8 (registry+https://github.com/rust-lang/crates.io-index)",
4106-
"compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)",
4106+
"compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)",
41074107
"core 0.0.0",
41084108
"libc 0.2.54 (registry+https://github.com/rust-lang/crates.io-index)",
41094109
]
@@ -4317,7 +4317,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
43174317
"checksum colored 1.6.0 (registry+https://github.com/rust-lang/crates.io-index)" = "b0aa3473e85a3161b59845d6096b289bb577874cafeaf75ea1b1beaa6572c7fc"
43184318
"checksum commoncrypto 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "d056a8586ba25a1e4d61cb090900e495952c7886786fc55f909ab2f819b69007"
43194319
"checksum commoncrypto-sys 0.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1fed34f46747aa73dfaa578069fd8279d2818ade2b55f38f22a9401c7f4083e2"
4320-
"checksum compiler_builtins 0.1.17 (registry+https://github.com/rust-lang/crates.io-index)" = "ad9b4731b9e701aefe9e6bd1e9173f30526661508f9aaadaa5caec25ddf95585"
4320+
"checksum compiler_builtins 0.1.18 (registry+https://github.com/rust-lang/crates.io-index)" = "ef1c086a06d6f52f9c0d50cacdc021bfb6034ddeec9fb7e62f099f13f65472f4"
43214321
"checksum compiletest_rs 0.3.22 (registry+https://github.com/rust-lang/crates.io-index)" = "f40ecc9332b68270998995c00f8051ee856121764a0d3230e64c9efd059d27b6"
43224322
"checksum constant_time_eq 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)" = "8ff012e225ce166d4422e0e78419d901719760f62ae2b7969ca6b564d1b54a9e"
43234323
"checksum core-foundation 0.6.3 (registry+https://github.com/rust-lang/crates.io-index)" = "4e2640d6d0bf22e82bed1b73c6aef8d5dd31e5abe6666c57e6d45e2649f4f887"

src/librustc/middle/lang_items.rs

-28
Original file line numberDiff line numberDiff line change
@@ -367,34 +367,6 @@ language_item_table! {
367367

368368
DebugTraitLangItem, "debug_trait", debug_trait, Target::Trait;
369369

370-
// A lang item for each of the 128-bit operators we can optionally lower.
371-
I128AddFnLangItem, "i128_add", i128_add_fn, Target::Fn;
372-
U128AddFnLangItem, "u128_add", u128_add_fn, Target::Fn;
373-
I128SubFnLangItem, "i128_sub", i128_sub_fn, Target::Fn;
374-
U128SubFnLangItem, "u128_sub", u128_sub_fn, Target::Fn;
375-
I128MulFnLangItem, "i128_mul", i128_mul_fn, Target::Fn;
376-
U128MulFnLangItem, "u128_mul", u128_mul_fn, Target::Fn;
377-
I128DivFnLangItem, "i128_div", i128_div_fn, Target::Fn;
378-
U128DivFnLangItem, "u128_div", u128_div_fn, Target::Fn;
379-
I128RemFnLangItem, "i128_rem", i128_rem_fn, Target::Fn;
380-
U128RemFnLangItem, "u128_rem", u128_rem_fn, Target::Fn;
381-
I128ShlFnLangItem, "i128_shl", i128_shl_fn, Target::Fn;
382-
U128ShlFnLangItem, "u128_shl", u128_shl_fn, Target::Fn;
383-
I128ShrFnLangItem, "i128_shr", i128_shr_fn, Target::Fn;
384-
U128ShrFnLangItem, "u128_shr", u128_shr_fn, Target::Fn;
385-
// And overflow versions for the operators that are checkable.
386-
// While MIR calls these Checked*, they return (T,bool), not Option<T>.
387-
I128AddoFnLangItem, "i128_addo", i128_addo_fn, Target::Fn;
388-
U128AddoFnLangItem, "u128_addo", u128_addo_fn, Target::Fn;
389-
I128SuboFnLangItem, "i128_subo", i128_subo_fn, Target::Fn;
390-
U128SuboFnLangItem, "u128_subo", u128_subo_fn, Target::Fn;
391-
I128MuloFnLangItem, "i128_mulo", i128_mulo_fn, Target::Fn;
392-
U128MuloFnLangItem, "u128_mulo", u128_mulo_fn, Target::Fn;
393-
I128ShloFnLangItem, "i128_shlo", i128_shlo_fn, Target::Fn;
394-
U128ShloFnLangItem, "u128_shlo", u128_shlo_fn, Target::Fn;
395-
I128ShroFnLangItem, "i128_shro", i128_shro_fn, Target::Fn;
396-
U128ShroFnLangItem, "u128_shro", u128_shro_fn, Target::Fn;
397-
398370
// Align offset for stride != 1, must not panic.
399371
AlignOffsetLangItem, "align_offset", align_offset_fn, Target::Fn;
400372

src/librustc/session/config.rs

-4
Original file line numberDiff line numberDiff line change
@@ -1406,10 +1406,6 @@ options! {DebuggingOptions, DebuggingSetter, basic_debugging_options,
14061406
saturating_float_casts: bool = (false, parse_bool, [TRACKED],
14071407
"make float->int casts UB-free: numbers outside the integer type's range are clipped to \
14081408
the max/min integer respectively, and NaN is mapped to 0"),
1409-
lower_128bit_ops: Option<bool> = (None, parse_opt_bool, [TRACKED],
1410-
"rewrite operators on i128 and u128 into lang item calls (typically provided \
1411-
by compiler-builtins) so codegen doesn't need to support them,
1412-
overriding the default for the current target"),
14131409
human_readable_cgu_names: bool = (false, parse_bool, [TRACKED],
14141410
"generate human-readable, predictable names for codegen units"),
14151411
dep_info_omit_d_target: bool = (false, parse_bool, [TRACKED],

src/librustc/ty/context.rs

+1-35
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ use crate::middle::cstore::EncodedMetadata;
2121
use crate::middle::lang_items;
2222
use crate::middle::resolve_lifetime::{self, ObjectLifetimeDefault};
2323
use crate::middle::stability;
24-
use crate::mir::{self, Body, interpret, ProjectionKind};
24+
use crate::mir::{Body, interpret, ProjectionKind};
2525
use crate::mir::interpret::{ConstValue, Allocation, Scalar};
2626
use crate::ty::subst::{Kind, InternalSubsts, SubstsRef, Subst};
2727
use crate::ty::ReprOptions;
@@ -1297,40 +1297,6 @@ impl<'tcx> TyCtxt<'tcx> {
12971297
self.get_lang_items(LOCAL_CRATE)
12981298
}
12991299

1300-
/// Due to missing llvm support for lowering 128 bit math to software emulation
1301-
/// (on some targets), the lowering can be done in MIR.
1302-
///
1303-
/// This function only exists until said support is implemented.
1304-
pub fn is_binop_lang_item(&self, def_id: DefId) -> Option<(mir::BinOp, bool)> {
1305-
let items = self.lang_items();
1306-
let def_id = Some(def_id);
1307-
if items.i128_add_fn() == def_id { Some((mir::BinOp::Add, false)) }
1308-
else if items.u128_add_fn() == def_id { Some((mir::BinOp::Add, false)) }
1309-
else if items.i128_sub_fn() == def_id { Some((mir::BinOp::Sub, false)) }
1310-
else if items.u128_sub_fn() == def_id { Some((mir::BinOp::Sub, false)) }
1311-
else if items.i128_mul_fn() == def_id { Some((mir::BinOp::Mul, false)) }
1312-
else if items.u128_mul_fn() == def_id { Some((mir::BinOp::Mul, false)) }
1313-
else if items.i128_div_fn() == def_id { Some((mir::BinOp::Div, false)) }
1314-
else if items.u128_div_fn() == def_id { Some((mir::BinOp::Div, false)) }
1315-
else if items.i128_rem_fn() == def_id { Some((mir::BinOp::Rem, false)) }
1316-
else if items.u128_rem_fn() == def_id { Some((mir::BinOp::Rem, false)) }
1317-
else if items.i128_shl_fn() == def_id { Some((mir::BinOp::Shl, false)) }
1318-
else if items.u128_shl_fn() == def_id { Some((mir::BinOp::Shl, false)) }
1319-
else if items.i128_shr_fn() == def_id { Some((mir::BinOp::Shr, false)) }
1320-
else if items.u128_shr_fn() == def_id { Some((mir::BinOp::Shr, false)) }
1321-
else if items.i128_addo_fn() == def_id { Some((mir::BinOp::Add, true)) }
1322-
else if items.u128_addo_fn() == def_id { Some((mir::BinOp::Add, true)) }
1323-
else if items.i128_subo_fn() == def_id { Some((mir::BinOp::Sub, true)) }
1324-
else if items.u128_subo_fn() == def_id { Some((mir::BinOp::Sub, true)) }
1325-
else if items.i128_mulo_fn() == def_id { Some((mir::BinOp::Mul, true)) }
1326-
else if items.u128_mulo_fn() == def_id { Some((mir::BinOp::Mul, true)) }
1327-
else if items.i128_shlo_fn() == def_id { Some((mir::BinOp::Shl, true)) }
1328-
else if items.u128_shlo_fn() == def_id { Some((mir::BinOp::Shl, true)) }
1329-
else if items.i128_shro_fn() == def_id { Some((mir::BinOp::Shr, true)) }
1330-
else if items.u128_shro_fn() == def_id { Some((mir::BinOp::Shr, true)) }
1331-
else { None }
1332-
}
1333-
13341300
pub fn stability(self) -> &'tcx stability::Index<'tcx> {
13351301
self.stability_index(LOCAL_CRATE)
13361302
}

src/librustc_mir/interpret/intrinsics.rs

+2-13
Original file line numberDiff line numberDiff line change
@@ -230,21 +230,10 @@ impl<'mir, 'tcx, M: Machine<'mir, 'tcx>> InterpCx<'mir, 'tcx, M> {
230230
&mut self,
231231
instance: ty::Instance<'tcx>,
232232
args: &[OpTy<'tcx, M::PointerTag>],
233-
dest: Option<PlaceTy<'tcx, M::PointerTag>>,
233+
_dest: Option<PlaceTy<'tcx, M::PointerTag>>,
234234
) -> InterpResult<'tcx, bool> {
235235
let def_id = instance.def_id();
236-
// Some fn calls are actually BinOp intrinsics
237-
if let Some((op, oflo)) = self.tcx.is_binop_lang_item(def_id) {
238-
let dest = dest.expect("128 lowerings can't diverge");
239-
let l = self.read_immediate(args[0])?;
240-
let r = self.read_immediate(args[1])?;
241-
if oflo {
242-
self.binop_with_overflow(op, l, r, dest)?;
243-
} else {
244-
self.binop_ignore_overflow(op, l, r, dest)?;
245-
}
246-
return Ok(true);
247-
} else if Some(def_id) == self.tcx.lang_items().panic_fn() {
236+
if Some(def_id) == self.tcx.lang_items().panic_fn() {
248237
assert!(args.len() == 1);
249238
// &(&'static str, &'static str, u32, u32)
250239
let place = self.deref_operand(args[0])?;

src/librustc_mir/transform/inline.rs

-7
Original file line numberDiff line numberDiff line change
@@ -232,13 +232,6 @@ impl Inliner<'tcx> {
232232
return false;
233233
}
234234

235-
// Do not inline {u,i}128 lang items, codegen const eval depends
236-
// on detecting calls to these lang items and intercepting them
237-
if tcx.is_binop_lang_item(callsite.callee).is_some() {
238-
debug!(" not inlining 128bit integer lang item");
239-
return false;
240-
}
241-
242235
let codegen_fn_attrs = tcx.codegen_fn_attrs(callsite.callee);
243236

244237
let hinted = match codegen_fn_attrs.inline {

0 commit comments

Comments
 (0)