OSDN Git Service

[LV] Fix-up external IV users after updating dominator tree
authorMatthew Simpson <mssimpso@codeaurora.org>
Mon, 9 Jan 2017 19:05:29 +0000 (19:05 +0000)
committerMatthew Simpson <mssimpso@codeaurora.org>
Mon, 9 Jan 2017 19:05:29 +0000 (19:05 +0000)
commit0a3fcf0325c30473d76a546a7e62a53281db442b
treeb0b90d7d9d7075bd4b16f194909fc5b78d0cd9ab
parentf7c0d4013c8da095ec35476f31613a4e6bbf4b5c
[LV] Fix-up external IV users after updating dominator tree

This patch delays the fix-up step for external induction variable users until
after the dominator tree has been properly updated. This should fix PR30742.
The SCEVExpander in InductionDescriptor::transform can generate code in the
wrong location if the dominator tree is not up-to-date. We should work towards
keeping the dominator tree up-to-date throughout the transformation.

Reference: https://llvm.org/bugs/show_bug.cgi?id=30742
Differential Revision: https://reviews.llvm.org/D28168

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@291462 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp
test/Transforms/LoopVectorize/iv_outside_user.ll