[PATCH] D114174: [ARM][CodeGen] Add support for complex deinterleaving

Nicholas Guy via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Oct 12 08:38:11 PDT 2022


NickGuy updated this revision to Diff 467159.
NickGuy marked an inline comment as done.
NickGuy added a comment.

Thanks @dmgreen for the extra tests.

In D114174#3826540 <https://reviews.llvm.org/D114174#3826540>, @dmgreen wrote:

> ...
> The Incomplete nodes worry me as it looks like a rich source of bugs. If the identifyPartialMul and identifyNodeWithImplicitAdd need to work together more closely for the time being, that is probably fine. We can always change it in the future if needed.
> ...

I've removed the late lookup/replacement of incomplete nodes, and moved it closer to where the incomplete nodes are created. I've also made it only check against a single node, one that we know should match

> ...
>  And we probably need to check for fast-math flags, where we are generating fma. I also think that it is safer if nodes are uniquely identified from {real, imag} root pairs, not just from nodes that might contain either real or imag somewhere in them.
> ...

Done, we're now checking the fast-math flags (specifically `contract`)


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D114174

Files:
  llvm/include/llvm/CodeGen/ComplexDeinterleavingPass.h
  llvm/include/llvm/CodeGen/Passes.h
  llvm/include/llvm/CodeGen/TargetLowering.h
  llvm/include/llvm/InitializePasses.h
  llvm/lib/CodeGen/CMakeLists.txt
  llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
  llvm/lib/Target/ARM/ARMISelLowering.cpp
  llvm/lib/Target/ARM/ARMISelLowering.h
  llvm/lib/Target/ARM/ARMTargetMachine.cpp
  llvm/test/CodeGen/ARM/O3-pipeline.ll
  llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f16-add.ll
  llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f16-mul.ll
  llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f32-add.ll
  llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f32-mul.ll
  llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f64-add.ll
  llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-f64-mul.ll
  llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-mixed-cases.ll
  llvm/test/CodeGen/Thumb2/mve-complex-deinterleaving-uniform-cases.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D114174.467159.patch
Type: text/x-patch
Size: 98695 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20221012/3082cdc5/attachment-0001.bin>


More information about the llvm-commits mailing list