Home
last modified time | relevance | path

Searched refs:LCtx (Results 1 – 25 of 61) sorted by relevance

123

/src/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/
H A DExprEngineC.cpp31 unsigned Count, const LocationContext *LCtx) { in conjureOffsetSymbolOnLocation() argument
35 return svalBuilder.conjureSymbolVal(Expression, LCtx, Ty, Count); in conjureOffsetSymbolOnLocation()
57 const LocationContext *LCtx = (*it)->getLocationContext(); in VisitBinaryOperator() local
58 SVal LeftV = state->getSVal(LHS, LCtx); in VisitBinaryOperator()
59 SVal RightV = state->getSVal(RHS, LCtx); in VisitBinaryOperator()
68 RightV = svalBuilder.conjureSymbolVal(nullptr, B->getRHS(), LCtx, in VisitBinaryOperator()
74 evalStore(Tmp2, B, LHS, *it, state->BindExpr(B, LCtx, ExprVal), in VisitBinaryOperator()
87 RightV, LeftV, RHS, svalBuilder, Count, LCtx); in VisitBinaryOperator()
89 LeftV, RightV, LHS, svalBuilder, Count, LCtx); in VisitBinaryOperator()
96 state = createTemporaryRegionIfNeeded(state, LCtx, LHS); in VisitBinaryOperator()
[all …]
H A DExprEngineCXX.cpp36 const LocationContext *LCtx = Pred->getLocationContext(); in CreateCXXTemporaryObject() local
38 state = createTemporaryRegionIfNeeded(state, LCtx, tempExpr, ME); in CreateCXXTemporaryObject()
64 const LocationContext *LCtx = Pred->getLocationContext(); in performTrivialCopy() local
89 PostStmt PS(CallExpr, LCtx); in performTrivialCopy()
93 State = State->BindExpr(CallExpr, LCtx, ThisVal); in performTrivialCopy()
95 State = bindReturnValue(Call, LCtx, State); in performTrivialCopy()
123 const LocationContext *LCtx, const ConstructionContext *CC, in computeObjectUnderConstruction() argument
139 return makeElementRegion(State, State->getLValue(Var, LCtx), Ty, in computeObjectUnderConstruction()
146 const CXXMethodDecl *CurCtor = cast<CXXMethodDecl>(LCtx->getDecl()); in computeObjectUnderConstruction()
147 Loc ThisPtr = SVB.getCXXThis(CurCtor, LCtx->getStackFrame()); in computeObjectUnderConstruction()
[all …]
H A DProgramState.cpp92 ProgramStateRef state, const StackFrameContext *LCtx, in removeDeadBindingsFromEnvironmentAndStore() argument
106 StoreRef newStore = StoreMgr->removeDeadBindings(NewState.getStore(), LCtx, in removeDeadBindingsFromEnvironmentAndStore()
116 const LocationContext *LCtx, in bindLoc() argument
123 return Mgr.getOwningEngine().processRegionChange(newState, MR, LCtx); in bindLoc()
130 const LocationContext *LCtx) const { in bindDefaultInitial()
135 return Mgr.getOwningEngine().processRegionChange(new_state, R, LCtx); in bindDefaultInitial()
139 ProgramState::bindDefaultZero(SVal loc, const LocationContext *LCtx) const { in bindDefaultZero()
144 return Mgr.getOwningEngine().processRegionChange(new_state, R, LCtx); in bindDefaultZero()
153 const LocationContext *LCtx, in invalidateRegions() argument
162 return invalidateRegionsImpl(Values, E, Count, LCtx, CausedByPointerEscape, in invalidateRegions()
[all …]
H A DExprEngine.cpp477 const LocationContext *LCtx, unsigned Idx) { in setIndexOfElementToConstruct() argument
478 auto Key = std::make_pair(E, LCtx->getStackFrame()); in setIndexOfElementToConstruct()
487 const LocationContext *LCtx) { in getPendingInitLoop() argument
488 const unsigned *V = State->get<PendingInitLoop>({E, LCtx->getStackFrame()}); in getPendingInitLoop()
494 const LocationContext *LCtx) { in removePendingInitLoop() argument
495 auto Key = std::make_pair(E, LCtx->getStackFrame()); in removePendingInitLoop()
503 const LocationContext *LCtx, in setPendingInitLoop() argument
505 auto Key = std::make_pair(E, LCtx->getStackFrame()); in setPendingInitLoop()
515 const LocationContext *LCtx) { in getIndexOfElementToConstruct() argument
517 State->get<IndexOfElementToConstruct>({E, LCtx->getStackFrame()}); in getIndexOfElementToConstruct()
[all …]
H A DExprEngineCallAndReturn.cpp183 const LocationContext *LCtx = Pred->getLocationContext(); in removeDeadOnEndOfFunction() local
184 removeDead(Pred, Dst, dyn_cast<ReturnStmt>(LastSt), LCtx, in removeDeadOnEndOfFunction()
185 LCtx->getAnalysisDeclContext()->getBody(), in removeDeadOnEndOfFunction()
228 const LocationContext *LCtx) { in removeStateTraitsUsedForArrayEvaluation() argument
230 assert(LCtx && "Location context must be provided!"); in removeStateTraitsUsedForArrayEvaluation()
233 if (getPendingInitLoop(State, E, LCtx)) in removeStateTraitsUsedForArrayEvaluation()
234 State = removePendingInitLoop(State, E, LCtx); in removeStateTraitsUsedForArrayEvaluation()
236 if (getIndexOfElementToConstruct(State, E, LCtx)) in removeStateTraitsUsedForArrayEvaluation()
237 State = removeIndexOfElementToConstruct(State, E, LCtx); in removeStateTraitsUsedForArrayEvaluation()
240 if (getPendingArrayDestruction(State, LCtx)) in removeStateTraitsUsedForArrayEvaluation()
[all …]
H A DLoopWidening.cpp47 const LocationContext *LCtx, in getWidenedLoopState() argument
58 ASTContext &ASTCtx = LCtx->getAnalysisDeclContext()->getASTContext(); in getWidenedLoopState()
59 const StackFrameContext *STC = LCtx->getStackFrame(); in getWidenedLoopState()
74 *LCtx->getDecl()->getBody(), ASTCtx); in getWidenedLoopState()
78 const VarRegion *VarMem = MRMgr.getVarRegion(VD, LCtx); in getWidenedLoopState()
97 BlockCount, LCtx, true, nullptr, nullptr, in getWidenedLoopState()
H A DPrettyStackTraceLocationContext.h29 const LocationContext *LCtx; variable
31 PrettyStackTraceLocationContext(const LocationContext *LC) : LCtx(LC) { in PrettyStackTraceLocationContext()
32 assert(LCtx); in PrettyStackTraceLocationContext()
37 LCtx->dumpStack(Out); in print()
H A DEnvironment.cpp98 const LocationContext *LCtx = Entry.getLocationContext(); in getSVal() local
128 return getSVal(EnvironmentEntry(RE, LCtx), svalBuilder); in getSVal()
134 return lookupExpr(EnvironmentEntry(S, LCtx)); in getSVal()
218 const LocationContext *LCtx, const char *NL, in printJson() argument
228 if (!LCtx) { in printJson()
235 LCtx = LC; in printJson()
242 assert(LCtx); in printJson()
244 Out << "{ \"pointer\": \"" << (const void *)LCtx->getStackFrame() in printJson()
248 LCtx->printJson(Out, NL, Space, IsDot, [&](const LocationContext *LC) { in printJson()
H A DSymbolManager.cpp84 os << getKindStr() << getSymbolID() << '{' << T << ", LC" << LCtx->getID(); in dumpToStream()
86 os << ", S" << S->getID(LCtx->getDecl()->getASTContext()); in dumpToStream()
182 const LocationContext *LCtx, in conjureSymbol() argument
187 SymbolConjured::Profile(profile, E, T, Count, LCtx, SymbolTag); in conjureSymbol()
191 SD = new (BPAlloc) SymbolConjured(SymbolCounter, E, LCtx, T, Count, SymbolTag); in conjureSymbol()
232 const LocationContext *LCtx, in getMetadataSymbol() argument
235 SymbolMetadata::Profile(profile, R, S, T, LCtx, Count, SymbolTag); in getMetadataSymbol()
239 SD = new (BPAlloc) SymbolMetadata(SymbolCounter, R, S, T, LCtx, Count, SymbolTag); in getMetadataSymbol()
512 if (LCtx == nullptr) in isLive()
515 if (LCtx != ELCtx) { in isLive()
[all …]
H A DLoopUnrolling.cpp33 const LocationContext *LCtx; member
36 : K(InK), LoopStmt(S), LCtx(L), maxStep(N) {} in LoopState()
50 const LocationContext *getLocationContext() const { return LCtx; } in getLocationContext()
57 ID.AddPointer(LCtx); in Profile()
323 auto LCtx = Pred->getLocationContext(); in updateLoopStack() local
330 LCtx == LS.getHead().getLocationContext()) { in updateLoopStack()
334 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack()
341 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack()
350 LoopState::getNormal(LoopStmt, LCtx, maxVisitOnPath)); in updateLoopStack()
353 LoopState::getUnrolled(LoopStmt, LCtx, innerMaxStep)); in updateLoopStack()
H A DExprEngineObjC.cpp25 const LocationContext *LCtx = Pred->getLocationContext(); in VisitLvalObjCIvarRefExpr() local
26 SVal baseVal = state->getSVal(Ex->getBase(), LCtx); in VisitLvalObjCIvarRefExpr()
31 Bldr.generateNode(Ex, Pred, state->BindExpr(Ex, LCtx, location)); in VisitLvalObjCIvarRefExpr()
54 const LocationContext *LCtx = Pred->getLocationContext(); in populateObjCForDestinationSet() local
57 ExprEngine::setWhetherHasMoreIteration(state, S, LCtx, hasElements); in populateObjCForDestinationSet()
69 SymbolRef Sym = SymMgr.conjureSymbol(elem, LCtx, T, in populateObjCForDestinationSet()
76 nextState = nextState->bindLoc(elementV, V, LCtx); in populateObjCForDestinationSet()
/src/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/
H A DCallEvent.h159 const LocationContext *LCtx; variable
186 : State(std::move(state)), LCtx(lctx), Origin(E), ElemRef(ElemRef) {} in CallEvent()
190 : State(std::move(state)), LCtx(lctx), Origin(D), ElemRef(ElemRef) {} in CallEvent()
194 : State(Original.State), LCtx(Original.LCtx), Origin(Original.Origin), in CallEvent()
238 const LocationContext *getLocationContext() const { return LCtx; } in getLocationContext()
502 const LocationContext *LCtx, in AnyFunctionCall() argument
504 : CallEvent(E, St, LCtx, ElemRef) {} in AnyFunctionCall()
506 const LocationContext *LCtx, in AnyFunctionCall() argument
508 : CallEvent(D, St, LCtx, ElemRef) {} in AnyFunctionCall()
541 const LocationContext *LCtx, in SimpleFunctionCall() argument
[all …]
H A DExprEngine.h395 const LocationContext *LCtx,
401 const LocationContext *LCtx) { in processRegionChange() argument
402 return processRegionChanges(state, nullptr, MR, MR, LCtx, nullptr); in processRegionChange()
407 const LocationContext *LCtx, const char *NL,
592 const LocationContext *LCtx, QualType T,
609 const LocationContext *LCtx);
614 const LocationContext *LCtx);
619 const LocationContext *LCtx);
632 const LocationContext *LCtx, PointerEscapeKind Kind,
655 const LocationContext *LCtx);
[all …]
H A DSymbolManager.h83 const LocationContext *LCtx; variable
90 LCtx(lctx), SymbolTag(symbolTag) { in SymbolConjured()
113 QualType T, unsigned Count, const LocationContext *LCtx, in Profile() argument
117 profile.AddPointer(LCtx); in Profile()
124 Profile(profile, S, T, Count, LCtx, SymbolTag); in Profile()
220 const LocationContext *LCtx; variable
226 const LocationContext *LCtx, unsigned count, const void *tag) in SymbolMetadata() argument
227 : SymbolData(SymbolMetadataKind, sym), R(r), S(s), T(t), LCtx(LCtx), in SymbolMetadata()
232 assert(LCtx); in SymbolMetadata()
243 const LocationContext *getLocationContext() const { return LCtx; } in getLocationContext()
[all …]
H A DSValBuilder.h175 const LocationContext *LCtx,
179 return SymMgr.conjureSymbol(stmt, LCtx, type, visitCount, symbolTag);
183 const LocationContext *LCtx,
186 return SymMgr.conjureSymbol(expr, LCtx, visitCount, symbolTag);
203 const LocationContext *LCtx,
207 const LocationContext *LCtx,
211 const LocationContext *LCtx,
219 const LocationContext *LCtx,
227 const LocationContext *LCtx,
236 const LocationContext *LCtx,
[all …]
H A DProgramState.h281 const LocationContext *LCtx, SVal V,
285 const LocationContext *LCtx,
289 const LocationContext *LCtx) const;
298 bindDefaultInitial(SVal loc, SVal V, const LocationContext *LCtx) const;
303 bindDefaultZero(SVal loc, const LocationContext *LCtx) const;
327 unsigned BlockCount, const LocationContext *LCtx,
334 const LocationContext *LCtx, bool CausesPointerEscape,
374 SVal getSVal(const Stmt *S, const LocationContext *LCtx) const;
376 SVal getSValAsScalarOrLoc(const Stmt *Ex, const LocationContext *LCtx) const;
474 void printJson(raw_ostream &Out, const LocationContext *LCtx = nullptr,
[all …]
/src/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/
H A DCXXSelfAssignmentChecker.cpp41 const auto *LCtx = C.getLocationContext(); in checkBeginFunction() local
42 const auto *MD = dyn_cast<CXXMethodDecl>(LCtx->getDecl()); in checkBeginFunction()
50 State->getSVal(SVB.getCXXThis(MD, LCtx->getStackFrame())); in checkBeginFunction()
51 auto Param = SVB.makeLoc(State->getRegion(MD->getParamDecl(0), LCtx)); in checkBeginFunction()
54 ProgramStateRef SelfAssignState = State->bindLoc(Param, ThisVal, LCtx); in checkBeginFunction()
64 ProgramStateRef NonSelfAssignState = State->bindLoc(Param, ParamVal, LCtx); in checkBeginFunction()
H A DSTLAlgorithmModeling.cpp133 const auto *LCtx = C.getLocationContext(); in Find() local
135 SVal RetVal = SVB.conjureSymbolVal(nullptr, CE, LCtx, C.blockCount()); in Find()
136 SVal Param = State->getSVal(CE->getArg(paramNum), LCtx); in Find()
138 auto StateFound = State->BindExpr(CE, LCtx, RetVal); in Find()
147 CE, LCtx, C.blockCount()); in Find()
160 Param = State->getSVal(CE->getArg(paramNum + 1), LCtx); in Find()
169 CE, LCtx, C.blockCount()); in Find()
185 auto StateNotFound = State->BindExpr(CE, LCtx, Param); in Find()
H A DCheckObjCDealloc.cpp160 bool isInInstanceDealloc(const CheckerContext &C, const LocationContext *LCtx,
167 const ObjCImplDecl *getContainingObjCImpl(const LocationContext *LCtx) const;
270 const LocationContext *LCtx = C.getLocationContext(); in checkBeginFunction() local
285 for (auto *PropImpl : getContainingObjCImpl(LCtx)->property_impls()) { in checkBeginFunction()
503 const LocationContext *LCtx = C.getLocationContext(); in diagnoseMissingReleases() local
533 cast<ObjCMethodDecl>(LCtx->getDecl())->getClassInterface()) in diagnoseMissingReleases()
607 assert(!LCtx->inTopFrame() || State->get<UnreleasedIvarMap>().isEmpty()); in diagnoseMissingReleases()
631 const LocationContext *LCtx = C.getLocationContext(); in findPropertyOnDeallocatingInstance() local
634 const ObjCImplDecl *Container = getContainingObjCImpl(LCtx); in findPropertyOnDeallocatingInstance()
788 ObjCDeallocChecker::getContainingObjCImpl(const LocationContext *LCtx) const { in getContainingObjCImpl()
[all …]
H A DCStringChecker.cpp124 const LocationContext *LCtx,
687 const LocationContext *LCtx = C.getLocationContext(); in CheckOverlap() local
688 SVal firstVal = state->getSVal(First.Expression, LCtx); in CheckOverlap()
689 SVal secondVal = state->getSVal(Second.Expression, LCtx); in CheckOverlap()
738 SVal LengthVal = state->getSVal(Size.Expression, LCtx); in CheckOverlap()
1291 const LocationContext *LCtx = C.getPredecessor()->getLocationContext(); in invalidateBufferAux() local
1295 return State->invalidateRegions(R, E, C.blockCount(), LCtx, in invalidateBufferAux()
1444 const LocationContext *LCtx = C.getLocationContext(); in evalCopyCommon() local
1445 SVal sizeVal = state->getSVal(Size.Expression, LCtx); in evalCopyCommon()
1453 SVal destVal = state->getSVal(Dest.Expression, LCtx); in evalCopyCommon()
[all …]
H A DTaint.cpp47 const LocationContext *LCtx, in addTaint() argument
49 return addTaint(State, State->getSVal(S, LCtx), Kind); in addTaint()
149 const LocationContext *LCtx, TaintTagType Kind) { in isTainted() argument
150 return !getTaintedSymbolsImpl(State, S, LCtx, Kind, /*ReturnFirstOnly=*/true) in isTainted()
172 const LocationContext *LCtx, in getTaintedSymbols() argument
174 return getTaintedSymbolsImpl(State, S, LCtx, Kind, /*ReturnFirstOnly=*/false); in getTaintedSymbols()
196 const LocationContext *LCtx, in getTaintedSymbolsImpl() argument
199 SVal val = State->getSVal(S, LCtx); in getTaintedSymbolsImpl()
H A DBuiltinFunctionChecker.cpp77 const LocationContext *LCtx = C.getLocationContext(); in evalCall() local
81 C.addTransition(state->BindExpr(CE, LCtx, Call.getArgSVal(0))); in evalCall()
121 C.addTransition(state->BindExpr(CE, LCtx, Arg)); in evalCall()
149 C.addTransition(state->BindExpr(CE, LCtx, V)); in evalCall()
H A DUndefBranchChecker.cpp34 const LocationContext *LCtx; member
37 : St(std::move(S)), LCtx(L) {} in FindUndefExpr()
52 return St->getSVal(Ex, LCtx).isUndef(); in MatchesCriteria()
/src/contrib/llvm-project/clang/lib/Analysis/
H A DAnalysisDeclContext.cpp505 for (const LocationContext *LCtx = this; LCtx; LCtx = LCtx->getParent()) { in dumpStack() local
506 switch (LCtx->getKind()) { in dumpStack()
510 if (const auto *D = dyn_cast<NamedDecl>(LCtx->getDecl())) in dumpStack()
514 if (const Stmt *S = cast<StackFrameContext>(LCtx)->getCallSite()) { in dumpStack()
521 if (const Decl *D = cast<BlockInvocationContext>(LCtx)->getDecl()) { in dumpStack()
543 for (const LocationContext *LCtx = this; LCtx; LCtx = LCtx->getParent()) { in printJson() local
545 << "{ \"lctx_id\": " << LCtx->getID() << ", \"location_context\": \""; in printJson()
546 switch (LCtx->getKind()) { in printJson()
550 if (const auto *D = dyn_cast<NamedDecl>(LCtx->getDecl())) in printJson()
556 if (const Stmt *S = cast<StackFrameContext>(LCtx)->getCallSite()) { in printJson()
[all …]
/src/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Checkers/
H A DTaint.h31 const LocationContext *LCtx,
66 const LocationContext *LCtx,
84 const LocationContext *LCtx,
103 const LocationContext *LCtx,

123