Do not process SCoPs with infeasible runtime context in the new ScopInfoWrapperPass.
Do not compute dependences for such SCoPs in the new DependenceInfoWrapperPass.
Details
Diff Detail
Event Timeline
lib/Analysis/DependenceInfo.cpp | ||
---|---|---|
835 | For some SESE Regions, the SCoP does not have a feasible run time context. Hence the SCoP object becomes empty. Placed a null check in this patch in ScopInfoWrapperPass to prevent storing empty SCoPs to the hash map. I think this check is not mandatory, still it is better to have one. | |
lib/Analysis/ScopInfo.cpp | ||
4280 | Yes this solves the problem. Still, it would be advisable to have the other null check as well. |
Except the single comment LGTM.
lib/Analysis/DependenceInfo.cpp | ||
---|---|---|
835 | If it is not expected to ever happen make it an assert please. |
When does this happen exactly? Can't we just prevent it in the ScopInfo pass?