This is an archive of the discontinued LLVM Phabricator instance.

Bitcode reader: replace DecodeChar6() with a lookup table (NFC)
ClosedPublic

Authored by mehdi_amini on Jan 17 2016, 9:51 PM.

Details

Summary

Measured to be more performant when reading bitcode.

Diff Detail

Event Timeline

mehdi_amini retitled this revision from to Bitcode reader: replace DecodeChar6() with a lookup table (NFC).
mehdi_amini updated this object.
mehdi_amini added reviewers: rafael, dexonsmith.
mehdi_amini added a subscriber: llvm-commits.
davide added a subscriber: davide.Jan 17 2016, 9:55 PM

I wonder if you can use a similar tecnique for encoding. They should be symmetric.

That's a good point, I've been focused on the Reader only because this is where my current bottle-neck is :)

rafael edited edge metadata.Jan 20 2016, 7:43 AM

What test have you used? I will give this a quick try on "opt -disable-verifier -disable-output" on a LTO of clang.

rafael accepted this revision.Jan 20 2016, 8:20 AM
rafael edited edge metadata.

LGTM.

The results I got with 10 runs were

master:

11.167095958 seconds time elapsed ( +- 0.34% )

patch:

10.860838399 seconds time elapsed ( +- 0.39% )

This revision is now accepted and ready to land.Jan 20 2016, 8:20 AM