[PATCH] D28817: Add SparseBitVector::find_last()
Zachary Turner via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 17 11:35:29 PST 2017
zturner added inline comments.
Comment at: llvm/include/llvm/ADT/SparseBitVector.h:141
+ return Idx * BITWORD_SIZE + BITWORD_SIZE -
+ countLeadingZeros(Bits[Idx]) - 1;
> Don't you really just want counttrailingzeros, and the index is bitword_size - count trailing zeros?
I made the same mistake at first. Because the LSB is the bit with the lowest "index", we have to use `countLeadingZeros`. i.e. 0b00000000000000000000000000000110 has bits 1 and 2 set. The value we want returned from the function is 2.
More information about the llvm-commits