[PATCH] D89162: [SVE] Lower fixed length VECREDUCE_SEQ_FADD operation

Cameron McInally via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Oct 19 09:08:55 PDT 2020


cameron.mcinally updated this revision to Diff 299072.
cameron.mcinally retitled this revision from "[SVE][WIP] Lower fixed length VECREDUCE_SEQ_FADD operation" to "[SVE] Lower fixed length VECREDUCE_SEQ_FADD operation".
cameron.mcinally added a comment.

This is ready for review now...

1. Notice that I made useSVEForFixedLengthVectors*(...) public members so that the ExpandReductions pass can access them. I don't keep up with C++ best practices, so I'm not sure if there's a better way to grant access to these functions. Any suggestions?

2. Also, expansion is kind of ugly for this operation. The ExpandReduction pass is an IR pass that runs before legalization, so the decision to expand is done early. It would be possible to not rely on ExpandReductions, and rather extend normal legalization to do an ordered lowering, but that would be duplicating what is already done. Does anyone feel strongly that expansion should be moved to Legalize or otherwise?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D89162/new/

https://reviews.llvm.org/D89162

Files:
  llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
  llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/lib/Target/AArch64/AArch64ISelLowering.h
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
  llvm/test/CodeGen/AArch64/sve-fixed-length-fp-reduce.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89162.299072.patch
Type: text/x-patch
Size: 18584 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201019/e3b544d5/attachment.bin>


More information about the llvm-commits mailing list