rust/compiler
bors d7560e8968 Auto merge of #79801 - eddyb:scalar-transmute, r=nagisa
rustc_codegen_ssa: use bitcasts instead of type punning for scalar transmutes.

This specifically helps with `f32` <-> `u32` (`from_bits`, `to_bits`) in Rust-GPU (`rustc_codegen_spirv`), where (AFAIK) we don't yet have enough infrastructure to turn type punning memory accesses into SSA bitcasts.
(There may be more instances, but the one I've seen myself is `f32::signum` from `num-traits` inspecting e.g. the sign bit)

Sadly I've had to make an exception for `transmute`s between pointers and non-pointers, as LLVM disallows using `bitcast` for them.

r? `@nagisa` cc `@khyperia`
2020-12-10 12:55:12 +00:00
..
rustc
rustc_apfloat
rustc_arena
rustc_ast Accept arbitrary expressions in key-value attributes at parse time 2020-12-09 21:37:32 +03:00
rustc_ast_lowering Retain assembly operands span when lowering AST to HIR 2020-12-06 20:48:08 +01:00
rustc_ast_passes Accept arbitrary expressions in key-value attributes at parse time 2020-12-09 21:37:32 +03:00
rustc_ast_pretty
rustc_attr
rustc_builtin_macros
rustc_codegen_cranelift Auto merge of #77611 - oli-obk:atomic_miri_leakage, r=nagisa 2020-12-09 19:53:23 +00:00
rustc_codegen_llvm Fixes to Rust coverage 2020-12-07 17:56:19 -08:00
rustc_codegen_ssa Auto merge of #79801 - eddyb:scalar-transmute, r=nagisa 2020-12-10 12:55:12 +00:00
rustc_data_structures
rustc_driver
rustc_error_codes smarter E0390 2020-12-06 20:30:07 +00:00
rustc_errors
rustc_expand Rollup merge of #79678 - jyn514:THE-PAPERCLIP-COMETH, r=varkor 2020-12-04 03:30:39 +01:00
rustc_feature Accept arbitrary expressions in key-value attributes at parse time 2020-12-09 21:37:32 +03:00
rustc_fs_util
rustc_graphviz
rustc_hir Retain assembly operands span when lowering AST to HIR 2020-12-06 20:48:08 +01:00
rustc_hir_pretty Retain assembly operands span when lowering AST to HIR 2020-12-06 20:48:08 +01:00
rustc_incremental
rustc_index
rustc_infer simplify if let Some(_) = x to if x.is_some() (clippy::redundant_pattern_matching) 2020-12-08 20:27:49 +01:00
rustc_interface Auto merge of #79586 - jyn514:crate-name, r=davidtwco 2020-12-03 12:14:29 +00:00
rustc_lexer Fix some clippy lints 2020-12-03 17:08:19 -05:00
rustc_lint don't create owned values for comparison (clippy::cmp_owned) 2020-12-08 20:27:48 +01:00
rustc_lint_defs Validate naked functions definitions 2020-12-07 00:00:00 +00:00
rustc_llvm
rustc_macros
rustc_metadata Account for gaps in def path table during decoding 2020-12-08 13:02:53 -05:00
rustc_middle Auto merge of #79721 - Aaron1011:fix/reuse-def-path-hash, r=wesleywiser 2020-12-09 13:54:07 +00:00
rustc_mir Auto merge of #79621 - usbalbin:constier_maybe_uninit, r=RalfJung 2020-12-10 10:46:38 +00:00
rustc_mir_build Also generate StorageDead in constants 2020-12-09 10:59:10 +00:00
rustc_parse Accept arbitrary expressions in key-value attributes at parse time 2020-12-09 21:37:32 +03:00
rustc_parse_format
rustc_passes Rollup merge of #79844 - tmiasko:rwu-table-mod, r=lcnr 2020-12-09 13:38:34 -08:00
rustc_plugin_impl
rustc_privacy
rustc_query_system Properly re-use def path hash in incremental mode 2020-12-04 22:16:40 -05:00
rustc_resolve
rustc_save_analysis
rustc_serialize Fix some clippy lints 2020-12-03 17:08:19 -05:00
rustc_session Combination of commits 2020-12-03 09:50:10 -08:00
rustc_span Accept arbitrary expressions in key-value attributes at parse time 2020-12-09 21:37:32 +03:00
rustc_symbol_mangling
rustc_target
rustc_trait_selection remove redundant clones 2020-12-05 12:59:54 +01:00
rustc_traits
rustc_ty_utils
rustc_typeck Rollup merge of #79824 - LingMan:no_replace, r=lcnr 2020-12-09 13:38:31 -08:00