rust/compiler/rustc_codegen_cranelift/src
bors c90eb4825a Auto merge of #108282 - cjgillot:mir-checked-sh, r=tmiasko
Implement checked Shl/Shr at MIR building.

This does not require any special handling by codegen backends,
as the overflow behaviour is entirely determined by the rhs (shift amount).

This allows MIR ConstProp to remove the overflow check for constant shifts.

~There is an existing different behaviour between cg_llvm and cg_clif (cc `@bjorn3).`
I took cg_llvm's one as reference: overflow if `rhs < 0 || rhs > number_of_bits_in_lhs_ty`.~

EDIT: `cg_llvm` and `cg_clif` implement the overflow check differently. This PR uses `cg_llvm`'s implementation based on a `BitAnd` instead of `cg_clif`'s one based on an unsigned comparison.
2023-03-15 21:31:06 +00:00
..
abi Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
debuginfo Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
driver Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
intrinsics Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
optimize Merge commit '598f090956' into sync_cg_clif-2023-01-24 2023-01-24 18:56:42 +01:00
allocator.rs Don't export of __rust_* alloc symbols if not codegened 2023-03-09 19:21:44 -05:00
analyze.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
archive.rs Rewrite LLVM's archive writer in Rust 2022-11-26 19:35:32 +00:00
base.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
cast.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
codegen_i128.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
common.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
compiler_builtins.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
concurrency_limiter.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
config.rs Merge commit '7d53619064' into sync_cg_clif-2023-02-09 2023-02-09 12:38:16 +01:00
constant.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
discriminant.rs Merge commit '2bb3996244' into sync_cg_clif-2022-12-14 2022-12-14 19:30:46 +01:00
global_asm.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
inline_asm.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
lib.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
linkage.rs Sync rustc_codegen_cranelift 'ddd4ce2553' 2021-04-30 14:49:58 +02:00
main_shim.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
num.rs Auto merge of #108282 - cjgillot:mir-checked-sh, r=tmiasko 2023-03-15 21:31:06 +00:00
pointer.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
pretty_clif.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
toolchain.rs Merge commit 'e9d1a0a7b0' into sync_cg_clif-2022-08-24 2022-08-24 18:40:58 +02:00
trap.rs Merge commit 'e9d1a0a7b0' into sync_cg_clif-2022-08-24 2022-08-24 18:40:58 +02:00
unsize.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
value_and_place.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00
vtable.rs Merge commit 'dec0daa8f6' into sync_cg_clif-2023-03-15 2023-03-15 14:41:48 +00:00