[all-commits] [llvm/llvm-project] 564275: [ARM][LowOverheadLoops] Fix loop count chain

Sam Parker via All-commits all-commits at lists.llvm.org
Wed Feb 5 05:23:32 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 564275289da3bc574fc91148584972ac2d4c21f3
      https://github.com/llvm/llvm-project/commit/564275289da3bc574fc91148584972ac2d4c21f3
  Author: Sam Parker <sam.parker at arm.com>
  Date:   2020-02-05 (Wed, 05 Feb 2020)

  Changed paths:
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    A llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-chain.mir
    A llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-copy-prev-iteration.mir
    A llvm/test/CodeGen/Thumb2/LowOverheadLoops/loop-dec-liveout.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/remove-elem-moves.mir

  Log Message:
  -----------
  [ARM][LowOverheadLoops] Fix loop count chain

Checking that the use-def chain that performs the loop count
isSafeToRemove is not sufficient because it means that we can
remove register copies that we need to restore lr to its correct
value. This change now prevents the transform from kicking in for the
'remove-elem-moves' test which needs to addressed later on.

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




More information about the All-commits mailing list