aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Transforms/Utils/LoopVersioning.cpp
diff options
context:
space:
mode:
authorPhilip Reames <listmail@philipreames.com>2021-01-12 12:32:24 -0800
committerPhilip Reames <listmail@philipreames.com>2021-01-12 12:34:52 -0800
commit9f61fbd75ae1757d77988b37562de4d6583579aa (patch)
tree167fe57ef923be4800132c0786ae25796481e779 /llvm/lib/Transforms/Utils/LoopVersioning.cpp
parentd49974f9c98ebce5a679eced9f27add138b881fa (diff)
downloadllvm-9f61fbd75ae1757d77988b37562de4d6583579aa.zip
llvm-9f61fbd75ae1757d77988b37562de4d6583579aa.tar.gz
llvm-9f61fbd75ae1757d77988b37562de4d6583579aa.tar.bz2
[LV] Relax assumption that LCSSA implies single entry
This relates to the ongoing effort to support vectorization of multiple exit loops (see D93317). The previous code assumed that LCSSA phis were always single entry before the vectorizer ran. This was correct, but only because the vectorizer allowed only a single exiting edge. There's nothing in the definition of LCSSA which requires single entry phis. A common case where this comes up is with a loop with multiple exiting blocks which all reach a common exit block. (e.g. see the test updates) Differential Revision: https://reviews.llvm.org/D93725
Diffstat (limited to 'llvm/lib/Transforms/Utils/LoopVersioning.cpp')
0 files changed, 0 insertions, 0 deletions