This is an archive of the discontinued LLVM Phabricator instance.

[Polly] Unique value read accesses
ClosedPublic

Authored by Meinersbur on Dec 14 2015, 3:40 PM.

Details

Summary

Keep at most one value read MemoryAccess per value and statement; multiple generated loads do not have any additional effect. As one such MemoryAccess can cater multiple uses within the statement, the AccessInstruction property is not unique any more and set to nullptr.

Diff Detail

Repository
rL LLVM

Event Timeline

Meinersbur updated this revision to Diff 42792.Dec 14 2015, 3:40 PM
Meinersbur retitled this revision from to [Polly] Unique value read accesses.
Meinersbur updated this object.
Meinersbur added reviewers: grosser, jdoerfert.
Meinersbur added a project: Restricted Project.
Meinersbur added subscribers: llvm-commits, pollydev.
grosser edited edge metadata.Dec 16 2015, 8:46 AM

This looks generally good to me (besides some minor comments), but let's wait for the phone call tonight.

include/polly/ScopInfo.h
833 ↗(On Diff #42792)

elsewhere

1000 ↗(On Diff #42792)

... or unexisting.

1935 ↗(On Diff #42792)

statement

1942 ↗(On Diff #42792)

I would prefer to call this ensureValueRead() as this corresponds better with the surrounding code (the map is called ValueReads).

grosser accepted this revision.Dec 18 2015, 2:39 AM
grosser edited edge metadata.

Accepted if my minor comments have been addressed.

This revision is now accepted and ready to land.Dec 18 2015, 2:39 AM
Meinersbur edited edge metadata.
Meinersbur marked 4 inline comments as done.

Addressed Tobias' comments

This revision was automatically updated to reflect the committed changes.