[ZoneAlgo] Fix PHI inconsistency in invalid contexts.
authorMichael Kruse <llvm@meinersbur.de>
Fri, 10 May 2019 18:38:13 +0000 (18:38 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Fri, 10 May 2019 18:38:13 +0000 (18:38 +0000)
commit2698390c68b5af71d8d46854148115084b8b24a5
treec6a670f5ebd38daf623cd562fd73cbefcfdd216c
parente24ed10aac1d7a44591c0d3abb28d9447e21f013
[ZoneAlgo] Fix PHI inconsistency in invalid contexts.

PHI nodes (reads) could point to multiple instances of predecessor
blocks (PHI writes) when in an invalid context. Fix by removing PHI
instances that are in an invalid or ouside assumed context.

This fixes llvm.org/PR41656.

llvm-svn: 360454
polly/include/polly/Support/ISLTools.h
polly/lib/Support/ISLTools.cpp
polly/lib/Transform/ZoneAlgo.cpp
polly/test/DeLICM/pr41656.ll [new file with mode: 0644]
polly/test/DeLICM/reduction_looprotate_hoisted.ll
polly/test/ScopInfo/stmt_with_read_but_without_sideffect.ll