reapply: SLPVectorizer: Cache results from memory alias checking.
authorErik Eckstein <eeckstein@apple.com>
Wed, 14 Jan 2015 11:24:47 +0000 (11:24 +0000)
committerErik Eckstein <eeckstein@apple.com>
Wed, 14 Jan 2015 11:24:47 +0000 (11:24 +0000)
commit13c4ab89ba18ff614b1ab294cddeaf6303ac24eb
tree9b5b5f2940e78b91ee40cafcf044e864c1c9088e
parent3cbd71c03bac065fbfc5928fe2ca9d5484c2c436
reapply: SLPVectorizer: Cache results from memory alias checking.

This speeds up the dependency calculations for blocks with many load/store/call instructions.
Beside the improved runtime, there is no functional change.

Compared to the original commit, this re-applied commit contains a bug fix which ensures that there are
no incorrect collisions in the alias cache.

llvm-svn: 225977
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp