On Fri, Oct 19, 2018 at 8:46 AM Richard Biener <> wrote: > Yeah. I also noticed some 'obvious' shortcomings in the heuristics... > I guess in the end well predicted branches in the out of line code are > important...
What also would help is to put bitmaps on their own obstack to improve cache locality. As for the patch, I never hacked it with "production code" in mind, it was just a proof of concept. Not all of it is optimal or even safe as-is. For example you probably should add "gcc_checking_assert(!(BITMAP)->tree-form)" tests in the bmp_iter_*_init functions. And perhaps semi-splaying trees work better for the use cases of GCC (x.f. "Rehabilitation of an unloved child: semi-splaying"). I implemented classic splay trees because I could not find a semi-splay tree implementation in any of the usual text books while classic splay tree implementations were given in all of those books ;-) Ciao! Steven