[all-commits] [llvm/llvm-project] 9ba523: [ARM] Simplification to ARMBlockPlacement Pass.

malJaj via All-commits all-commits at lists.llvm.org
Wed May 5 17:20:51 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 9ba5238c28daf930df3dcb9bc90b5c8531ae1466
      https://github.com/llvm/llvm-project/commit/9ba5238c28daf930df3dcb9bc90b5c8531ae1466
  Author: Malhar Jajoo <malhar.jajoo at arm.com>
  Date:   2021-05-06 (Thu, 06 May 2021)

  Changed paths:
    M llvm/lib/Target/ARM/ARMBlockPlacement.cpp
    M llvm/test/CodeGen/Thumb2/block-placement.mir
    M llvm/test/CodeGen/Thumb2/mve-float16regloops.ll
    M llvm/test/CodeGen/Thumb2/mve-float32regloops.ll

  Log Message:
  -----------
  [ARM] Simplification to ARMBlockPlacement Pass.

It simplifies the logic by moving the predecessor  (preHeader or it's predecessor) above the target (or loopExit),
instead of moving the target to after the predecessor.

Since the loopExit is no longer being moved, directions of any branches within/to it are unaffected.

While the predecessor is being moved, the backwards movement simplifies some considerations,
and the only consideration now required is that a forward WLS to the predecessor should not become backwards.

Reviewed By: dmgreen

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




More information about the All-commits mailing list