forked from OSchip/llvm-project
fecef6be9e
Summary: In LoopVersioning::addPHINodes we need to iterate over all users for a value "Inst", and if the user is outside of the VersionedLoop we should replace the use of "Inst" by using the value "PN" instead. Replacing the use of "Inst" for a user of "Inst" also means that Inst->users() is modified. So it is not safe to do the replace while iterating over Inst->users() as we used to do. This patch splits the task into two steps. First we iterate over Inst->users() to find all users that should be updated. Those users are saved into a local data structure on the stack. And then, in the second step, we do the actual updates. This time iterating over the local data structure. Reviewers: mzolotukhin, anemet Reviewed By: mzolotukhin Subscribers: llvm-commits Differential Revision: https://reviews.llvm.org/D47134 llvm-svn: 332958 |
||
---|---|---|
.. | ||
add-phi-update-users.ll | ||
basic.ll | ||
exit-block-dominates-rt-check-block.ll | ||
incorrect-phi.ll | ||
lcssa.ll | ||
loop-invariant-bound.ll | ||
noalias-version-twice.ll | ||
noalias.ll |