about summary refs log tree commit diff
path: root/compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
diff options
context:
space:
mode:
authorDylan DPC <99973273+Dylan-DPC@users.noreply.github.com>2022-03-11 13:38:37 +0100
committerGitHub <noreply@github.com>2022-03-11 13:38:37 +0100
commitcdd6d39eccb687f20113893902eafd8ba81b4acf (patch)
tree93f2bb9412734f3c27a53e51c461ee9aba72cb3b /compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp
parentb711d17c374d7538c8f716cbeaf0fe8c6f7cd691 (diff)
parentc62ab422d06410772e364c61741376e10b39fff8 (diff)
downloadrust-cdd6d39eccb687f20113893902eafd8ba81b4acf.tar.gz
rust-cdd6d39eccb687f20113893902eafd8ba81b4acf.zip
Rollup merge of #94776 - martingms:optimize-escape-default, r=nnethercote
Optimize ascii::escape_default

`ascii::escape_default` showed up as a hot function when compiling `deunicode-1.3.1` in `@nnethercote's` [analysis](https://hackmd.io/mxdn4U58Su-UQXwzOHpHag) of `@lqd's` [rustc-benchmarking-data](https://github.com/lqd/rustc-benchmarking-data).
After taking a look at the generated assembly it looked like a LUT-based approach could be faster for `hexify()`-ing ascii characters, so that's what this PR implements

The patch looks like it provides about a 1-2% improvement in instructions for that particular crate. This should definitely be verified with a perf run as I'm still getting used to the `rustc-perf` tooling and might easily have made an error!
Diffstat (limited to 'compiler/rustc_llvm/llvm-wrapper/PassWrapper.cpp')
0 files changed, 0 insertions, 0 deletions