Commits

Nadav Rotem committed 5489a375f77
[Mangler] Accelerate the variable-length encoder (1/2). Before this change we were adding bits to an APInt bitstream by shifting and adding on every character. With this commit we maintain a local 64-bit value that we use as a local bitstream. Once we reach the local variable capacity we save the local value into the APInt bitstream. This reduces the number of shifts on the bitstream from once per character to about once every eight characters. This change speeds swift-compress that can now compress 60k mangled names per second (and reduce the size by ~40%). This is anout 43MB of names in eight seconds and includes the cost of the regular expression used by the tool (which is 24% of runtime). This commit changes the API of variable_encode so I had to re-generate the header files. The change to the header file includes some of the changes that I've made in previous commit. I’ll commit the auto-generated header files in a separate commit to make the patch readable.