[PATCH] D88926: [ARM] Attempt to make Tail predication / RDA more resilient to empty blocks

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 6 14:05:40 PDT 2020


dmgreen created this revision.
dmgreen added reviewers: SjoerdMeijer, samtebbs.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.
dmgreen requested review of this revision.

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.


https://reviews.llvm.org/D88926

Files:
  llvm/lib/CodeGen/ReachingDefAnalysis.cpp
  llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
  llvm/test/CodeGen/Thumb2/LowOverheadLoops/emptyblock.mir

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D88926.296540.patch
Type: text/x-patch
Size: 42387 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201006/78a34f27/attachment.bin>


More information about the llvm-commits mailing list