This is an archive of the discontinued LLVM Phabricator instance.

Split SectionPiece in its parts
Needs ReviewPublic

Authored by espindola on Apr 6 2018, 6:53 PM.

Details

Reviewers
ruiu
Summary

More testing in an oldish xeon shows that almost half of the time in the getOffset method is because of one memory access, the one fetching OutputOff in

return Pieces[It->second].OutputOff;

putting all the OutputOff in a single vector improves it.

Diff Detail

Event Timeline

espindola created this revision.Apr 6 2018, 6:53 PM

Benchmark on a i7-7567U

smeenai added a subscriber: smeenai.Apr 6 2018, 9:27 PM

Patch is missing context.

now with context.

Results on a

E5-2697 v2

espindola edited the summary of this revision. (Show Details)

Have the OutputOffsets store just a uint64_t. This uses a bit of the hash for the live bit.

With this there is nothing to do after the load other that return the value, which should allow pipelining the relocation loop.