about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/llvm_util.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2024-02-21 01:11:34 +0000
committerbors <bors@rust-lang.org>2024-02-21 01:11:34 +0000
commit4e650749337bd4b0b464ebb5252d122b7cb98c8d (patch)
treedb1125a1cb333fb420e0853f7d98974b17b2d279 /compiler/rustc_codegen_llvm/src/llvm_util.rs
parent2dc0170233689435f988579a2080f27b02027d21 (diff)
parent328c77683eda8356352dc619734dc5c49b2e2b84 (diff)
downloadrust-4e650749337bd4b0b464ebb5252d122b7cb98c8d.tar.gz
rust-4e650749337bd4b0b464ebb5252d122b7cb98c8d.zip
Auto merge of #120904 - Nadrieril:match-lowering-intermediate-repr, r=matthewjasper
match lowering: eagerly simplify match pairs

This removes one important complication from match lowering. Before this, match pair simplification (which includes collecting bindings and type ascriptions) was intertwined with the whole match lowering algorithm.

I'm avoiding this by storing in each `MatchPair` the sub-`MatchPair`s that correspond to its subfields. This makes it possible to simplify everything (except or-patterns) in `Candidate::new()`.

This should open up further simplifications. It will also give us proper control over the order of bindings.

r? `@matthewjasper`
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/llvm_util.rs')
0 files changed, 0 insertions, 0 deletions