about summary refs log tree commit diff
path: root/compiler/rustc_codegen_llvm/src/errors.rs
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2023-10-27 04:06:40 +0000
committerbors <bors@rust-lang.org>2023-10-27 04:06:40 +0000
commit707d8c3f1bba10d5aaa9c8719c410711edf2e227 (patch)
treeb92ff0ff76346fe972d8690a5f10ddbfe6bbbaa4 /compiler/rustc_codegen_llvm/src/errors.rs
parent31ffe48723dafd06cff75300cf37ba2f568221a1 (diff)
parent465ffc9ca781af9ac0a89643c9971ac807da5766 (diff)
downloadrust-707d8c3f1bba10d5aaa9c8719c410711edf2e227.tar.gz
rust-707d8c3f1bba10d5aaa9c8719c410711edf2e227.zip
Auto merge of #117260 - okaneco:ascii_branchless, r=thomcc
Refactor some `char`, `u8` ASCII functions to be branchless

Extract conditions in singular `matches!` with or-patterns to individual `matches!` statements which enables branchless code output. The following functions were changed:
- `is_ascii_alphanumeric`
- `is_ascii_hexdigit`
- `is_ascii_punctuation`

Added codegen tests

---

Continued from https://github.com/rust-lang/rust/pull/103024.
Based on the comment from `@scottmcm` https://github.com/rust-lang/rust/pull/103024#pullrequestreview-1248697206.

The unmodified `is_ascii_*` functions didn't seem to benefit from extracting the conditions.

I've never written a codegen test before, but I tried to check that no branches were emitted.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src/errors.rs')
0 files changed, 0 insertions, 0 deletions