[DeLICM] Use input access heuristic for mapped PHI WRITEs.
authorMichael Kruse <llvm@meinersbur.de>
Thu, 11 May 2017 22:56:59 +0000 (22:56 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Thu, 11 May 2017 22:56:59 +0000 (22:56 +0000)
commitd644ec764735a14943543ca1848c3b9fe77dfa0c
tree87027c728b8668bf382b8e7deac224e868c6ba41
parent4c27643398e52efb235c52d4ffa640893d6fcec7
[DeLICM] Use input access heuristic for mapped PHI WRITEs.

As with the scalar operand of the initial StoreInst, also use input
accesses when searching for new opportunities after mapping a
PHI write.

The same rational applies here: After LICM has been applied, the
promoted value will either be an instruction in the same statement
(in which case we fall back to try every scalar access of the
statement), or in another statement such that there will be such
an input access. In the latter case other scalars cannot have
originated from the same register promotion, at least not by LICM.

This mostly helps to decrease compilation time and makes debugging
easier by not pursuing unpromising routes. In some circumstances,
it may change the compiler's output.

llvm-svn: 302839
polly/lib/Transform/DeLICM.cpp