forked from OSchip/llvm-project
Fix a handful of dead stores found by Clang's static analyzer. There's a bunch of others I haven't touched.
llvm-svn: 137867
This commit is contained in:
parent
2dfbcc4506
commit
c14efa7122
|
@ -1807,7 +1807,6 @@ CFGBlock *CFGBuilder::VisitObjCForCollectionStmt(ObjCForCollectionStmt *S) {
|
|||
|
||||
// Build the condition blocks.
|
||||
CFGBlock *ExitConditionBlock = createBlock(false);
|
||||
CFGBlock *EntryConditionBlock = ExitConditionBlock;
|
||||
|
||||
// Set the terminator for the "exit" condition block.
|
||||
ExitConditionBlock->setTerminator(S);
|
||||
|
@ -1821,7 +1820,8 @@ CFGBlock *CFGBuilder::VisitObjCForCollectionStmt(ObjCForCollectionStmt *S) {
|
|||
// Walk the 'element' expression to see if there are any side-effects. We
|
||||
// generate new blocks as necessary. We DON'T add the statement by default to
|
||||
// the CFG unless it contains control-flow.
|
||||
EntryConditionBlock = Visit(S->getElement(), AddStmtChoice::NotAlwaysAdd);
|
||||
CFGBlock *EntryConditionBlock = Visit(S->getElement(),
|
||||
AddStmtChoice::NotAlwaysAdd);
|
||||
if (Block) {
|
||||
if (badCFG)
|
||||
return 0;
|
||||
|
|
|
@ -2109,8 +2109,8 @@ Value *CodeGenFunction::EmitX86BuiltinExpr(unsigned BuiltinID,
|
|||
llvm::Type *PtrTy = Int8PtrTy;
|
||||
Value *One = llvm::ConstantInt::get(Int32Ty, 1);
|
||||
Value *Tmp = Builder.CreateAlloca(Int32Ty, One, "tmp");
|
||||
One = Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse_stmxcsr),
|
||||
Builder.CreateBitCast(Tmp, PtrTy));
|
||||
Builder.CreateCall(CGM.getIntrinsic(Intrinsic::x86_sse_stmxcsr),
|
||||
Builder.CreateBitCast(Tmp, PtrTy));
|
||||
return Builder.CreateLoad(Tmp, "stmxcsr");
|
||||
}
|
||||
case X86::BI__builtin_ia32_cmppd: {
|
||||
|
|
|
@ -1452,8 +1452,6 @@ RetainSummaryManager::getClassMethodSummary(Selector S, IdentifierInfo *ClsName,
|
|||
|
||||
void RetainSummaryManager::InitializeClassMethodSummaries() {
|
||||
assert(ScratchArgs.isEmpty());
|
||||
RetainSummary* Summ = getPersistentSummary(ObjCAllocRetE);
|
||||
|
||||
// Create the [NSAssertionHandler currentHander] summary.
|
||||
addClassMethSummary("NSAssertionHandler", "currentHandler",
|
||||
getPersistentSummary(RetEffect::MakeNotOwned(RetEffect::ObjC)));
|
||||
|
@ -1469,7 +1467,8 @@ void RetainSummaryManager::InitializeClassMethodSummaries() {
|
|||
// used for delegates that can release the object. When we have better
|
||||
// inter-procedural analysis we can potentially do something better. This
|
||||
// workaround is to remove false positives.
|
||||
Summ = getPersistentSummary(RetEffect::MakeNoRet(), DoNothing, StopTracking);
|
||||
RetainSummary *Summ =
|
||||
getPersistentSummary(RetEffect::MakeNoRet(), DoNothing, StopTracking);
|
||||
IdentifierInfo *NSObjectII = &Ctx.Idents.get("NSObject");
|
||||
addClsMethSummary(NSObjectII, Summ, "performSelector", "withObject",
|
||||
"afterDelay", NULL);
|
||||
|
|
Loading…
Reference in New Issue