This is an archive of the discontinued LLVM Phabricator instance.

[Polly][NFC][ScopBuilder] Move getNonHoistableCtx to ScopBuilder
ClosedPublic

Authored by domada on Jun 9 2019, 3:49 PM.

Details

Summary

This review is based on review: https://reviews.llvm.org/D62925 . It is part of moving hoistInvariantLoads function and all functions referenced only by hoistInvariantLoads to ScopBuilder.

Moved getNonHoistableCtx and functions listed below to ScopBuilder:
isRequiredInvariantLoad
hasNonHoistableBasePtrInScop
isAccessRangeTooComplex

These functions were referenced only by getNonHoistableCtx.

MaxDimensionsInAccessRange and MaxDisjunctsInDomain constant is marked
as extern and it is added to polly namespace. It is used by Scop and ScopBuilder classes.

MaxDimensionsInAccessRange constant moved to ScopBuilder. It is not used outside ScopBuilder.

Diff Detail

Event Timeline

domada created this revision.Jun 9 2019, 3:49 PM
domada edited the summary of this revision. (Show Details)Jun 9 2019, 3:55 PM
Meinersbur added inline comments.Jun 11 2019, 12:52 PM
polly/lib/Analysis/ScopInfo.cpp
115

There is not more use of this constant in ScopInfo.cpp. Can you move it entirely to ScopBuilder.cpp?

domada updated this revision to Diff 204180.Jun 11 2019, 3:24 PM
domada marked an inline comment as done.
domada edited the summary of this revision. (Show Details)

Moved MaxDimensionsInAccessRange constant to ScopBuilder.

domada marked an inline comment as done.Jun 11 2019, 3:46 PM
domada added inline comments.
polly/lib/Analysis/ScopInfo.cpp
115

Done in uploaded second versiob of this patch.

Meinersbur accepted this revision.Jun 11 2019, 4:22 PM

LGTM and thank you!

Can I commit for you?

This revision is now accepted and ready to land.Jun 11 2019, 4:22 PM

Yes, please do a commit.

This revision was automatically updated to reflect the committed changes.