[C++11] Add predecessors(BasicBlock *) / successors(BasicBlock *) iterator ranges.

Summary: This patch introduces two new iterator ranges and updates existing code to use it.  No functional change intended.

Test Plan: All tests (make check-all) still pass.

Reviewers: dblaikie

Reviewed By: dblaikie

Subscribers: llvm-commits

Differential Revision: http://reviews.llvm.org/D4481

llvm-svn: 213474
This commit is contained in:
Manuel Jacob
2014-07-20 09:10:11 +00:00
parent 4100ebd67b
commit d11beffef4
41 changed files with 166 additions and 226 deletions

View File

@@ -2934,9 +2934,8 @@ InnerLoopVectorizer::createBlockInMask(BasicBlock *BB) {
Value *Zero = ConstantInt::get(IntegerType::getInt1Ty(BB->getContext()), 0);
VectorParts BlockMask = getVectorValue(Zero);
// For each pred:
for (pred_iterator it = pred_begin(BB), e = pred_end(BB); it != e; ++it) {
VectorParts EM = createEdgeMask(*it, BB);
for (BasicBlock *Pred : predecessors(BB)) {
VectorParts EM = createEdgeMask(Pred, BB);
for (unsigned part = 0; part < UF; ++part)
BlockMask[part] = Builder.CreateOr(BlockMask[part], EM[part]);
}