This is an archive of the discontinued LLVM Phabricator instance.

[NFC][LoopVectorize] Add tail-folding RUN lines to existing SVE tests
Needs ReviewPublic

Authored by david-arm on Jul 18 2022, 1:15 AM.

Details

Summary

In this patch I am trying to increase our vectorisation test coverage
by adding extra RUN lines to all tests that don't currently use
tail-folding.

Diff Detail

Event Timeline

david-arm created this revision.Jul 18 2022, 1:15 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 18 2022, 1:15 AM
david-arm requested review of this revision.Jul 18 2022, 1:15 AM
Herald added a project: Restricted Project. · View Herald TranscriptJul 18 2022, 1:15 AM

Hi all, I realise this is a big patch. All I'm doing is adding RUN lines to existing tests so there is no functional change, although I did have to tweak some of the CHECK lines so that I could sometimes share the same CHECK line between RUN lines. If you feel this patch is too big to review I'm happy to split it up into smaller ones!

david-arm updated this revision to Diff 445515.Jul 18 2022, 8:10 AM
  • Updated tests to only include those tests that would fail with tail-folding enabled by default. These tests are a subset of those changed in D129137
Matt added a subscriber: Matt.Jul 18 2022, 11:32 AM
david-arm updated this revision to Diff 453969.Aug 19 2022, 6:04 AM
  • Rebased on top of D132219 to make the review easier.

Hey David,
About the manual changes, why not use the python script to add the extra check-lines for tail folding?

Hey David,
About the manual changes, why not use the python script to add the extra check-lines for tail folding?

So for many of the existing tests, e.g. scalable-reductions.ll, we've tried in the past to keep the number of CHECK lines to a minimum because most of the CHECK lines aren't required for the thing we want to test.The vectoriser generates lots of preheader instructions, plus it leaves in a lot of unnecessary code after the vector loop too. However, this does place more burden on the engineer (i.e. me in this case!) to hand-write the CHECK lines. I do think it makes the tests a bit more readable, although that's just my opinion!