kripken/emscripten-fastcomp — pull request #27 by sunfishcode (2014-03-04 17:13:57+00:00)
Title: The alloca coloring patch

I structured the alloca coloring code as an alloca "manager" which also takes responsibility for frame layout in general. It has a pretty simple interface and it mostly operates independently from the rest of the JSWriter code.

I haven't done exhaustive benchmarking yet, but some highlights from what I've seen so far:
It speeds up the "insert" phase of the sqlite benchmark by 30%
It's about a 1% reduction in overall codesize on sqlite
On python, it eliminates 1424 of 4277 static allocas (about a 33% reduction)!

I measured compile time on bullet, python, sqlite, and poppler, and it's around 1% of llc time, which is itself a small percentage of overall compile time.