| /netbsd-src/external/apache2/llvm/dist/clang/lib/Analysis/ |
| H A D | CFG.cpp | 372 CFGBlock *block = nullptr; 376 BlockScopePosPair(CFGBlock *b, LocalScope::const_iterator scopePos) in BlockScopePosPair() 474 CFGBlock *Block = nullptr; 477 CFGBlock *Succ = nullptr; 482 CFGBlock *SwitchTerminatedBlock = nullptr; 483 CFGBlock *DefaultCaseBlock = nullptr; 487 CFGBlock *TryTerminatedBlock = nullptr; 543 CFGBlock *VisitInitListExpr(InitListExpr *ILE, AddStmtChoice asc); 544 CFGBlock *VisitAddrLabelExpr(AddrLabelExpr *A, AddStmtChoice asc); 545 CFGBlock *VisitBinaryOperator(BinaryOperator *B, AddStmtChoice asc); [all …]
|
| H A D | ReachableCode.cpp | 49 static bool isTrivialDoWhile(const CFGBlock *B, const Stmt *S) { in isTrivialDoWhile() 69 static bool isBuiltinAssumeFalse(const CFGBlock *B, const Stmt *S, in isBuiltinAssumeFalse() 84 static bool isDeadReturn(const CFGBlock *B, const Stmt *S) { in isDeadReturn() 88 const CFGBlock *Current = B; in isDeadReturn() 90 for (CFGBlock::const_reverse_iterator I = Current->rbegin(), in isDeadReturn() 294 static bool shouldTreatSuccessorsAsReachable(const CFGBlock *B, in shouldTreatSuccessorsAsReachable() 309 static unsigned scanFromBlock(const CFGBlock *Start, in scanFromBlock() 316 SmallVector<const CFGBlock*, 32> WL; in scanFromBlock() 329 const CFGBlock *item = WL.pop_back_val(); in scanFromBlock() 341 for (CFGBlock::const_succ_iterator I = item->succ_begin(), in scanFromBlock() [all …]
|
| H A D | CFGReachabilityAnalysis.cpp | 26 bool CFGReverseBlockReachabilityAnalysis::isReachable(const CFGBlock *Src, in isReachable() 27 const CFGBlock *Dst) { in isReachable() 42 void CFGReverseBlockReachabilityAnalysis::mapReachability(const CFGBlock *Dst) { in mapReachability() 43 SmallVector<const CFGBlock *, 11> worklist; in mapReachability() 55 const CFGBlock *block = worklist.pop_back_val(); in mapReachability() 70 for (CFGBlock::const_pred_iterator i = block->pred_begin(), in mapReachability()
|
| H A D | CalledOnceCheck.cpp | 512 clarify(const CFGBlock *Conditional, const CFGBlock *SuccWithoutCall) { in clarify() 578 static unsigned getSuccessorIndex(const CFGBlock *Parent, in getSuccessorIndex() 579 const CFGBlock *Child) { in getSuccessorIndex() 580 CFGBlock::const_succ_iterator It = llvm::find(Parent->succs(), Child); in getSuccessorIndex() 598 NotCalledClarifier(const CFGBlock *Parent, const CFGBlock *SuccInQuestion) in NotCalledClarifier() 601 const CFGBlock *Parent, *SuccInQuestion; 716 const CFGBlock *Exit = &FunctionCFG.getExit(); in check() 720 while (const CFGBlock *BB = Worklist.dequeue()) { in check() 739 void check(const CFGBlock *BB) { in check() 763 void checkEntry(const CFGBlock *Entry) { in checkEntry() [all …]
|
| H A D | CFGStmtMap.cpp | 21 typedef llvm::DenseMap<const Stmt*, CFGBlock*> SMap; 26 CFGBlock *CFGStmtMap::getBlock(Stmt *S) { in getBlock() 35 CFGBlock *B = I->second; in getBlock() 48 static void Accumulate(SMap &SM, CFGBlock *B) { in Accumulate() 50 for (CFGBlock::iterator I = B->begin(), E = B->end(); I != E; ++I) { in Accumulate() 56 CFGBlock *&Entry = SM[CS->getStmt()]; in Accumulate()
|
| H A D | LiveVariables.cpp | 33 llvm::DenseMap<const CFGBlock *, LiveVariables::LivenessValues> blocksEndToLiveness; 34 llvm::DenseMap<const CFGBlock *, LiveVariables::LivenessValues> blocksBeginToLiveness; 44 runOnBlock(const CFGBlock *block, LiveVariables::LivenessValues val, 135 bool LiveVariables::isLive(const CFGBlock *B, const VarDecl *D) { in isLive() 156 const CFGBlock *currentBlock; 161 const CFGBlock *CurrentBlock) in TransferFunctions() 457 LiveVariablesImpl::runOnBlock(const CFGBlock *block, in runOnBlock() 468 for (CFGBlock::const_reverse_iterator it = block->rbegin(), in runOnBlock() 521 for (const CFGBlock *B : cfg->nodes()) { in computeLiveness() 525 while (const CFGBlock *block = worklist.dequeue()) { in computeLiveness() [all …]
|
| H A D | UninitializedValues.cpp | 132 ValueVector &getValueVector(const CFGBlock *block) { in getValueVector() 138 bool updateValueVectorWithScratch(const CFGBlock *block); 148 Value getValue(const CFGBlock *block, const CFGBlock *dstBlock, in getValue() 173 static void printVector(const CFGBlock *block, ValueVector &bv, in printVector() 195 bool CFGBlockValues::updateValueVectorWithScratch(const CFGBlock *block) { in updateValueVectorWithScratch() 468 const CFGBlock *block; 476 const CFGBlock *block, AnalysisDeclContext &ac, in TransferFunctions() 557 SmallVector<const CFGBlock*, 32> Queue; in getUninitUse() 565 const CFGBlock *B = Queue.pop_back_val(); in getUninitUse() 571 for (CFGBlock::const_pred_iterator I = B->pred_begin(), E = B->pred_end(); in getUninitUse() [all …]
|
| H A D | Consumed.cpp | 61 static SourceLocation getFirstStmtLoc(const CFGBlock *Block) { in getFirstStmtLoc() 76 static SourceLocation getLastStmtLoc(const CFGBlock *Block) { in getLastStmtLoc() 82 for (CFGBlock::const_reverse_iterator BI = Block->rbegin(), in getLastStmtLoc() 1003 bool ConsumedBlockInfo::allBackEdgesVisited(const CFGBlock *CurrBlock, in allBackEdgesVisited() 1004 const CFGBlock *TargetBlock) { in allBackEdgesVisited() 1009 for (CFGBlock::const_pred_iterator PI = TargetBlock->pred_begin(), in allBackEdgesVisited() 1018 const CFGBlock *Block, ConsumedStateMap *StateMap, in addInfo() 1032 void ConsumedBlockInfo::addInfo(const CFGBlock *Block, in addInfo() 1045 ConsumedStateMap* ConsumedBlockInfo::borrowInfo(const CFGBlock *Block) { in borrowInfo() 1052 void ConsumedBlockInfo::discardInfo(const CFGBlock *Block) { in discardInfo() [all …]
|
| /netbsd-src/external/apache2/llvm/dist/clang/include/clang/Analysis/Analyses/ |
| H A D | Dominators.h | 38 using DomTreeNode = llvm::DomTreeNodeBase<CFGBlock>; 46 using DominatorTreeBase = llvm::DominatorTreeBase<CFGBlock, IsPostDom>; 61 CFGBlock *getRoot() const { in getRoot() 136 bool dominates(const CFGBlock *A, const CFGBlock *B) const { in dominates() 143 bool properlyDominates(const CFGBlock *A, const CFGBlock *B) const { in properlyDominates() 149 CFGBlock *findNearestCommonDominator(CFGBlock *A, CFGBlock *B) { in findNearestCommonDominator() 153 const CFGBlock *findNearestCommonDominator(const CFGBlock *A, in findNearestCommonDominator() 154 const CFGBlock *B) { in findNearestCommonDominator() 160 void changeImmediateDominator(CFGBlock *N, CFGBlock *NewIDom) { in changeImmediateDominator() 165 bool isReachableFromEntry(const CFGBlock *A) { in isReachableFromEntry() [all …]
|
| H A D | ThreadSafetyCommon.h | 102 void enterCFG(CFG *Cfg, const NamedDecl *D, const CFGBlock *First) {} in enterCFG() 105 void enterCFGBlock(const CFGBlock *B) {} in enterCFGBlock() 111 void handlePredecessor(const CFGBlock *Pred) {} in handlePredecessor() 114 void handlePredecessorBackEdge(const CFGBlock *Pred) {} in handlePredecessorBackEdge() 117 void enterCFGBlockBody(const CFGBlock *B) {} in enterCFGBlockBody() 126 void exitCFGBlockBody(const CFGBlock *B) {} in exitCFGBlockBody() 132 void handleSuccessor(const CFGBlock *Succ) {} in handleSuccessor() 135 void handleSuccessorBackEdge(const CFGBlock *Succ) {} in handleSuccessorBackEdge() 138 void exitCFGBlock(const CFGBlock *B) {} in exitCFGBlock() 141 void exitCFG(const CFGBlock *Last) {} in exitCFG() [all …]
|
| H A D | Consumed.h | 176 void intersectAtLoopHead(const CFGBlock *LoopHead, const CFGBlock *LoopBack, 221 bool allBackEdgesVisited(const CFGBlock *CurrBlock, 222 const CFGBlock *TargetBlock); 224 void addInfo(const CFGBlock *Block, ConsumedStateMap *StateMap, 226 void addInfo(const CFGBlock *Block, 229 ConsumedStateMap* borrowInfo(const CFGBlock *Block); 231 void discardInfo(const CFGBlock *Block); 233 std::unique_ptr<ConsumedStateMap> getInfo(const CFGBlock *Block); 235 bool isBackEdge(const CFGBlock *From, const CFGBlock *To); 236 bool isBackEdgeTarget(const CFGBlock *Block); [all …]
|
| H A D | PostOrderCFGView.h | 44 struct iterator { using value_type = const CFGBlock *; }; 51 std::pair<llvm::NoneType, bool> insert(const CFGBlock *Block) { in insert() 67 bool alreadySet(const CFGBlock *Block) { in alreadySet() 74 std::vector<const CFGBlock *> Blocks; 76 using BlockOrderTy = llvm::DenseMap<const CFGBlock *, unsigned>; 82 using iterator = std::vector<const CFGBlock *>::reverse_iterator; 83 using const_iterator = std::vector<const CFGBlock *>::const_reverse_iterator; 101 bool operator()(const CFGBlock *b1, const CFGBlock *b2) const;
|
| H A D | CFGReachabilityAnalysis.h | 24 class CFGBlock; variable 42 bool isReachable(const CFGBlock *Src, const CFGBlock *Dst); 45 void mapReachability(const CFGBlock *Dst);
|
| H A D | LiveVariables.h | 23 class CFGBlock; variable 62 const CFGBlock *currentBlock, in observeStmt() 78 bool isLive(const CFGBlock *B, const VarDecl *D);
|
| /netbsd-src/external/apache2/llvm/dist/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ |
| H A D | CoreEngine.h | 69 std::vector<std::pair<const CFGBlock *, const ExplodedNode *>>; 109 void HandleBlockExit(const CFGBlock *B, ExplodedNode *Pred); 113 void HandlePostStmt(const CFGBlock *B, unsigned StmtIdx, ExplodedNode *Pred); 115 void HandleBranch(const Stmt *Cond, const Stmt *Term, const CFGBlock *B, 118 const CFGBlock *B, ExplodedNode *Pred); 121 void HandleStaticInit(const DeclStmt *DS, const CFGBlock *B, 124 void HandleVirtualBaseBranch(const CFGBlock *B, ExplodedNode *Pred); 167 void addAbortedBlock(const ExplodedNode *node, const CFGBlock *block) { in addAbortedBlock() 194 void enqueue(ExplodedNodeSet &Set, const CFGBlock *Block, unsigned Idx); 201 void enqueueStmtNode(ExplodedNode *N, const CFGBlock *Block, unsigned Idx); [all …]
|
| H A D | WorkList.h | 23 class CFGBlock; variable 30 const CFGBlock *block; 35 const CFGBlock *B, unsigned idx) in WorkListUnit() 54 const CFGBlock *getBlock() const { return block; } in getBlock() 68 void enqueue(ExplodedNode *N, const CFGBlock *B, unsigned idx) { in enqueue()
|
| /netbsd-src/external/apache2/llvm/dist/clang/include/clang/Analysis/ |
| H A D | CFG.h | 576 class CFGBlock { 627 std::conditional_t<IsConst, const CFGBlock *, CFGBlock *>; 678 std::conditional_t<IsConst, const CFGBlock *, CFGBlock *>; 688 using ElementRef = typename CFGBlock::ElementRefImpl<IsConst>; 728 getIndexInBlock(CFGBlock::ElementRefIterator<true, IsOtherConst> E) { in getIndexInBlock() 734 getIndexInBlock(CFGBlock::ElementRefIterator<false, IsOtherConst> E) { in getIndexInBlock() 798 CFGBlock *ReachableBlock; 799 llvm::PointerIntPair<CFGBlock *, 2> UnreachableBlock; 803 AdjacentBlock(CFGBlock *B, bool IsReachable); 807 AdjacentBlock(CFGBlock *B, CFGBlock *AlternateBlock); [all …]
|
| H A D | ProgramPoint.h | 227 BlockEntrance(const CFGBlock *B, const LocationContext *L, 233 const CFGBlock *getBlock() const { in getBlock() 234 return reinterpret_cast<const CFGBlock*>(getData1()); in getBlock() 238 const CFGBlock *B = getBlock(); in getFirstElement() 252 BlockExit(const CFGBlock *B, const LocationContext *L) in BlockExit() 255 const CFGBlock *getBlock() const { in getBlock() 256 return reinterpret_cast<const CFGBlock*>(getData1()); in getBlock() 342 const CFGBlock *getBlock() const { in getBlock() 505 BlockEdge(const CFGBlock *B1, const CFGBlock *B2, const LocationContext *L) in BlockEdge() 511 const CFGBlock *getSrc() const { in getSrc() [all …]
|
| H A D | AnalysisDeclContext.h | 127 const CFGBlock *getBlockForRegisteredExpression(const Stmt *stmt); 182 const Stmt *S, const CFGBlock *Blk, 300 const CFGBlock *Block; 311 const Stmt *S, const CFGBlock *Block, unsigned BlockCount, in StackFrameContext() 321 const CFGBlock *getCallSiteBlock() const { return Block; } in getCallSiteBlock() 333 const CFGBlock *Block, unsigned BlockCount, in Profile() 401 const Stmt *S, const CFGBlock *Block, 472 const Stmt *S, const CFGBlock *Block, in getStackFrame()
|
| /netbsd-src/external/apache2/llvm/dist/clang/include/clang/Analysis/FlowSensitive/ |
| H A D | DataflowWorklist.h | 25 llvm::PriorityQueue<const CFGBlock *, 26 SmallVector<const CFGBlock *, QueueSize>, Comp> 35 void enqueueBlock(const CFGBlock *Block) { in enqueueBlock() 42 const CFGBlock *dequeue() { in dequeue() 45 const CFGBlock *B = WorkList.top(); in dequeue() 54 bool operator()(const CFGBlock *lhs, const CFGBlock *rhs) const { in operator() 70 void enqueueSuccessors(const CFGBlock *Block) { in enqueueSuccessors() 86 void enqueuePredecessors(const CFGBlock *Block) { in enqueuePredecessors()
|
| H A D | DataflowValues.h | 52 typedef llvm::DenseMap<const CFGBlock*, ValTy> BlockDataMapTy; 101 ValTy& getBlockData(const CFGBlock *B) { in getBlockData() 107 const ValTy& getBlockData(const CFGBlock *B) const { in getBlockData()
|
| /netbsd-src/external/apache2/llvm/dist/clang/lib/StaticAnalyzer/Checkers/ |
| H A D | UnreachableCodeChecker.cpp | 39 static inline const Stmt *getUnreachableStmt(const CFGBlock *CB); 40 static void FindUnreachableEntryPoints(const CFGBlock *CB, 43 static bool isInvalidPath(const CFGBlock *CB, const ParentMap &PM); 44 static inline bool isEmptyCFGBlock(const CFGBlock *CB); 78 const CFGBlock *CB = BE->getBlock(); in checkEndAnalysis() 96 const CFGBlock *CB = *I; in checkEndAnalysis() 130 for (CFGBlock::const_iterator ci = CB->begin(), ce = CB->end(); in checkEndAnalysis() 178 void UnreachableCodeChecker::FindUnreachableEntryPoints(const CFGBlock *CB, in FindUnreachableEntryPoints() 183 for (CFGBlock::const_pred_iterator I = CB->pred_begin(), E = CB->pred_end(); in FindUnreachableEntryPoints() 200 const Stmt *UnreachableCodeChecker::getUnreachableStmt(const CFGBlock *CB) { in getUnreachableStmt() [all …]
|
| H A D | AnalyzerStatsChecker.cpp | 45 llvm::SmallPtrSet<const CFGBlock*, 32> reachable; in checkEndAnalysis() 63 const CFGBlock *CB = BE->getBlock(); in checkEndAnalysis() 75 const CFGBlock *CB = *I; in checkEndAnalysis() 123 const CFGBlock *Exit = BE.getDst(); in checkEndAnalysis()
|
| /netbsd-src/external/apache2/llvm/dist/clang/lib/StaticAnalyzer/Core/ |
| H A D | CoreEngine.cpp | 84 const CFGBlock *Entry = &(L->getCFG()->getEntry()); in ExecuteWorkList() 96 const CFGBlock *Succ = *(Entry->succ_begin()); in ExecuteWorkList() 209 const CFGBlock *Blk = L.getDst(); in HandleBlockEdge() 295 void CoreEngine::HandleBlockExit(const CFGBlock * B, ExplodedNode *Pred) { in HandleBlockExit() 331 for (CFGBlock::const_succ_iterator it = B->succ_begin(), in HandleBlockExit() 333 if (const CFGBlock *succ = *it) { in HandleBlockExit() 425 const CFGBlock * B, ExplodedNode *Pred) { in HandleBranch() 436 const CFGBlock *B, in HandleCleanupTemporaryBranch() 447 void CoreEngine::HandleStaticInit(const DeclStmt *DS, const CFGBlock *B, in HandleStaticInit() 458 void CoreEngine::HandlePostStmt(const CFGBlock *B, unsigned StmtIdx, in HandlePostStmt() [all …]
|
| /netbsd-src/external/apache2/llvm/dist/clang/lib/Sema/ |
| H A D | AnalysisBasedWarnings.cpp | 188 static bool hasRecursiveCallInPath(const FunctionDecl *FD, CFGBlock &Block) { in hasRecursiveCallInPath() 220 llvm::SmallPtrSet<CFGBlock *, 16> Visited; in checkForRecursiveFunctionCall() 221 llvm::SmallVector<CFGBlock *, 16> WorkList; in checkForRecursiveFunctionCall() 231 CFGBlock *Block = WorkList.pop_back_val(); in checkForRecursiveFunctionCall() 234 if (CFGBlock *SuccBlock = *I) { in checkForRecursiveFunctionCall() 283 static bool throwEscapes(Sema &S, const CXXThrowExpr *E, CFGBlock &ThrowBlock, in throwEscapes() 285 SmallVector<CFGBlock *, 16> Stack; in throwEscapes() 292 CFGBlock &UnwindBlock = *Stack.back(); in throwEscapes() 322 llvm::function_ref<void(const CXXThrowExpr *, CFGBlock &)> Visit) { in visitReachableThrows() 325 for (CFGBlock *B : *BodyCFG) { in visitReachableThrows() [all …]
|