LoopVectorizer: Refactor the code that checks if it is safe to predicate blocks.
authorNadav Rotem <nrotem@apple.com>
Fri, 28 Jun 2013 20:46:27 +0000 (20:46 +0000)
committerNadav Rotem <nrotem@apple.com>
Fri, 28 Jun 2013 20:46:27 +0000 (20:46 +0000)
commit9ce3fedcdd372b75b1baa9cfdc053e796137cd93
tree1009c4d9f2ec6e155aa5dc35c10fa43b879cc9c0
parent66f82e68c3d858d6628287b400c7ce9ff771b6ec
LoopVectorizer:  Refactor the code that checks if it is safe to predicate blocks.
In this code we keep track of pointers that we are allowed to read from, if they are accessed by non-predicated blocks.
We use this list to allow vectorization of conditional loads in predicated blocks because we know that these addresses don't segfault.

llvm-svn: 185214
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp