[PATCH] D41692: [Polly][WIP] Remove immediate dominator heuristic for error block detection.

lorenzo chelini via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Mar 30 09:29:10 PDT 2018


chelini added a comment.

In https://reviews.llvm.org/D41692#1051817, @jdoerfert wrote:

> I am confused. It seems you want to be smarter about the error blocks (which is necessary!) but this will just make them more greedy (too greedy in my experience). Did anybody check how this affects the test-suite or why the test cases fail [, after all, this says "ready to land"] ?
>
> If you want a generally smarter way to determine and work with error blocks I could also send you some patches.


Hi All, 
I checked the test cases. The reason why they fail is exactly the same. 
Consider for example, the test case scopInfo/mod_ref_read_pointers.ll. The BB labeled for.body is considered by the function isErrorBlock as an error block. The reason why is that it contains a call function with the “readonly” attribute but we are looking for the “readnone”. I am referring to line 430 in lib/Support/ScopHelper.cpp. 
As a consequence ScopBuilder will not build the access functions for the bb and you will end up with an empty scop. It is still not clear to me why we are looking for the “readnone” attribute to check if a function is pure. Is “readonly” too loose?
Looking forward to hearing from you.
Best regards,
Lorenzo Chelini


Repository:
  rPLO Polly

https://reviews.llvm.org/D41692





More information about the llvm-commits mailing list