]> granicus.if.org Git - llvm/commit
[LoopInterchange] Fix handling of LCSSA nodes defined in headers and latches.
authorFlorian Hahn <flo@fhahn.com>
Sun, 26 May 2019 23:38:25 +0000 (23:38 +0000)
committerFlorian Hahn <flo@fhahn.com>
Sun, 26 May 2019 23:38:25 +0000 (23:38 +0000)
commita023a86ed98cb48c4a861b33b062c124c213c45e
tree159e5713b178b7912f88c11a1f7d5a454f84fc72
parent66495492c0af53c4597cace26c50f0dce44033fc
[LoopInterchange] Fix handling of LCSSA nodes defined in headers and latches.

The code to preserve LCSSA PHIs currently only properly supports
reduction PHIs and PHIs for values defined outside the latches.

This patch improves the LCSSA PHI handling to cover PHIs for values
defined in the latches.

Fixes PR41725.

Reviewers: efriedma, mcrosier, davide, jdoerfert

Reviewed By: jdoerfert

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@361743 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Scalar/LoopInterchange.cpp
test/Transforms/LoopInterchange/perserve-lcssa.ll [new file with mode: 0644]