[all-commits] [llvm/llvm-project] 550ed5: Simplify BitVector code
serge-sans-paille via All-commits
all-commits at lists.llvm.org
Fri Apr 16 13:48:58 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 550ed575cbbd2c81cb855d4debb4a215ae75ef1e
https://github.com/llvm/llvm-project/commit/550ed575cbbd2c81cb855d4debb4a215ae75ef1e
Author: serge-sans-paille <sguelton at redhat.com>
Date: 2021-04-16 (Fri, 16 Apr 2021)
Changed paths:
M llvm/include/llvm/ADT/BitVector.h
M llvm/lib/CodeGen/RegisterScavenging.cpp
Log Message:
-----------
Simplify BitVector code
Instead of managing memory by hand, delegate it to std::vector. This makes the
code much simpler, and also avoids repeatedly computing the storage size.
According to valgrind --tool=callgrind, this also slightly decreases the
instruction count, but by a small margin.
This is a recommit of 82f0e3d3ea6bf927e3397b2fb423abbc5821a30f with one usage
fixed in llvm/lib/CodeGen/RegisterScavenging.cpp.
Not the slight API change: BitVector::clear() now has the same behavior as any
other container: it does not free memory, but indeed sets the size of the
BitVector to 0. It is thus incorrect to access its content right afterwards, a
scenario which wasn't enforced in previous implementation.
Differential Revision: https://reviews.llvm.org/D100387
More information about the All-commits
mailing list