about summary refs log tree commit diff
path: root/compiler/rustc_codegen_gcc
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2025-03-14 00:42:31 +0000
committerbors <bors@rust-lang.org>2025-03-14 00:42:31 +0000
commitaddae0705c7cf5b2f2ed7faeec026c894f497b3d (patch)
treea18501092cb0e2996dad7d2870fb7a4a0bdd80ca /compiler/rustc_codegen_gcc
parentcbfdf0b014cb04982a9cbeec1578001001167f6e (diff)
parent2b15dd1dddf3e412dd4a1fee1ab342cb719eaef1 (diff)
downloadrust-addae0705c7cf5b2f2ed7faeec026c894f497b3d.tar.gz
rust-addae0705c7cf5b2f2ed7faeec026c894f497b3d.zip
Auto merge of #138391 - scottmcm:SSA-discriminants, r=WaffleLapkin
Don't `alloca` just to look at a discriminant

Today we're making LLVM do a bunch of extra work when you match on trivial stuff like `Option<bool>` or `ControlFlow<u8>`.

This PR changes that so that simple types like `Option<u32>` or `Result<(), Box<Error>>` can stay as `OperandValue::ScalarPair` and we can still read the discriminant from them, rather than needing to write them into memory to have a `PlaceValue` just to get the discriminant out.

Fixes #137503
Diffstat (limited to 'compiler/rustc_codegen_gcc')
0 files changed, 0 insertions, 0 deletions