[all-commits] [llvm/llvm-project] b0ce61: [ARM] Remove copies from low overhead phi inductions.

David Green via All-commits all-commits at lists.llvm.org
Thu Dec 10 02:35:34 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: b0ce615b2d29524b0b3541d07dd561665b710e79
      https://github.com/llvm/llvm-project/commit/b0ce615b2d29524b0b3541d07dd561665b710e79
  Author: David Green <david.green at arm.com>
  Date:   2020-12-10 (Thu, 10 Dec 2020)

  Changed paths:
    M llvm/lib/Target/ARM/MVEVPTOptimisationsPass.cpp
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/count_dominates_start.mir
    M llvm/test/CodeGen/Thumb2/mve-fma-loops.ll
    M llvm/test/CodeGen/Thumb2/mve-gather-scatter-tailpred.ll
    M llvm/test/CodeGen/Thumb2/mve-pred-vctpvpsel.ll

  Log Message:
  -----------
  [ARM] Remove copies from low overhead phi inductions.

The phi created in a low overhead loop gets created with a default
register class it seems. There are then copied inserted between the low
overhead loop pseudo instructions (which produce/consume GPRlr
instructions) and the phi holding the induction. This patch removes
those as a step towards attempting to make t2LoopDec and t2LoopEnd a
single instruction, and appears useful in it's own right as shown in the
tests.

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




More information about the All-commits mailing list