This is an archive of the discontinued LLVM Phabricator instance.

[LoopAccesses] Add -analyze support
ClosedPublic

Authored by anemet on Feb 16 2015, 2:20 PM.

Details

Summary

The LoopInfo in combination with depth_first is used to enumerate the
loops.

Right now -analyze is not yet complete. It only prints the result of
the analysis, the report and the run-time checks. Printing the unsafe
depedences will require a bit more reshuffling which I'd like to do in a
follow-on to this patchset. Unsafe dependences are currently checked
via -debug-only=loop-accesses in the new test.

This is part of the patchset that converts LoopAccessAnalysis into an
actual analysis pass.

Diff Detail

Event Timeline

anemet updated this revision to Diff 20060.Feb 16 2015, 2:20 PM
anemet retitled this revision from to [LoopAccesses] Add -analyze support.
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.Feb 16 2015, 5:28 PM
hfinkel edited edge metadata.

LGTM.

lib/Analysis/LoopAccessAnalysis.cpp
1287

Don't need { } here.

test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll
2

If you're checking debug output in a test, you need to add:

; REQUIRES: asserts

and please do that in a separate test so that we don't lose primary test coverage when compiling without Asserts enabled.

This revision is now accepted and ready to land.Feb 16 2015, 5:28 PM
anemet added inline comments.Feb 16 2015, 5:39 PM
test/Analysis/LoopAccessAnalysis/unsafe-and-rt-checks.ll
2

Yes, thanks for saving me from another buildbot crisis :). Will split the test and add the REQUIRES.

anemet closed this revision.Mar 1 2015, 9:33 PM

r229898