[DeLICM] Fix unused zone for writes without in-between read.
commitabcce491c93dbee6e708d99aa9e2f778d8e5205d
authorMichael Kruse <llvm@meinersbur.de>
Mon, 21 Aug 2017 23:04:45 +0000 (21 23:04 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Mon, 21 Aug 2017 23:04:45 +0000 (21 23:04 +0000)
treeeef8030e1f900f1fc712ac2ec0b094c215b10428
parentd812257e6d8371cd28a271730e042c55f9e18009
[DeLICM] Fix unused zone for writes without in-between read.

The implementation of computeArrayUnused did not consider writes without
reads before, except for the first write in the SCoP. This caused it to
'forget' writes directly following another write.

This patch re-adds the entire reaching defintion of a write that has not
been covered before by a read.

This fixes Polybench 4.2 2mm where only one of the matrix-multiplication
was detected.

git-svn-id: https://llvm.org/svn/llvm-project/polly/trunk@311403 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Support/ISLTools.cpp
unittests/Isl/IslTest.cpp