The bitcode store string in a compressed fashion. This is nice for space, but
it is expensive to encode/decode. I experimented using the "blob" type in the
bitcode, and obtained non-negligible speedup.
The following patch provides 10% speedup on the execution of getLazyIRModule()
when linking "opt" with ThinLTO. The on-disk size is also increased by ~10%.
I left it under a flag in the writer for experiment purpose, but I'm seeking
opinion on the subject.
What happens if there's two BLOBs in the stream? Wouldn't you overwrite one with the other?