about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src
diff options
context:
space:
mode:
authorLeón Orell Valerian Liehr <me@fmease.dev>2024-02-21 16:32:57 +0100
committerGitHub <noreply@github.com>2024-02-21 16:32:57 +0100
commit4daa43aaff53c3d54ca1bd13fd7d40872048bcb1 (patch)
treee44db37e947a8c4b8a40ef26357179a44b3041b9 /compiler/rustc_codegen_llvm/src
parent082b97ad05f759c81b3961dceb9969f16181a593 (diff)
parentc1514a6324cf80c52f7eb39b7a74df89b3769106 (diff)
downloadrust-4daa43aaff53c3d54ca1bd13fd7d40872048bcb1.tar.gz
rust-4daa43aaff53c3d54ca1bd13fd7d40872048bcb1.zip
Rollup merge of #121175 - Nadrieril:simplify-or-selection, r=matthewjasper
match lowering: test one or pattern at a time

This is a bit more opinionated than the previous PRs. On the face of it this is less efficient and more complex than before, but I personally found the loop that digs into `leaf_candidates` on each iteration very confusing. Instead this does "generate code for this or-pattern" then "generate further code for each branch if needed" in two steps.

Incidentally this way we don't _require_ or patterns to be sorted at the end. It's still an important optimization but I find it clearer to not rely on it for correctness.

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