This is an archive of the discontinued LLVM Phabricator instance.

Expose the SCEVAffinator and make it a member the SCoP class
ClosedPublic

Authored by jdoerfert on Aug 12 2015, 2:13 AM.

Details

Summary
This change has three major advantages:
  + The ScopInfo.cpp becomes smaller.
  + It allows to use the SCEVAffinator from outside the ScopInfo.
  + A member object allows state which in turn allows e.g., caching.

Diff Detail

Repository
rL LLVM

Event Timeline

jdoerfert updated this revision to Diff 31909.Aug 12 2015, 2:13 AM
jdoerfert retitled this revision from to Expose the SCEVAffinator and make it a member the SCoP class.
jdoerfert updated this object.
jdoerfert added reviewers: grosser, Meinersbur.
jdoerfert added a subscriber: Restricted Project.
grosser edited edge metadata.Aug 12 2015, 2:35 AM

This looks good to me.

There is just a TODO that you forgot in one @brief comment.

Best,
Tobias

Meinersbur accepted this revision.Aug 12 2015, 3:18 AM
Meinersbur edited edge metadata.
Meinersbur added inline comments.
include/polly/ScopInfo.h
784 ↗(On Diff #31909)

Could the Affinator object be owned by ScopStmt s.t. D11975 can key only for the SCEV?

include/polly/Support/SCEVAffinator.h
52 ↗(On Diff #31909)
This revision is now accepted and ready to land.Aug 12 2015, 3:18 AM
This revision was automatically updated to reflect the committed changes.