DeadCodeElimination: Fix liveout computation
authorTobias Grosser <tobias@grosser.es>
Mon, 14 Jul 2014 08:32:01 +0000 (08:32 +0000)
committerTobias Grosser <tobias@grosser.es>
Mon, 14 Jul 2014 08:32:01 +0000 (08:32 +0000)
commitc2920ff747d63acce348b6daffc49025605baf39
tree5a4486f2e774a225fff603a8bcd2b56c1ad2fa70
parent7366616a9370430a55fd96621180b423c2252193
DeadCodeElimination: Fix liveout computation

We move back to a simple approach where the liveout is the last must-write
statement for a data-location plus all may-write statements. The previous
approach did not work out. We would have to consider per-data-access
dependences, instead of per-statement dependences to correct it. As this adds
complexity and it seems we would not gain anything over the simpler approach
that we implement in this commit, I moved us back to the old approach of
computing the liveout, but enhanced it to also add may-write accesses.

We also fix the test case and explain why we can not perform dead code
elimination in this case.

llvm-svn: 212925
polly/lib/Transform/DeadCodeElimination.cpp
polly/test/DeadCodeElimination/non-affine-affine-mix.ll