reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
702 return Block; 742 void autoCreateBlock() { if (!Block) Block = createBlock(); } 742 void autoCreateBlock() { if (!Block) Block = createBlock(); } 1489 Block = nullptr; // the EXIT block is empty. Create all other blocks lazily. 1525 Block = createBlock(); 1537 addSuccessor(B, Block, true); 1630 return Block; 1649 appendInitializer(Block, I); 1667 appendStmt(Block, Default); 1670 Block = R; 1671 return Block; 1677 return Block; 1725 appendLoopExit(Block, LoopStmt); 1798 appendLifetimeEnds(Block, *I, S); 1804 appendLifetimeEnds(Block, *I, S); 1819 appendScopeEnd(Block, *I, S); 1852 appendScopeEnd(Block, *I, S); 1866 Block = createNoReturnBlock(); 1872 appendScopeEnd(Block, *I, S); 1873 appendAutomaticObjDtor(Block, *I, S); 1892 appendBaseDtor(Block, &VI); 1902 appendBaseDtor(Block, &BI); 1920 appendMemberDtor(Block, FI); 2265 return Block; 2289 return Block; 2331 appendStmt(Block, S); 2339 CFGBlock *B = Block; 2359 appendStmt(Block, A); 2362 return Block; 2369 appendStmt(Block, U); 2379 CFGBlock *ConfluenceBlock = Block ? Block : createBlock(); 2379 CFGBlock *ConfluenceBlock = Block ? Block : createBlock(); 2431 Block = RHSBlock; 2460 Block = LHSBlock; 2490 appendStmt(Block, B); 2498 appendStmt(Block, B); 2506 appendStmt(Block, B); 2523 appendStmt(Block, E); 2525 return Block; 2535 Block = createBlock(false); 2536 Block->setTerminator(B); 2542 addSuccessor(Block, BreakJumpTarget.block); 2546 return Block; 2614 appendStmt(Block, C); 2620 appendCall(Block, C); 2625 if (Block) { 2626 Succ = Block; 2632 Block = createNoReturnBlock(); 2634 Block = createBlock(); 2636 appendCall(Block, C); 2641 addSuccessor(Block, TryTerminatedBlock); 2643 addSuccessor(Block, &cfg->getExit()); 2651 CFGBlock *ConfluenceBlock = Block ? Block : createBlock(); 2651 CFGBlock *ConfluenceBlock = Block ? Block : createBlock(); 2658 Block = nullptr; 2664 Block = nullptr; 2669 Block = createBlock(false); 2672 addSuccessor(Block, KnownVal.isFalse() ? nullptr : LHSBlock); 2673 addSuccessor(Block, KnownVal.isTrue() ? nullptr : RHSBlock); 2674 Block->setTerminator(C); 2688 CFGBlock *LastBlock = Block; 2716 CFGBlock *ConfluenceBlock = Block ? Block : createBlock(); 2716 CFGBlock *ConfluenceBlock = Block ? Block : createBlock(); 2728 Block = nullptr; 2735 Block = nullptr; 2753 Block = createBlock(false); 2757 addSuccessor(Block, LHSBlock, !KnownVal.isFalse()); 2758 addSuccessor(Block, RHSBlock, !KnownVal.isTrue()); 2759 Block->setTerminator(C); 2780 return Block; 2816 return Block; 2827 if (Block) { 2828 Succ = Block; 2829 Block = nullptr; 2851 appendStmt(Block, DS); 2860 CFGBlock *LastBlock = Block; 2883 maybeAddScopeBeginForVarDecl(Block, VD, DS); 2892 Block = createBlock(false); 2893 Block->setTerminator(DS); 2894 addSuccessor(Block, blockAfterStaticInit); 2895 addSuccessor(Block, B); 2896 B = Block; 2927 if (Block) { 2928 Succ = Block; 2941 Block = nullptr; 2952 else if (Block) { 2964 Block = nullptr; 2979 } else if (Block) { 3001 Block = createBlock(false); 3004 Block->setTerminator(I); 3011 addSuccessor(Block, ThenBlock, /* IsReachable = */ !KnownVal.isFalse()); 3012 addSuccessor(Block, ElseBlock, /* IsReachable = */ !KnownVal.isTrue()); 3046 Block = createBlock(false); 3057 if (!Block->hasNoReturnElement()) 3058 addSuccessor(Block, &cfg->getExit()); 3061 appendStmt(Block, S); 3067 return Block; 3082 CFGBlock *SEHExceptBlock = Block; 3096 Block = nullptr; 3112 Block = createBlock(false); 3113 Block->setTerminator(LS); 3119 addSuccessor(Block, SEHLeaveJumpTarget.block); 3123 return Block; 3131 if (Block) { 3134 SEHTrySuccessor = Block; 3152 Block = nullptr; 3180 Block = nullptr; 3187 CFGBlock *LabelBlock = Block; 3205 Block = nullptr; 3242 Block = createBlock(false); 3243 Block->setTerminator(G); 3250 BackpatchBlocks.push_back(JumpSource(Block, ScopePos)); 3254 addSuccessor(Block, JT.block); 3257 return Block; 3267 if (Block) { 3268 Succ = Block; 3272 Block = createBlock(); 3273 Block->setTerminator(G); 3275 BackpatchBlocks.push_back(JumpSource(Block, ScopePos)); 3279 return Block; 3306 if (Block) { 3309 LoopSuccessor = Block; 3325 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); 3331 Block = Succ = TransitionBlock = createBlock(false); 3341 if (Block) { 3342 assert(Block == Succ); 3345 Block = nullptr; 3404 Block = ExitConditionBlock; 3417 appendStmt(Block, DS); 3419 assert(Block == EntryConditionBlock); 3424 if (Block && badCFG) 3449 Block = createBlock(); 3455 Block = nullptr; 3473 appendStmt(Block, M); 3512 if (Block) { 3515 LoopSuccessor = Block; 3516 Block = nullptr; 3530 Block = ExitConditionBlock; 3537 if (Block) { 3540 Block = nullptr; 3550 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); 3568 else if (Block) { 3582 Block = createBlock(); 3604 Block = nullptr; 3610 appendStmt(Block, S); 3625 appendStmt(Block, E); 3627 CFGBlock *lastBlock = Block; 3664 if (Block) { 3667 LoopSuccessor = Block; 3668 Block = nullptr; 3680 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); 3706 else if (Block && badCFG) 3734 Block = ExitConditionBlock; 3735 Block = EntryConditionBlock = addStmt(C); 3748 appendStmt(Block, DS); 3750 assert(Block == EntryConditionBlock); 3755 if (Block && badCFG) 3774 Block = nullptr; 3784 return Block; 3796 Block = createBlock(false); 3799 addSuccessor(Block, &cfg->getExit()); 3811 appendObjCMessage(Block, ME); 3822 Block = createBlock(false); 3826 addSuccessor(Block, TryTerminatedBlock); 3829 addSuccessor(Block, &cfg->getExit()); 3843 if (Block) { 3846 LoopSuccessor = Block; 3862 Block = ExitConditionBlock; 3864 if (Block) { 3882 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); 3893 Block = nullptr; 3905 else if (Block) { 3915 Block = nullptr; 3933 Block = nullptr; 3947 Block = createBlock(false); 3948 Block->setTerminator(C); 3954 addSuccessor(Block, ContinueJumpTarget.block); 3958 return Block; 3965 appendStmt(Block, E); 3969 CFGBlock *lastBlock = Block; 3984 appendStmt(Block, SE); 4009 if (Block) { 4012 SwitchSuccessor = Block; 4037 Block = nullptr; 4057 if (Block) { 4077 Block = SwitchTerminatedBlock; 4085 appendStmt(Block, Terminator->getConditionVariableDeclStmt()); 4167 CFGBlock *CaseBlock = Block; 4186 Block = nullptr; 4203 DefaultCaseBlock = Block; 4222 Block = nullptr; 4235 if (Block) { 4238 TrySuccessor = Block; 4256 Block = nullptr; 4279 Block = nullptr; 4302 CFGBlock *CatchBlock = Block; 4321 Block = nullptr; 4357 if (Block) { 4360 LoopSuccessor = Block; 4375 Block = ConditionBlock; 4399 SaveAndRestore<CFGBlock*> save_Block(Block), save_Succ(Succ); 4404 Block = nullptr; 4415 assert(Block); 4418 Block = nullptr; 4441 Block = createBlock(); 4469 appendStmt(Block, E); 4489 appendConstructor(Block, C); 4497 appendStmt(Block, NE); 4504 Block = Visit(NE->getInitializer()); 4507 appendNewAllocator(Block, NE); 4510 Block = Visit(*NE->getArraySize()); 4514 Block = Visit(*I); 4516 return Block; 4522 appendStmt(Block, DE); 4529 appendDeleteDtor(Block, RD, DE); 4540 appendStmt(Block, E); 4555 appendConstructor(Block, C); 4563 appendStmt(Block, E); 4590 Block = createBlock(false); 4591 Block->setTerminator(I); 4592 addSuccessor(Block, IBlock); 4665 return Block; 4671 CFGBlock *B = Block; 4685 return Block; 4702 return Block; 4709 CFGBlock *B = Block; 4742 return Block; 4778 Block = createNoReturnBlock(); 4783 Block = createBlock(); 4790 appendTemporaryDtor(Block, E); 4792 B = Block; 4807 addSuccessor(Decision, Block, !Context.KnownExecuted.isFalse()); 4810 Block = Decision; 4817 CFGBlock *ConditionBlock = Block; 4826 CFGBlock *TrueBlock = Block; 4828 Block = ConditionBlock; 4837 Block = TrueBlock; 4842 return Block; 4849 appendStmt(Block, D); 4853 CFGBlock *B = Block;