[PATCH] D35430: DA: remove uses of GEP, only ask SCEV

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Mar 13 09:46:17 PDT 2018


As it is, this change unfortunately reduced the test coverage for 
LoopInterchange quite a bit.

On 06/03/2018 21:55, Sebastian Pop via llvm-commits wrote:
 > I disabled some interchange tests, as the DA is not able to >
 > disambiguate the dependence anymore. To make DA stronger, we may need
 > to compute a bound on the number of iterations based on the access
 > functions and array dimensions.

This is not ideal, because the tests that are now disabled are supposed 
to test stuff independent of DA.  I think what we need to do is to 
change those tests so that DA is not the issue.

 > The patch cleans up all the CHECKs in test/Transforms
 > /LoopInterchange/*.ll to avoid checking for snippets of LLVM IR: this
 > form of checking is very hard to maintain. Instead, we now check for
 > output of the pass that are more meaningful than dozens of lines of
 > LLVM IR. Some tests now require -debug messages and thusonly enabled
 > with asserts.

I understand the reason for making those tests easier to maintain. 
Requiring assertions for the tests is not too bad, although I think it 
would be better to use optimization remarks, which should be available 
in release mode too.

But we definitely need at least some tests that check the actual IR, to 
make sure the actual transformation is performed (or not performed) and 
correct.

Maybe this is the right time to finally simplify those tests, because 
they are indeed hard to maintain.


More information about the llvm-commits mailing list