This is an archive of the discontinued LLVM Phabricator instance.

Convert RegisterSaveLocation from array of structs to struct of arrays
AbandonedPublic

Authored by saugustine on Mar 5 2020, 9:09 AM.

Details

Summary

This patch reduces the size of PrologInfo from 580 bytes on
x86_linux to 320, greatly reducing the amount of time spent in
memset and memcpy to initialize and move it around inside the
parseInstructions infrastructure.

Unfortunately, due to cache misses and other issues, the overall
performance of the unwind is slightly slower.

So abandoned.

Diff Detail

Event Timeline

saugustine created this revision.Mar 5 2020, 9:09 AM
Herald added a project: Restricted Project. · View Herald TranscriptMar 5 2020, 9:09 AM
saugustine abandoned this revision.Mar 5 2020, 9:22 AM
saugustine retitled this revision from Lazily save initialState of registers during unwind. to Convert RegisterSaveLocation from array of structs to struct of arrays.Mar 5 2020, 9:26 AM
saugustine edited the summary of this revision. (Show Details)