JumpThreadingPass::UnfoldSelectInstr - silence static analyzer dyn_cast<> null derefe...
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 17 Oct 2019 11:19:41 +0000 (11:19 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Thu, 17 Oct 2019 11:19:41 +0000 (11:19 +0000)
The static analyzer is warning about a potential null dereference, but we should be able to use cast<> directly and if not assert will fire for us.

llvm-svn: 375103

llvm/lib/Transforms/Scalar/JumpThreading.cpp

index ef02318..5e983ad 100644 (file)
@@ -2433,7 +2433,7 @@ void JumpThreadingPass::UnfoldSelectInstr(BasicBlock *Pred, BasicBlock *BB,
   //  |-----
   //  v
   // BB
-  BranchInst *PredTerm = dyn_cast<BranchInst>(Pred->getTerminator());
+  BranchInst *PredTerm = cast<BranchInst>(Pred->getTerminator());
   BasicBlock *NewBB = BasicBlock::Create(BB->getContext(), "select.unfold",
                                          BB->getParent(), BB);
   // Move the unconditional branch to NewBB.