This is an archive of the discontinued LLVM Phabricator instance.

Invalidate scop on encountering a complex control flow
ClosedPublic

Authored by chrisj on Mar 22 2016, 10:59 AM.

Details

Summary

We bail out if current scop has a complex control flow as this could lead to building of large domain conditions. This is to reduce compile time.
This addresses r26382.

Diff Detail

Repository
rL LLVM

Event Timeline

chrisj updated this revision to Diff 51302.Mar 22 2016, 10:59 AM
chrisj retitled this revision from to Invalidate scop on encountering a complex control flow.
chrisj updated this object.
chrisj added reviewers: grosser, jdoerfert.
chrisj set the repository for this revision to rL LLVM.
chrisj added a project: Restricted Project.
chrisj added a subscriber: pollydev.
grosser edited edge metadata.Mar 22 2016, 11:05 AM

Hi Chris,

do you happen to have a test case that would run in a timeout without this change but works nicely with this change?

Best,
Tobias

chrisj updated this revision to Diff 51349.Mar 22 2016, 2:52 PM
chrisj edited edge metadata.
grosser accepted this revision.Mar 22 2016, 2:57 PM
grosser edited edge metadata.

Nice.

include/polly/ScopInfo.h
2044 ↗(On Diff #51349)

This function is not used. Either use it below or drop it.

2047 ↗(On Diff #51349)

This function is also not used. If there are no external users expected I would also just drop it.

This revision is now accepted and ready to land.Mar 22 2016, 2:57 PM
chrisj updated this revision to Diff 51351.Mar 22 2016, 3:02 PM
chrisj edited edge metadata.

chrisj updated this revision to Diff 51351.

Chris, can you commit this patch yourself or should I commit it?

Tobias

This revision was automatically updated to reflect the committed changes.