New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Polly] Timeout during scop construction due to overly complex sets being formed #25832
Comments
This test case is triggered in a couple of LNT failures I see. |
I am not sure how we can compute something more efficiently here, sorry. The example test case simply has up to 2^10 many paths from the region entry to the exit, thus it is not suprising it takes a while to describe them all. I would suggest to bail out, maybe if the number of parameters is too high or maybe if there are to many conditional branches in the same loop. |
Test case --- a/lib/Analysis/ScopInfo.cpp
So the issue is that isl_set_coalesce() does not work due to us bailing out at error blocks. I think either we should not bail out for error blocks or we should try to propagate conditions forward from earlier basic blocks. Maybe the ones that dominate the block we look at, that are at themselves postdominated by the block we look at and that are at the same loop depth as the basic block we look at. This test case also computes a rather complex assumed context (even after me commenting out the continue). My feeling is this assumed context could also be described with simpler sets. |
This has been addressed in r252750. |
1 similar comment
This has been addressed in r252750. |
Move to Polly Product. |
Extended Description
Polly with 252451 times out when running polly-opt -polly-process-unprofitable timeout.ll
It seems that the sets we are creating during scop construction are becoming very complex. We could probably timeout on this, but my feeling is that at least for this test case we should be able to compute the scop represenation more efficiently?
The text was updated successfully, but these errors were encountered: