Skip to content

Commit 83be69c

Browse files
authored
[VPlan][Coverity] Fix coverity CID1579964. (llvm#121805)
Fix for the Coverity hit with CID1579964 in VPlan.cpp. Coverity message with some context follows. [Cov] var_compare_op: Comparing TermBr to null implies that TermBr might be null. 434 } else if (TermBr && !TermBr->isConditional()) { 435 TermBr->setSuccessor(0, NewBB); 436 } else { 437 // Set each forward successor here when it is created, excluding 438 // backedges. A backward successor is set when the branch is created. 439 unsigned idx = PredVPSuccessors.front() == this ? 0 : 1; [Cov] CID 1579964: (#1 of 1): Dereference after null check (FORWARD_NULL) [Cov] var_deref_model: Passing null pointer TermBr to getSuccessor, which dereferences it.
1 parent c6c864d commit 83be69c

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

llvm/lib/Transforms/Vectorize/VPlan.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -438,10 +438,10 @@ void VPBasicBlock::connectToPredecessors(VPTransformState::CFGState &CFG) {
438438
// Set each forward successor here when it is created, excluding
439439
// backedges. A backward successor is set when the branch is created.
440440
unsigned idx = PredVPSuccessors.front() == this ? 0 : 1;
441-
assert(
442-
(!TermBr->getSuccessor(idx) ||
443-
(isa<VPIRBasicBlock>(this) && TermBr->getSuccessor(idx) == NewBB)) &&
444-
"Trying to reset an existing successor block.");
441+
assert((TermBr && (!TermBr->getSuccessor(idx) ||
442+
(isa<VPIRBasicBlock>(this) &&
443+
TermBr->getSuccessor(idx) == NewBB))) &&
444+
"Trying to reset an existing successor block.");
445445
TermBr->setSuccessor(idx, NewBB);
446446
}
447447
CFG.DTU.applyUpdates({{DominatorTree::Insert, PredBB, NewBB}});

0 commit comments

Comments
 (0)