This is an archive of the discontinued LLVM Phabricator instance.

[LAA-memchecks 2/3] Move number of memcheck threshold checking to LV
ClosedPublic

Authored by anemet on Mar 6 2015, 1:21 PM.

Details

Summary

Now the analysis won't "fail" if the memchecks exceed the threshold. It
is the transform pass' responsibility to perform the check.

This allows the transform pass to further analyze/eliminate the
memchecks. E.g. in Loop distribution we only need to check pointers
that end up in different partitions.

Note that there is a slight change of functionality here. The logic in
analyzeLoop is that if dependence checking fails due to non-constant
distance between the pointers, another attempt is made to prove safety
of the dependences purely using run-time checks.

Before this patch we could fail the loop due to exceeding the memcheck
threshold after the first step, now we only check the threshold in the
client after the full analysis. There is no measurable compile-time
effect but I wanted to record this here.

Diff Detail

Event Timeline

anemet updated this revision to Diff 21389.Mar 6 2015, 1:21 PM
anemet retitled this revision from to [LAA-memchecks 2/3] Move number of memcheck threshold checking to LV.
anemet updated this object.
anemet edited the test plan for this revision. (Show Details)
anemet added reviewers: hfinkel, aschwaighofer, nadav.
anemet added a subscriber: Unknown Object (MLST).
hfinkel accepted this revision.Mar 7 2015, 11:01 PM
hfinkel edited edge metadata.

LGTM.

This revision is now accepted and ready to land.Mar 7 2015, 11:01 PM
anemet closed this revision.Mar 10 2015, 12:16 PM

r231817