about summary refs log tree commit diff
path: root/src/test/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2020-08-26 09:59:04 +0300
committerSebastian Dröge <sebastian@centricular.com>2020-08-30 23:13:47 +0300
commitd08996ac543b4d330bef790ff9f727e99c7a539c (patch)
tree554b264fd6cb49b27723ea87533224ed82b38df4 /src/test/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs
parent30dc32b10eb53e4a92c61a42062983db58838217 (diff)
downloadrust-d08996ac543b4d330bef790ff9f727e99c7a539c.tar.gz
rust-d08996ac543b4d330bef790ff9f727e99c7a539c.zip
Get rid of bounds check in slice::chunks_exact() and related functions during construction
LLVM can't figure out in

    let rem = self.len() % chunk_size;
    let len = self.len() - rem;
    let (fst, snd) = self.split_at(len);

and

    let rem = self.len() % chunk_size;
    let (fst, snd) = self.split_at(rem);

that the index passed to split_at() is smaller than the slice length and
adds a bounds check plus panic for it.

Apart from removing the overhead of the bounds check this also allows
LLVM to optimize code around the ChunksExact iterator better.
Diffstat (limited to 'src/test/codegen/src-hash-algorithm/src-hash-algorithm-md5.rs')
0 files changed, 0 insertions, 0 deletions