In the lld perf builder 328686 had a negative impact in stalled-cycles-frontend. Somehow that stat is not showing on my machine, but the attached patch shows an improvement on cache-misses, which is probably a reasonable proxy.
My working theory is that given a large input the pieces vector is out of cache by the time initOffsetMap runs.
Both finalizeContents implementation have a convenient location for initializing the OffsetMap, so this seems the best solution.
Shouldn't this line be in the following if?