[all-commits] [llvm/llvm-project] 543406: [ARM] Allow findLoopPreheader to return headers wi...

David Green via All-commits all-commits at lists.llvm.org
Mon May 24 04:22:39 PDT 2021


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

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineLoopInfo.h
    M llvm/lib/CodeGen/MachineLoopInfo.cpp
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    M llvm/test/CodeGen/Thumb2/mve-memtp-branch.ll
    M llvm/test/CodeGen/Thumb2/mve-memtp-loop.ll

  Log Message:
  -----------
  [ARM] Allow findLoopPreheader to return headers with multiple loop successors

The findLoopPreheader function will currently not find a preheader if it
branches to multiple different loop headers. This patch adds an option
to relax that, allowing ARMLowOverheadLoops to process more loops
successfully. This helps with WhileLoopStart setup instructions that can
branch/fallthrough to the low overhead loop and to branch to a separate
loop from the same preheader (but I don't believe it is possible for
both loops to be low overhead loops).

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




More information about the All-commits mailing list