Scalar: Avoid dereferencing end() in InductiveRangeCheckElimination
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 17 Aug 2016 01:16:17 +0000 (01:16 +0000)
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>
Wed, 17 Aug 2016 01:16:17 +0000 (01:16 +0000)
commit3bcaa812042ba8ffb598c96fae99b07528a0caa5
treebb22f0b6369870575415c29fef498c689853970a
parent194b6a3b1b1a99cc3c12c466a04320f271ebd8aa
Scalar: Avoid dereferencing end() in InductiveRangeCheckElimination

BasicBlock::Create isn't designed to take iterators (which might be
end()), but pointers (which might be nullptr).  Fix the UB that was
converting end() to a BasicBlock* by calling BasicBlock::getNextNode()
in the first place.

llvm-svn: 278883
llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp