OSDN Git Service

LoopVersioning: Respect convergent
authorMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 12 Jun 2019 14:05:58 +0000 (14:05 +0000)
committerMatt Arsenault <Matthew.Arsenault@amd.com>
Wed, 12 Jun 2019 14:05:58 +0000 (14:05 +0000)
commit76425803623ef73d526e4370b885aee6f60d12b1
treee860d70028162afb94f9990905bb0613232cb66a
parent5ea18e1c35caa0275c21f595e779c096c24c3a11
LoopVersioning: Respect convergent

This changes the standalone pass only. Arguably the utility class
itself should assert there are no convergent calls. However, a target
pass with additional context may still be able to version a loop if
all of the dynamic conditions are sufficiently uniform.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363165 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Utils/LoopVersioning.cpp
test/Transforms/LoopVersioning/convergent.ll [new file with mode: 0644]