Lines Matching refs:CFGBlock
351 CFGBlock *block = nullptr;
355 BlockScopePosPair(CFGBlock *b, LocalScope::const_iterator scopePos) in BlockScopePosPair()
453 CFGBlock *Block = nullptr;
456 CFGBlock *Succ = nullptr;
461 CFGBlock *SwitchTerminatedBlock = nullptr;
462 CFGBlock *DefaultCaseBlock = nullptr;
466 CFGBlock *TryTerminatedBlock = nullptr;
522 CFGBlock *VisitAddrLabelExpr(AddrLabelExpr *A, AddStmtChoice asc);
523 CFGBlock *VisitBinaryOperator(BinaryOperator *B, AddStmtChoice asc);
524 CFGBlock *VisitBreakStmt(BreakStmt *B);
525 CFGBlock *VisitCallExpr(CallExpr *C, AddStmtChoice asc);
526 CFGBlock *VisitCaseStmt(CaseStmt *C);
527 CFGBlock *VisitChooseExpr(ChooseExpr *C, AddStmtChoice asc);
528 CFGBlock *VisitCompoundStmt(CompoundStmt *C);
529 CFGBlock *VisitConditionalOperator(AbstractConditionalOperator *C,
531 CFGBlock *VisitContinueStmt(ContinueStmt *C);
532 CFGBlock *VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *E,
534 CFGBlock *VisitCXXCatchStmt(CXXCatchStmt *S);
535 CFGBlock *VisitCXXConstructExpr(CXXConstructExpr *C, AddStmtChoice asc);
536 CFGBlock *VisitCXXNewExpr(CXXNewExpr *DE, AddStmtChoice asc);
537 CFGBlock *VisitCXXDeleteExpr(CXXDeleteExpr *DE, AddStmtChoice asc);
538 CFGBlock *VisitCXXForRangeStmt(CXXForRangeStmt *S);
539 CFGBlock *VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr *E,
541 CFGBlock *VisitCXXTemporaryObjectExpr(CXXTemporaryObjectExpr *C,
543 CFGBlock *VisitCXXThrowExpr(CXXThrowExpr *T);
544 CFGBlock *VisitCXXTryStmt(CXXTryStmt *S);
545 CFGBlock *VisitDeclStmt(DeclStmt *DS);
546 CFGBlock *VisitDeclSubExpr(DeclStmt *DS);
547 CFGBlock *VisitDefaultStmt(DefaultStmt *D);
548 CFGBlock *VisitDoStmt(DoStmt *D);
549 CFGBlock *VisitExprWithCleanups(ExprWithCleanups *E, AddStmtChoice asc);
550 CFGBlock *VisitForStmt(ForStmt *F);
551 CFGBlock *VisitGotoStmt(GotoStmt *G);
552 CFGBlock *VisitIfStmt(IfStmt *I);
553 CFGBlock *VisitImplicitCastExpr(ImplicitCastExpr *E, AddStmtChoice asc);
554 CFGBlock *VisitConstantExpr(ConstantExpr *E, AddStmtChoice asc);
555 CFGBlock *VisitIndirectGotoStmt(IndirectGotoStmt *I);
556 CFGBlock *VisitLabelStmt(LabelStmt *L);
557 CFGBlock *VisitBlockExpr(BlockExpr *E, AddStmtChoice asc);
558 CFGBlock *VisitLambdaExpr(LambdaExpr *E, AddStmtChoice asc);
559 CFGBlock *VisitLogicalOperator(BinaryOperator *B);
560 std::pair<CFGBlock *, CFGBlock *> VisitLogicalOperator(BinaryOperator *B,
562 CFGBlock *TrueBlock,
563 CFGBlock *FalseBlock);
564 CFGBlock *VisitMaterializeTemporaryExpr(MaterializeTemporaryExpr *MTE,
566 CFGBlock *VisitMemberExpr(MemberExpr *M, AddStmtChoice asc);
567 CFGBlock *VisitObjCAtCatchStmt(ObjCAtCatchStmt *S);
568 CFGBlock *VisitObjCAtSynchronizedStmt(ObjCAtSynchronizedStmt *S);
569 CFGBlock *VisitObjCAtThrowStmt(ObjCAtThrowStmt *S);
570 CFGBlock *VisitObjCAtTryStmt(ObjCAtTryStmt *S);
571 CFGBlock *VisitObjCAutoreleasePoolStmt(ObjCAutoreleasePoolStmt *S);
572 CFGBlock *VisitObjCForCollectionStmt(ObjCForCollectionStmt *S);
573 CFGBlock *VisitObjCMessageExpr(ObjCMessageExpr *E, AddStmtChoice asc);
574 CFGBlock *VisitPseudoObjectExpr(PseudoObjectExpr *E);
575 CFGBlock *VisitReturnStmt(Stmt *S);
576 CFGBlock *VisitSEHExceptStmt(SEHExceptStmt *S);
577 CFGBlock *VisitSEHFinallyStmt(SEHFinallyStmt *S);
578 CFGBlock *VisitSEHLeaveStmt(SEHLeaveStmt *S);
579 CFGBlock *VisitSEHTryStmt(SEHTryStmt *S);
580 CFGBlock *VisitStmtExpr(StmtExpr *S, AddStmtChoice asc);
581 CFGBlock *VisitSwitchStmt(SwitchStmt *S);
582 CFGBlock *VisitUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr *E,
584 CFGBlock *VisitUnaryOperator(UnaryOperator *U, AddStmtChoice asc);
585 CFGBlock *VisitWhileStmt(WhileStmt *W);
587 CFGBlock *Visit(Stmt *S, AddStmtChoice asc = AddStmtChoice::NotAlwaysAdd);
588 CFGBlock *VisitStmt(Stmt *S, AddStmtChoice asc);
589 CFGBlock *VisitChildren(Stmt *S);
590 CFGBlock *VisitNoRecurse(Expr *E, AddStmtChoice asc);
592 void maybeAddScopeBeginForVarDecl(CFGBlock *B, const VarDecl *VD, in maybeAddScopeBeginForVarDecl()
643 void setDecisionPoint(CFGBlock *S, CXXBindTemporaryExpr *E) { in setDecisionPoint()
650 CFGBlock *Succ = nullptr;
656 CFGBlock *VisitForTemporaryDtors(Stmt *E, bool BindToTemporary,
658 CFGBlock *VisitChildrenForTemporaryDtors(Stmt *E, TempDtorContext &Context);
659 CFGBlock *VisitBinaryOperatorForTemporaryDtors(BinaryOperator *E,
661 CFGBlock *VisitCXXBindTemporaryExprForTemporaryDtors(
663 CFGBlock *VisitConditionalOperatorForTemporaryDtors(
667 CFGBlock *FalseSucc = nullptr);
670 CFGBlock *NYS() { in NYS()
713 CFGBlock *createBlock(bool add_successor = true);
714 CFGBlock *createNoReturnBlock();
716 CFGBlock *addStmt(Stmt *S) { in addStmt()
720 CFGBlock *addInitializer(CXXCtorInitializer *I);
760 void appendStmt(CFGBlock *B, const Stmt *S) { in appendStmt()
769 void appendConstructor(CFGBlock *B, CXXConstructExpr *CE) { in appendConstructor()
780 void appendCall(CFGBlock *B, CallExpr *CE) { in appendCall()
794 void appendInitializer(CFGBlock *B, CXXCtorInitializer *I) { in appendInitializer()
798 void appendNewAllocator(CFGBlock *B, CXXNewExpr *NE) { in appendNewAllocator()
802 void appendBaseDtor(CFGBlock *B, const CXXBaseSpecifier *BS) { in appendBaseDtor()
806 void appendMemberDtor(CFGBlock *B, FieldDecl *FD) { in appendMemberDtor()
810 void appendObjCMessage(CFGBlock *B, ObjCMessageExpr *ME) { in appendObjCMessage()
824 void appendTemporaryDtor(CFGBlock *B, CXXBindTemporaryExpr *E) { in appendTemporaryDtor()
828 void appendAutomaticObjDtor(CFGBlock *B, VarDecl *VD, Stmt *S) { in appendAutomaticObjDtor()
832 void appendLifetimeEnds(CFGBlock *B, VarDecl *VD, Stmt *S) { in appendLifetimeEnds()
836 void appendLoopExit(CFGBlock *B, const Stmt *LoopStmt) { in appendLoopExit()
840 void appendDeleteDtor(CFGBlock *B, CXXRecordDecl *RD, CXXDeleteExpr *DE) { in appendDeleteDtor()
844 void prependAutomaticObjDtorsWithTerminator(CFGBlock *Blk,
847 void prependAutomaticObjLifetimeWithTerminator(CFGBlock *Blk,
852 prependAutomaticObjScopeEndWithTerminator(CFGBlock *Blk,
856 void addSuccessor(CFGBlock *B, CFGBlock *S, bool IsReachable = true) { in addSuccessor()
857 B->addSuccessor(CFGBlock::AdjacentBlock(S, IsReachable), in addSuccessor()
863 void addSuccessor(CFGBlock *B, CFGBlock *ReachableBlock, CFGBlock *AltBlock) { in addSuccessor()
864 B->addSuccessor(CFGBlock::AdjacentBlock(ReachableBlock, AltBlock), in addSuccessor()
868 void appendScopeBegin(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in appendScopeBegin()
873 void prependScopeBegin(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in prependScopeBegin()
878 void appendScopeEnd(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in appendScopeEnd()
883 void prependScopeEnd(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in prependScopeEnd()
1421 CFGBlock *B = addStmt(Statement); in buildCFG()
1443 CFGBlock *B = I->block; in buildCFG()
1463 if (CFGBlock *B = cfg->getIndirectGotoBlock()) in buildCFG()
1488 CFGBlock *CFGBuilder::createBlock(bool add_successor) { in createBlock()
1489 CFGBlock *B = cfg->createBlock(); in createBlock()
1498 CFGBlock *CFGBuilder::createNoReturnBlock() { in createNoReturnBlock()
1499 CFGBlock *B = createBlock(false); in createNoReturnBlock()
1506 CFGBlock *CFGBuilder::addInitializer(CXXCtorInitializer *I) { in addInitializer()
1547 if (CFGBlock *R = Visit(Child)) in addInitializer()
1942 void CFGBuilder::prependAutomaticObjDtorsWithTerminator(CFGBlock *Blk, in prependAutomaticObjDtorsWithTerminator()
1947 CFGBlock::iterator InsertPos in prependAutomaticObjDtorsWithTerminator()
1960 CFGBlock *Blk, LocalScope::const_iterator B, LocalScope::const_iterator E) { in prependAutomaticObjLifetimeWithTerminator()
1964 CFGBlock::iterator InsertPos = in prependAutomaticObjLifetimeWithTerminator()
1977 CFGBlock *Blk, LocalScope::const_iterator B, LocalScope::const_iterator E) { in prependAutomaticObjScopeEndWithTerminator()
1981 CFGBlock::iterator InsertPos = in prependAutomaticObjScopeEndWithTerminator()
1993 CFGBlock *CFGBuilder::Visit(Stmt * S, AddStmtChoice asc) { in Visit()
2192 CFGBlock *CFGBuilder::VisitStmt(Stmt *S, AddStmtChoice asc) { in VisitStmt()
2202 CFGBlock *CFGBuilder::VisitChildren(Stmt *S) { in VisitChildren()
2203 CFGBlock *B = Block; in VisitChildren()
2211 if (CFGBlock *R = Visit(Child)) in VisitChildren()
2217 CFGBlock *CFGBuilder::VisitAddrLabelExpr(AddrLabelExpr *A, in VisitAddrLabelExpr()
2229 CFGBlock *CFGBuilder::VisitUnaryOperator(UnaryOperator *U, in VisitUnaryOperator()
2239 CFGBlock *CFGBuilder::VisitLogicalOperator(BinaryOperator *B) { in VisitLogicalOperator()
2240 CFGBlock *ConfluenceBlock = Block ? Block : createBlock(); in VisitLogicalOperator()
2250 std::pair<CFGBlock*, CFGBlock*>
2253 CFGBlock *TrueBlock, in VisitLogicalOperator()
2254 CFGBlock *FalseBlock) { in VisitLogicalOperator()
2259 CFGBlock *RHSBlock, *ExitBlock; in VisitLogicalOperator()
2318 CFGBlock *LHSBlock = createBlock(false); in VisitLogicalOperator()
2322 CFGBlock *EntryLHSBlock = addStmt(LHS); in VisitLogicalOperator()
2343 CFGBlock *CFGBuilder::VisitBinaryOperator(BinaryOperator *B, in VisitBinaryOperator()
2370 CFGBlock *RBlock = Visit(B->getRHS()); in VisitBinaryOperator()
2371 CFGBlock *LBlock = Visit(B->getLHS()); in VisitBinaryOperator()
2378 CFGBlock *CFGBuilder::VisitNoRecurse(Expr *E, AddStmtChoice asc) { in VisitNoRecurse()
2386 CFGBlock *CFGBuilder::VisitBreakStmt(BreakStmt *B) { in VisitBreakStmt()
2424 CFGBlock *CFGBuilder::VisitCallExpr(CallExpr *C, AddStmtChoice asc) { in VisitCallExpr()
2508 CFGBlock *CFGBuilder::VisitChooseExpr(ChooseExpr *C, in VisitChooseExpr()
2510 CFGBlock *ConfluenceBlock = Block ? Block : createBlock(); in VisitChooseExpr()
2518 CFGBlock *LHSBlock = Visit(C->getLHS(), alwaysAdd); in VisitChooseExpr()
2524 CFGBlock *RHSBlock = Visit(C->getRHS(), alwaysAdd); in VisitChooseExpr()
2537 CFGBlock *CFGBuilder::VisitCompoundStmt(CompoundStmt *C) { in VisitCompoundStmt()
2547 CFGBlock *LastBlock = Block; in VisitCompoundStmt()
2553 if (CFGBlock *newBlock = addStmt(*I)) in VisitCompoundStmt()
2563 CFGBlock *CFGBuilder::VisitConditionalOperator(AbstractConditionalOperator *C, in VisitConditionalOperator()
2570 CFGBlock *ConfluenceBlock = Block ? Block : createBlock(); in VisitConditionalOperator()
2583 CFGBlock *LHSBlock = nullptr; in VisitConditionalOperator()
2596 CFGBlock *RHSBlock = Visit(C->getFalseExpr(), alwaysAdd); in VisitConditionalOperator()
2630 CFGBlock *CFGBuilder::VisitDeclStmt(DeclStmt *DS) { in VisitDeclStmt()
2640 CFGBlock *B = nullptr; in VisitDeclStmt()
2663 CFGBlock *CFGBuilder::VisitDeclSubExpr(DeclStmt *DS) { in VisitDeclSubExpr()
2676 CFGBlock *blockAfterStaticInit = nullptr; in VisitDeclSubExpr()
2714 CFGBlock *LastBlock = Block; in VisitDeclSubExpr()
2721 if (CFGBlock *newBlock = Visit(EC->getSubExpr())) in VisitDeclSubExpr()
2725 if (CFGBlock *newBlock = Visit(Init)) in VisitDeclSubExpr()
2733 if (CFGBlock *newBlock = addStmt(VA->getSizeExpr())) in VisitDeclSubExpr()
2743 CFGBlock *B = LastBlock; in VisitDeclSubExpr()
2756 CFGBlock *CFGBuilder::VisitIfStmt(IfStmt *I) { in VisitIfStmt()
2788 CFGBlock *ElseBlock = Succ; in VisitIfStmt()
2791 SaveAndRestore<CFGBlock*> sv(Succ); in VisitIfStmt()
2813 CFGBlock *ThenBlock; in VisitIfStmt()
2817 SaveAndRestore<CFGBlock*> sv(Succ); in VisitIfStmt()
2850 CFGBlock *LastBlock; in VisitIfStmt()
2890 CFGBlock *CFGBuilder::VisitReturnStmt(Stmt *S) { in VisitReturnStmt()
2919 CFGBlock *CFGBuilder::VisitSEHExceptStmt(SEHExceptStmt *ES) { in VisitSEHExceptStmt()
2928 CFGBlock *SEHExceptBlock = Block; in VisitSEHExceptStmt()
2947 CFGBlock *CFGBuilder::VisitSEHFinallyStmt(SEHFinallyStmt *FS) { in VisitSEHFinallyStmt()
2951 CFGBlock *CFGBuilder::VisitSEHLeaveStmt(SEHLeaveStmt *LS) { in VisitSEHLeaveStmt()
2972 CFGBlock *CFGBuilder::VisitSEHTryStmt(SEHTryStmt *Terminator) { in VisitSEHTryStmt()
2975 CFGBlock *SEHTrySuccessor = nullptr; in VisitSEHTryStmt()
2987 CFGBlock *PrevSEHTryTerminatedBlock = TryTerminatedBlock; in VisitSEHTryStmt()
2990 CFGBlock *NewTryTerminatedBlock = createBlock(false); in VisitSEHTryStmt()
2999 CFGBlock *ExceptBlock = VisitSEHExceptStmt(Except); in VisitSEHTryStmt()
3015 SaveAndRestore<CFGBlock *> save_try(TryTerminatedBlock, in VisitSEHTryStmt()
3030 CFGBlock *CFGBuilder::VisitLabelStmt(LabelStmt *L) { in VisitLabelStmt()
3033 CFGBlock *LabelBlock = Block; in VisitLabelStmt()
3059 CFGBlock *CFGBuilder::VisitBlockExpr(BlockExpr *E, AddStmtChoice asc) { in VisitBlockExpr()
3060 CFGBlock *LastBlock = VisitNoRecurse(E, asc); in VisitBlockExpr()
3063 CFGBlock *Tmp = Visit(CopyExpr); in VisitBlockExpr()
3071 CFGBlock *CFGBuilder::VisitLambdaExpr(LambdaExpr *E, AddStmtChoice asc) { in VisitLambdaExpr()
3072 CFGBlock *LastBlock = VisitNoRecurse(E, asc); in VisitLambdaExpr()
3076 CFGBlock *Tmp = Visit(Init); in VisitLambdaExpr()
3084 CFGBlock *CFGBuilder::VisitGotoStmt(GotoStmt *G) { in VisitGotoStmt()
3106 CFGBlock *CFGBuilder::VisitForStmt(ForStmt *F) { in VisitForStmt()
3107 CFGBlock *LoopSuccessor = nullptr; in VisitForStmt()
3142 CFGBlock *BodyBlock = nullptr, *TransitionBlock = nullptr; in VisitForStmt()
3149 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); in VisitForStmt()
3201 CFGBlock *EntryConditionBlock = nullptr, *ExitConditionBlock = nullptr; in VisitForStmt()
3284 CFGBlock *
3294 CFGBlock *CFGBuilder::VisitMemberExpr(MemberExpr *M, AddStmtChoice asc) { in VisitMemberExpr()
3302 CFGBlock *CFGBuilder::VisitObjCForCollectionStmt(ObjCForCollectionStmt *S) { in VisitObjCForCollectionStmt()
3334 CFGBlock *LoopSuccessor = nullptr; in VisitObjCForCollectionStmt()
3345 CFGBlock *ExitConditionBlock = createBlock(false); in VisitObjCForCollectionStmt()
3359 CFGBlock *EntryConditionBlock = Visit(S->getElement(), in VisitObjCForCollectionStmt()
3374 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); in VisitObjCForCollectionStmt()
3381 CFGBlock *LoopBackBlock = nullptr; in VisitObjCForCollectionStmt()
3388 CFGBlock *BodyBlock = addStmt(S->getBody()); in VisitObjCForCollectionStmt()
3410 CFGBlock *CFGBuilder::VisitObjCAutoreleasePoolStmt(ObjCAutoreleasePoolStmt *S) { in VisitObjCAutoreleasePoolStmt()
3416 CFGBlock *CFGBuilder::VisitObjCAtSynchronizedStmt(ObjCAtSynchronizedStmt *S) { in VisitObjCAtSynchronizedStmt()
3420 CFGBlock *SyncBlock = addStmt(S->getSynchBody()); in VisitObjCAtSynchronizedStmt()
3440 CFGBlock *CFGBuilder::VisitObjCAtTryStmt(ObjCAtTryStmt *S) { in VisitObjCAtTryStmt()
3445 CFGBlock *CFGBuilder::VisitPseudoObjectExpr(PseudoObjectExpr *E) { in VisitPseudoObjectExpr()
3451 CFGBlock *lastBlock = Block; in VisitPseudoObjectExpr()
3463 if (CFGBlock *B = Visit(Semantic)) in VisitPseudoObjectExpr()
3470 CFGBlock *CFGBuilder::VisitWhileStmt(WhileStmt *W) { in VisitWhileStmt()
3471 CFGBlock *LoopSuccessor = nullptr; in VisitWhileStmt()
3497 CFGBlock *BodyBlock = nullptr, *TransitionBlock = nullptr; in VisitWhileStmt()
3504 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); in VisitWhileStmt()
3537 CFGBlock *EntryConditionBlock = nullptr, *ExitConditionBlock = nullptr; in VisitWhileStmt()
3605 CFGBlock *CFGBuilder::VisitObjCAtCatchStmt(ObjCAtCatchStmt *S) { in VisitObjCAtCatchStmt()
3611 CFGBlock *CFGBuilder::VisitObjCAtThrowStmt(ObjCAtThrowStmt *S) { in VisitObjCAtThrowStmt()
3630 CFGBlock *CFGBuilder::VisitObjCMessageExpr(ObjCMessageExpr *ME, in VisitObjCMessageExpr()
3640 CFGBlock *CFGBuilder::VisitCXXThrowExpr(CXXThrowExpr *T) { in VisitCXXThrowExpr()
3660 CFGBlock *CFGBuilder::VisitDoStmt(DoStmt *D) { in VisitDoStmt()
3661 CFGBlock *LoopSuccessor = nullptr; in VisitDoStmt()
3677 CFGBlock *ExitConditionBlock = createBlock(false); in VisitDoStmt()
3678 CFGBlock *EntryConditionBlock = ExitConditionBlock; in VisitDoStmt()
3701 CFGBlock *BodyBlock = nullptr; in VisitDoStmt()
3706 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); in VisitDoStmt()
3741 CFGBlock *LoopBackBlock = createBlock(); in VisitDoStmt()
3764 CFGBlock *CFGBuilder::VisitContinueStmt(ContinueStmt *C) { in VisitContinueStmt()
3785 CFGBlock *CFGBuilder::VisitUnaryExprOrTypeTraitExpr(UnaryExprOrTypeTraitExpr *E, in VisitUnaryExprOrTypeTraitExpr()
3793 CFGBlock *lastBlock = Block; in VisitUnaryExprOrTypeTraitExpr()
3805 CFGBlock *CFGBuilder::VisitStmtExpr(StmtExpr *SE, AddStmtChoice asc) { in VisitStmtExpr()
3813 CFGBlock *CFGBuilder::VisitSwitchStmt(SwitchStmt *Terminator) { in VisitSwitchStmt()
3816 CFGBlock *SwitchSuccessor = nullptr; in VisitSwitchStmt()
3840 SaveAndRestore<CFGBlock*> save_switch(SwitchTerminatedBlock), in VisitSwitchStmt()
3902 CFGBlock *LastBlock = addStmt(Terminator->getCond()); in VisitSwitchStmt()
3960 CFGBlock *CFGBuilder::VisitCaseStmt(CaseStmt *CS) { in VisitCaseStmt()
3963 CFGBlock *TopBlock = nullptr, *LastBlock = nullptr; in VisitCaseStmt()
3970 CFGBlock *currentBlock = createBlock(false); in VisitCaseStmt()
3991 CFGBlock *CaseBlock = Block; in VisitCaseStmt()
4023 CFGBlock *CFGBuilder::VisitDefaultStmt(DefaultStmt *Terminator) { in VisitDefaultStmt()
4054 CFGBlock *CFGBuilder::VisitCXXTryStmt(CXXTryStmt *Terminator) { in VisitCXXTryStmt()
4057 CFGBlock *TrySuccessor = nullptr; in VisitCXXTryStmt()
4065 CFGBlock *PrevTryTerminatedBlock = TryTerminatedBlock; in VisitCXXTryStmt()
4068 CFGBlock *NewTryTerminatedBlock = createBlock(false); in VisitCXXTryStmt()
4081 CFGBlock *CatchBlock = VisitCXXCatchStmt(CS); in VisitCXXTryStmt()
4099 SaveAndRestore<CFGBlock*> save_try(TryTerminatedBlock, NewTryTerminatedBlock); in VisitCXXTryStmt()
4107 CFGBlock *CFGBuilder::VisitCXXCatchStmt(CXXCatchStmt *CS) { in VisitCXXCatchStmt()
4126 CFGBlock *CatchBlock = Block; in VisitCXXCatchStmt()
4150 CFGBlock *CFGBuilder::VisitCXXForRangeStmt(CXXForRangeStmt *S) { in VisitCXXForRangeStmt()
4180 CFGBlock *LoopSuccessor = nullptr; in VisitCXXForRangeStmt()
4194 CFGBlock *ConditionBlock = createBlock(false); in VisitCXXForRangeStmt()
4200 CFGBlock *BeginConditionBlock = addStmt(C); in VisitCXXForRangeStmt()
4223 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); in VisitCXXForRangeStmt()
4251 CFGBlock *LoopVarStmtBlock = addStmt(S->getLoopVarStmt()); in VisitCXXForRangeStmt()
4268 CFGBlock *Head = addStmt(S->getRangeStmt()); in VisitCXXForRangeStmt()
4274 CFGBlock *CFGBuilder::VisitExprWithCleanups(ExprWithCleanups *E, in VisitExprWithCleanups()
4289 CFGBlock *CFGBuilder::VisitCXXBindTemporaryExpr(CXXBindTemporaryExpr *E, in VisitCXXBindTemporaryExpr()
4305 CFGBlock *CFGBuilder::VisitCXXConstructExpr(CXXConstructExpr *C, in VisitCXXConstructExpr()
4318 CFGBlock *CFGBuilder::VisitCXXNewExpr(CXXNewExpr *NE, in VisitCXXNewExpr()
4343 CFGBlock *CFGBuilder::VisitCXXDeleteExpr(CXXDeleteExpr *DE, in VisitCXXDeleteExpr()
4360 CFGBlock *CFGBuilder::VisitCXXFunctionalCastExpr(CXXFunctionalCastExpr *E, in VisitCXXFunctionalCastExpr()
4371 CFGBlock *CFGBuilder::VisitCXXTemporaryObjectExpr(CXXTemporaryObjectExpr *C, in VisitCXXTemporaryObjectExpr()
4383 CFGBlock *CFGBuilder::VisitImplicitCastExpr(ImplicitCastExpr *E, in VisitImplicitCastExpr()
4392 CFGBlock *CFGBuilder::VisitConstantExpr(ConstantExpr *E, AddStmtChoice asc) { in VisitConstantExpr()
4396 CFGBlock *CFGBuilder::VisitIndirectGotoStmt(IndirectGotoStmt *I) { in VisitIndirectGotoStmt()
4398 CFGBlock *IBlock = cfg->getIndirectGotoBlock(); in VisitIndirectGotoStmt()
4416 CFGBlock *CFGBuilder::VisitForTemporaryDtors(Stmt *E, bool BindToTemporary, in VisitForTemporaryDtors()
4487 CFGBlock *B = Block; in VisitForTemporaryDtors()
4490 if (CFGBlock *R = VisitForTemporaryDtors( in VisitForTemporaryDtors()
4508 CFGBlock *CFGBuilder::VisitChildrenForTemporaryDtors(Stmt *E, in VisitChildrenForTemporaryDtors()
4519 CFGBlock *B = Block; in VisitChildrenForTemporaryDtors()
4522 if (CFGBlock *R = VisitForTemporaryDtors(Child, false, Context)) in VisitChildrenForTemporaryDtors()
4528 CFGBlock *CFGBuilder::VisitBinaryOperatorForTemporaryDtors( in VisitBinaryOperatorForTemporaryDtors()
4550 CFGBlock *RHSBlock = VisitForTemporaryDtors(E->getRHS(), false, Context); in VisitBinaryOperatorForTemporaryDtors()
4551 CFGBlock *LHSBlock = VisitForTemporaryDtors(E->getLHS(), false, Context); in VisitBinaryOperatorForTemporaryDtors()
4558 CFGBlock *LHSBlock = VisitForTemporaryDtors(E->getLHS(), false, Context); in VisitBinaryOperatorForTemporaryDtors()
4559 CFGBlock *RHSBlock = VisitForTemporaryDtors(E->getRHS(), false, Context); in VisitBinaryOperatorForTemporaryDtors()
4563 CFGBlock *CFGBuilder::VisitCXXBindTemporaryExprForTemporaryDtors( in VisitCXXBindTemporaryExprForTemporaryDtors()
4566 CFGBlock *B = VisitForTemporaryDtors(E->getSubExpr(), false, Context); in VisitCXXBindTemporaryExprForTemporaryDtors()
4599 CFGBlock *FalseSucc) { in InsertTempDtorDecisionBlock()
4605 CFGBlock *Decision = createBlock(false); in InsertTempDtorDecisionBlock()
4613 CFGBlock *CFGBuilder::VisitConditionalOperatorForTemporaryDtors( in VisitConditionalOperatorForTemporaryDtors()
4617 CFGBlock *ConditionBlock = Block; in VisitConditionalOperatorForTemporaryDtors()
4618 CFGBlock *ConditionSucc = Succ; in VisitConditionalOperatorForTemporaryDtors()
4626 CFGBlock *TrueBlock = Block; in VisitConditionalOperatorForTemporaryDtors()
4648 CFGBlock *CFG::createBlock() { in createBlock()
4652 CFGBlock *Mem = getAllocator().Allocate<CFGBlock>(); in createBlock()
4653 new (Mem) CFGBlock(NumBlockIDs++, BlkBVC, this); in createBlock()
4739 CFGBlock::AdjacentBlock::AdjacentBlock(CFGBlock *B, bool IsReachable) in AdjacentBlock()
4744 CFGBlock::AdjacentBlock::AdjacentBlock(CFGBlock *B, CFGBlock *AlternateBlock) in AdjacentBlock()
4749 void CFGBlock::addSuccessor(AdjacentBlock Succ, in addSuccessor()
4751 if (CFGBlock *B = Succ.getReachableBlock()) in addSuccessor()
4754 if (CFGBlock *UnreachableB = Succ.getPossiblyUnreachableBlock()) in addSuccessor()
4760 bool CFGBlock::FilterEdge(const CFGBlock::FilterOptions &F, in FilterEdge()
4761 const CFGBlock *From, const CFGBlock *To) { in FilterEdge()
4802 for (CFGBlock::const_iterator BI = (*I)->begin(), BEnd = (*I)->end() ; in StmtPrinterHelper()
5235 const CFGBlock &B, in print_block()
5301 for (CFGBlock::const_iterator I = B.begin(), E = B.end() ; in print_block()
5347 for (CFGBlock::const_pred_iterator I = B.pred_begin(), E = B.pred_end(); in print_block()
5352 CFGBlock *B = *I; in print_block()
5384 for (CFGBlock::const_succ_iterator I = B.succ_begin(), E = B.succ_end(); in print_block()
5389 CFGBlock *B = *I; in print_block()
5442 void CFGBlock::dump(const CFG* cfg, const LangOptions &LO, in dump()
5447 LLVM_DUMP_METHOD void CFGBlock::dump() const { in dump()
5453 void CFGBlock::print(raw_ostream &OS, const CFG* cfg, in print()
5461 void CFGBlock::printTerminator(raw_ostream &OS, in printTerminator()
5467 Stmt *CFGBlock::getTerminatorCondition(bool StripParens) { in getTerminatorCondition()
5555 static std::string getNodeLabel(const CFGBlock *Node, const CFG* Graph) { in getNodeLabel()