]> granicus.if.org Git - llvm/commit
[CodeGen] Check for HardwareLoop Latch ExitBlock
authorSam Parker <sam.parker@arm.com>
Mon, 17 Jun 2019 13:39:28 +0000 (13:39 +0000)
committerSam Parker <sam.parker@arm.com>
Mon, 17 Jun 2019 13:39:28 +0000 (13:39 +0000)
commit5f13aa40626739698a88d18bf851a72064e6e7b8
treeef0110bb7410f3faec978e2c6dda8844a038f3e7
parent208eae0feb1d4b20b10f8226f885e603f5e23040
[CodeGen] Check for HardwareLoop Latch ExitBlock

The HardwareLoops pass finds exit blocks with a scevable exit count.
If the target specifies to update the loop counter in a register,
through a phi, we need to ensure that the exit block is a latch so
that we can insert the phi with the correct value for the incoming
edge.

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363556 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/TargetTransformInfo.h
lib/CodeGen/HardwareLoops.cpp
lib/Target/ARM/ARMTargetTransformInfo.cpp
test/Transforms/HardwareLoops/ARM/structure.ll
test/Transforms/HardwareLoops/unconditional-latch.ll [new file with mode: 0644]