In https://gcc.gnu.org/pipermail/gcc-patches/2026-May/717859.html I'd tried using splay-tree-utils to avoid linear behaviour for bitmap_first/last_set_bit. That led to the obvious follow-on thought: how easy would it be to use splay-tree-utils for every bitmap tree operation?
It turned out to be pretty easy. It was a net saving in lines of code and made some operations measurably faster. But in the end I decided not to submit the change. It would introduce lots of C++ abstraction into very time-sensitive functions, which would likely slow down compilers built with -O0. This series instead tries to get the speed-ups within the existing framework, except for a cleaned-up version of the patch linked above. Bootstrapped & regression-tested on aarch64-linux-gnu, powerpc64le-linux-gnu and x86_64-linux-gnu. OK to install? Richard
