This is kind of a long shot, and I'm not very optimistic about it, but
potential benefits are great.
One of the ideas that might work (and maybe even speed up
track-origins mode itself at the same time):
https://code.google.com/p/memory-sanitizer/issues/detail?id=6#c3
Origin propagation is cold code (as most of the values are
initialized), so by moving it far away from the rest (and guarding it by
one conditional branch per store) we could avoid icache pollution,
extra computation and perhaps leave more opportunities for origin
load-to-store forwardning (eliminating all origin loads that were
cancelled out). It would still either increase register pressure
(because calculation depends on almost all intermediates) or code
size, up to 2x.
Original issue reported on code.google.com by euge...@google.com on 9 Jul 2014 at 8:22
Original issue reported on code.google.com by
euge...@google.com
on 9 Jul 2014 at 8:22