rust/compiler/rustc_codegen_ssa/src
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
..
back Rollup merge of #79508 - jryans:check-dsymutil-result, r=nagisa 2020-12-01 23:46:09 +01:00
coverageinfo Updated links to LLVM 11 docs and types 2020-11-23 19:15:10 -08:00
debuginfo Stop adding '*' at the end of type names for Ref and Slice when computing debug info for MSVC debuggers 2020-11-30 14:31:34 -08:00
mir Auto merge of #79801 - eddyb:scalar-transmute, r=nagisa 2020-12-10 12:55:12 +00:00
traits rustc_target: Rename some target options to avoid tautology 2020-11-08 17:29:13 +03:00
base.rs compiler: fold by value 2020-11-16 22:34:57 +01:00
common.rs Remove unused #[allow(...)] statements from compiler/ 2020-09-26 01:25:55 +02:00
glue.rs Change ty.kind to a method 2020-09-04 17:47:51 +02:00
lib.rs Combination of commits 2020-12-03 09:50:10 -08:00
meth.rs mv compiler to compiler/ 2020-08-30 18:45:07 +03:00
mono_item.rs ty: remove obsolete printer 2020-08-30 18:59:07 +01:00
target_features.rs Rollup merge of #78361 - DevJPM:master, r=workingjubilee 2020-11-18 15:46:19 +01:00