[all-commits] [llvm/llvm-project] e7a6df: [ARM] Fix the operand used for WLS in ARMLowOverhe...

David Green via All-commits all-commits at lists.llvm.org
Fri May 21 01:30:01 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e7a6df68a6f5cd1122582b89f8cb3d4ebfa49c71
      https://github.com/llvm/llvm-project/commit/e7a6df68a6f5cd1122582b89f8cb3d4ebfa49c71
  Author: David Green <david.green at arm.com>
  Date:   2021-05-21 (Fri, 21 May 2021)

  Changed paths:
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/it-block-chain-store.mir
    M llvm/test/CodeGen/Thumb2/LowOverheadLoops/vmldava_in_vpt.mir
    M llvm/test/CodeGen/Thumb2/mve-memtp-loop.ll

  Log Message:
  -----------
  [ARM] Fix the operand used for WLS in ARMLowOverheadLoops

The Loop start instruction handled by the ARMLowOverheadLoops are:
$lr = t2DoLoopStart $r0
$lr = t2DoLoopStartTP $r1, $r0
$lr = t2WhileLoopStartLR $r0, %bb, implicit-def dead $cpsr
All three of these will have LR as the 0 argument, the trip count as the
1 argument.

This patch updated a few places in ARMLowOverheadLoops where the 0th arg
was being used for t2WhileLoopStartLR instructions as the trip count.
One place was entirely removed as it does not seem valid any more, the
case the code is trying to protect against should not be able to occur
with our correct-by-construction low overhead loops.

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




More information about the All-commits mailing list