This is an archive of the discontinued LLVM Phabricator instance.

[msan] Strict checking of loads.
Needs ReviewPublic

Authored by eugenis on Dec 5 2017, 1:32 PM.
This revision needs review, but there are no reviewers specified.

Details

Reviewers
None
Summary

Insert shadow checks after each load.

DO NOT COMMIT. Experimental.

Event Timeline

eugenis created this revision.Dec 5 2017, 1:32 PM

Btw, this makes building msan unit tests insanely slow. Must be all the extra basic blocks.

I'm guessing this change does not exactly improve code size, too.

A reasonable compromise could be to check function call arguments. I.e. allow loading and storing (basically, copying) uninit values, but not passing them to other functions as arguments or return values.