[all-commits] [llvm/llvm-project] 0aecf7: [CodeGen] Fix incorrectly detected reduction bug i...

Igor Kirillov via All-commits all-commits at lists.llvm.org
Mon Jul 10 05:55:16 PDT 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 0aecf7ff0d81930d3d46daf1c0552441b793d904
      https://github.com/llvm/llvm-project/commit/0aecf7ff0d81930d3d46daf1c0552441b793d904
  Author: Igor Kirillov <igor.kirillov at arm.com>
  Date:   2023-07-10 (Mon, 10 Jul 2023)

  Changed paths:
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions.ll

  Log Message:
  -----------
  [CodeGen] Fix incorrectly detected reduction bug in ComplexDeinterleaving pass

Using ACLE intrinsics, it is possible to create a loop that the
deinterleaving pass incorrectly classified as a reduction loop.
For example, for fixed-width vectors the loop was like below:

vector.body:
  %a = phi <4 x float> [ %init.a, %entry ], [ %updated.a, %vector.body ]
  %b = phi <4 x float> [ %init.b, %entry ], [ %updated.b, %vector.body ]
  ...
; Does not depend on %a or %b:
  %updated.a = ...
  %updated.b = ...

Differential Revision: https://reviews.llvm.org/D154598




More information about the All-commits mailing list