OSDN Git Service

[BasicBlockUtils] Check for nullptr before updating LoopInfo.
authorMichael Kruse <llvm@meinersbur.de>
Mon, 6 Mar 2017 15:33:05 +0000 (15:33 +0000)
committerMichael Kruse <llvm@meinersbur.de>
Mon, 6 Mar 2017 15:33:05 +0000 (15:33 +0000)
commit240ae8590d274b83414aff41944409873e8c66f9
tree69429d3c61add93eae3edbdbbbef6138d499a45c
parent5caa12b8d36ad028d686f12ce9d4f595533cc7ab
[BasicBlockUtils] Check for nullptr before updating LoopInfo.

LoopInfo::getLoopFor returns nullptr if a BB is not in a loop and only
then can the loop be updated to contain the newly created BBs. Add the
missing nullptr check to SplitBlockAndInsertIfThen.

Within LLVM, the only user of this function that also passes a LoopInfo
to be updated is InnerLoopVectorizer::predicateInstructions().
As the method's name implies, the BB operataten on will always be within
a loop, but out-of-tree users may also use it differently (here: Polly).

All other uses of LoopInfo::getLoopFor in the file properly check its
return value for nullptr.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@297016 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/Utils/BasicBlockUtils.cpp