OSDN Git Service

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)
commit4025fa5b85cf7e3df47c40c2a03e05afe44841fa
treecc212998268389ddbb125252933b684da7b460aa
parent5fa8186b8dcc0be77f4ab64b1ef46ad919315b54
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@185214 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Vectorize/LoopVectorize.cpp