[all-commits] [llvm/llvm-project] e0c605: [ARM] Ensure instructions are simplified prior to ...

David Green via All-commits all-commits at lists.llvm.org
Thu Jun 10 12:18:58 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e0c605f6383c5a3aa8f5fa34ed4be9dc51b4a2ae
      https://github.com/llvm/llvm-project/commit/e0c605f6383c5a3aa8f5fa34ed4be9dc51b4a2ae
  Author: David Green <david.green at arm.com>
  Date:   2021-06-10 (Thu, 10 Jun 2021)

  Changed paths:
    M llvm/lib/Target/ARM/MVEGatherScatterLowering.cpp
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/remat-vctp.ll
    M llvm/test/CodeGen/Thumb2/lsll0.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-optimisation.ll
    A llvm/test/CodeGen/Thumb2/mve-gather-unused.ll
    M llvm/test/CodeGen/Thumb2/mve-phireg.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-xor.ll
    M llvm/test/CodeGen/Thumb2/mve-selectcc.ll
    M llvm/test/CodeGen/Thumb2/mve-vqdmulh.ll

  Log Message:
  -----------
  [ARM] Ensure instructions are simplified prior to GatherScatter lowering.

Surprisingly, not all instructions are always simplified after unrolling
and before MVE gather/scatter lowering. Notably dead gather operations
can be left around which cause the gather/scatter lowering pass to crash
if there are multiple gathers, some of which are dead.

This patch ensures they are simplified before we modify anything, which
can change some of the existing tests, including making them no-longer
test what they originally tested. This uses a combination of disabling
the gather/scatter lowering pass and adjusting the test to keep them as
before.

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




More information about the All-commits mailing list