[all-commits] [llvm/llvm-project] cb2700: [ARM] Attempt to make Tail predication / RDA more ...

David Green via All-commits all-commits at lists.llvm.org
Sat Oct 10 06:50:49 PDT 2020


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

  Changed paths:
    M llvm/lib/CodeGen/ReachingDefAnalysis.cpp
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    A llvm/test/CodeGen/Thumb2/LowOverheadLoops/emptyblock.mir

  Log Message:
  -----------
  [ARM] Attempt to make Tail predication / RDA more resilient to empty blocks

There are a number of places in RDA where we assume the block will not
be empty. This isn't necessarily true for tail predicated loops where we
have removed instructions. This attempt to make the pass more resilient
to empty blocks, not casting pointers to machine instructions where they
would be invalid.

The test contains a case that was previously failing, but recently been
hidden on trunk. It contains an empty block to begin with to show a
similar error.

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




More information about the All-commits mailing list