This is an archive of the discontinued LLVM Phabricator instance.

[AArch64][SVE] Fix assertions when vectorizing Freeze Instructions
AbandonedPublic

Authored by lizhijin on Apr 23 2022, 2:24 AM.

Diff Detail

Event Timeline

lizhijin created this revision.Apr 23 2022, 2:24 AM
lizhijin requested review of this revision.Apr 23 2022, 2:24 AM
Herald added a project: Restricted Project. · View Herald TranscriptApr 23 2022, 2:24 AM
david-arm added a subscriber: david-arm.

Hi @lizhijin, I'm not sure if this is really the right strategy here. From what I can tell the freeze instruction can be widened normally, so it feels wrong to have a special case for it in the VPReplicateRecipe. Can we not just ensure we choose the right vplan in the first place, i.e. VPWidenRecipe?

llvm/test/Transforms/LoopVectorize/AArch64/vector-freeze-sve.ll
13

Can you add more CHECK lines here please? It doesn't really seem to be defending anything except that the compiler doesn't crash. Perhaps at least add CHECK lines for a vector.body and the freeze instruction?

Matt added a subscriber: Matt.May 1 2022, 10:14 AM

Hi, @david-arm , I added a patch to change the strategy for vectorizing freeze instrucion, and tried to use VPWidenRecipe for freeze instruction. Can you help to review this patch : https://reviews.llvm.org/D125016

fhahn added a comment.May 13 2022, 5:17 AM

IIUC this patch is superseded by D125016 and this one can now be abandoned?

lizhijin abandoned this revision.Jan 18 2023, 5:34 PM

This patch is superseded by D125016 and this one can be abandoned.