This is an archive of the discontinued LLVM Phabricator instance.

DFSan's set label function should avoid writing to the shadow memory when the write would not change the value in memory.
ClosedPublic

Authored by skerner on Aug 13 2014, 6:48 PM.

Details

Summary

When writing a label to shadow memory, don't write if the value is already set to the value being written. This dramatically reduces real memory consumption in programs with sparse use of labels.

Diff Detail

Repository
rL LLVM

Event Timeline

skerner updated this revision to Diff 12476.Aug 13 2014, 6:48 PM
skerner retitled this revision from to DFSan's set label function should avoid writing to the shadow memory when the write would not change the value in memory..
skerner updated this object.
skerner edited the test plan for this revision. (Show Details)
skerner added a reviewer: pcc.
skerner added a subscriber: Unknown Object (MLST).
skerner edited the test plan for this revision. (Show Details)Aug 13 2014, 6:49 PM
pcc accepted this revision.Aug 14 2014, 2:35 PM
pcc edited edge metadata.

LGTM

This is not the only place where we set labels. For example, the instrumentation pass may insert code that does it directly. But this seems like a strict improvement over the current situation.

This revision is now accepted and ready to land.Aug 14 2014, 2:35 PM
pcc closed this revision.Aug 18 2014, 6:56 PM
pcc updated this revision to Diff 12641.

Closed by commit rL215961 (authored by @pcc).