Lines Matching refs:Stmt

191                  const Stmt *stmt) const;
412 llvm::SmallVector<Stmt *, 12> childrenBuf;
413 ArrayRef<Stmt *> children;
416 reverse_children(Stmt *S);
418 using iterator = ArrayRef<Stmt *>::reverse_iterator;
426 reverse_children::reverse_children(Stmt *S) { in reverse_children()
433 case Stmt::InitListExprClass: { in reverse_children()
435 children = llvm::makeArrayRef(reinterpret_cast<Stmt**>(IE->getInits()), in reverse_children()
444 for (Stmt *SubStmt : S->children()) in reverse_children()
522 const Stmt *lastLookup = nullptr;
537 std::unique_ptr<CFG> buildCFG(const Decl *D, Stmt *Statement);
539 bool alwaysAdd(const Stmt *stmt);
585 Stmt *Term,
599 CFGBlock *VisitReturnStmt(Stmt *S);
611 CFGBlock *Visit(Stmt *S, AddStmtChoice asc = AddStmtChoice::NotAlwaysAdd,
613 CFGBlock *VisitStmt(Stmt *S, AddStmtChoice asc);
614 CFGBlock *VisitChildren(Stmt *S);
620 const Stmt *S) { in maybeAddScopeBeginForVarDecl()
683 CFGBlock *VisitForTemporaryDtors(Stmt *E, bool ExternallyDestructed,
685 CFGBlock *VisitChildrenForTemporaryDtors(Stmt *E, bool ExternallyDestructed,
715 Stmt *Child);
745 CFGBlock *addStmt(Stmt *S) { in addStmt()
750 void addLoopExit(const Stmt *LoopStmt);
752 LocalScope::const_iterator E, Stmt *S);
754 LocalScope::const_iterator E, Stmt *S);
756 LocalScope::const_iterator E, Stmt *S);
759 Stmt *S);
762 LocalScope::const_iterator E, Stmt *S);
767 void addLocalScopeForStmt(Stmt *S);
772 void addLocalScopeAndDtors(Stmt *S);
789 void appendStmt(CFGBlock *B, const Stmt *S) { in appendStmt()
795 B->appendStmt(const_cast<Stmt*>(S), cfg->getBumpVectorContext()); in appendStmt()
857 void appendAutomaticObjDtor(CFGBlock *B, VarDecl *VD, Stmt *S) { in appendAutomaticObjDtor()
861 void appendLifetimeEnds(CFGBlock *B, VarDecl *VD, Stmt *S) { in appendLifetimeEnds()
865 void appendLoopExit(CFGBlock *B, const Stmt *LoopStmt) { in appendLoopExit()
897 void appendScopeBegin(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in appendScopeBegin()
902 void prependScopeBegin(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in prependScopeBegin()
907 void appendScopeEnd(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in appendScopeEnd()
912 void prependScopeEnd(CFGBlock *B, const VarDecl *VD, const Stmt *S) { in prependScopeEnd()
1287 const Stmt *stmt) const { in alwaysAdd()
1291 bool CFGBuilder::alwaysAdd(const Stmt *stmt) { in alwaysAdd()
1357 const ConstructionContextLayer *Layer, Stmt *Child) { in findConstructionContexts()
1370 case Stmt::CXXConstructExprClass: in findConstructionContexts()
1371 case Stmt::CXXTemporaryObjectExprClass: { in findConstructionContexts()
1384 case Stmt::CallExprClass: in findConstructionContexts()
1385 case Stmt::CXXMemberCallExprClass: in findConstructionContexts()
1386 case Stmt::CXXOperatorCallExprClass: in findConstructionContexts()
1387 case Stmt::UserDefinedLiteralClass: in findConstructionContexts()
1388 case Stmt::ObjCMessageExprClass: { in findConstructionContexts()
1394 case Stmt::ExprWithCleanupsClass: { in findConstructionContexts()
1399 case Stmt::CXXFunctionalCastExprClass: { in findConstructionContexts()
1404 case Stmt::ImplicitCastExprClass: { in findConstructionContexts()
1417 case Stmt::CXXBindTemporaryExprClass: { in findConstructionContexts()
1422 case Stmt::MaterializeTemporaryExprClass: { in findConstructionContexts()
1434 case Stmt::ConditionalOperatorClass: { in findConstructionContexts()
1450 case Stmt::InitListExprClass: { in findConstructionContexts()
1478 std::unique_ptr<CFG> CFGBuilder::buildCFG(const Decl *D, Stmt *Statement) { in buildCFG()
1667 if (Stmt *Child = Default->getExpr()) in addInitializer()
1720 void CFGBuilder::addLoopExit(const Stmt *LoopStmt){ in addLoopExit()
1728 LocalScope::const_iterator E, Stmt *S) { in getDeclsWithEndedScope()
1751 Stmt *S) { in addAutomaticObjHandling()
1763 LocalScope::const_iterator E, Stmt *S) { in addLifetimeEnds()
1808 LocalScope::const_iterator E, Stmt *S) { in addScopesEnd()
1827 LocalScope::const_iterator E, Stmt *S) { in addAutomaticObjDtors()
1936 void CFGBuilder::addLocalScopeForStmt(Stmt *S) { in addLocalScopeForStmt()
1946 Stmt *SI = BI->stripLabelLikeStatements(); in addLocalScopeForStmt()
2053 void CFGBuilder::addLocalScopeAndDtors(Stmt *S) { in addLocalScopeAndDtors()
2119 CFGBlock *CFGBuilder::Visit(Stmt * S, AddStmtChoice asc, in Visit()
2137 case Stmt::ImplicitValueInitExprClass: in Visit()
2142 case Stmt::InitListExprClass: in Visit()
2145 case Stmt::AddrLabelExprClass: in Visit()
2148 case Stmt::BinaryConditionalOperatorClass: in Visit()
2151 case Stmt::BinaryOperatorClass: in Visit()
2154 case Stmt::BlockExprClass: in Visit()
2157 case Stmt::BreakStmtClass: in Visit()
2160 case Stmt::CallExprClass: in Visit()
2161 case Stmt::CXXOperatorCallExprClass: in Visit()
2162 case Stmt::CXXMemberCallExprClass: in Visit()
2163 case Stmt::UserDefinedLiteralClass: in Visit()
2166 case Stmt::CaseStmtClass: in Visit()
2169 case Stmt::ChooseExprClass: in Visit()
2172 case Stmt::CompoundStmtClass: in Visit()
2175 case Stmt::ConditionalOperatorClass: in Visit()
2178 case Stmt::ContinueStmtClass: in Visit()
2181 case Stmt::CXXCatchStmtClass: in Visit()
2184 case Stmt::ExprWithCleanupsClass: in Visit()
2188 case Stmt::CXXDefaultArgExprClass: in Visit()
2189 case Stmt::CXXDefaultInitExprClass: in Visit()
2201 case Stmt::CXXBindTemporaryExprClass: in Visit()
2204 case Stmt::CXXConstructExprClass: in Visit()
2207 case Stmt::CXXNewExprClass: in Visit()
2210 case Stmt::CXXDeleteExprClass: in Visit()
2213 case Stmt::CXXFunctionalCastExprClass: in Visit()
2216 case Stmt::CXXTemporaryObjectExprClass: in Visit()
2219 case Stmt::CXXThrowExprClass: in Visit()
2222 case Stmt::CXXTryStmtClass: in Visit()
2225 case Stmt::CXXForRangeStmtClass: in Visit()
2228 case Stmt::DeclStmtClass: in Visit()
2231 case Stmt::DefaultStmtClass: in Visit()
2234 case Stmt::DoStmtClass: in Visit()
2237 case Stmt::ForStmtClass: in Visit()
2240 case Stmt::GotoStmtClass: in Visit()
2243 case Stmt::GCCAsmStmtClass: in Visit()
2246 case Stmt::IfStmtClass: in Visit()
2249 case Stmt::ImplicitCastExprClass: in Visit()
2252 case Stmt::ConstantExprClass: in Visit()
2255 case Stmt::IndirectGotoStmtClass: in Visit()
2258 case Stmt::LabelStmtClass: in Visit()
2261 case Stmt::LambdaExprClass: in Visit()
2264 case Stmt::MaterializeTemporaryExprClass: in Visit()
2268 case Stmt::MemberExprClass: in Visit()
2271 case Stmt::NullStmtClass: in Visit()
2274 case Stmt::ObjCAtCatchStmtClass: in Visit()
2277 case Stmt::ObjCAutoreleasePoolStmtClass: in Visit()
2280 case Stmt::ObjCAtSynchronizedStmtClass: in Visit()
2283 case Stmt::ObjCAtThrowStmtClass: in Visit()
2286 case Stmt::ObjCAtTryStmtClass: in Visit()
2289 case Stmt::ObjCForCollectionStmtClass: in Visit()
2292 case Stmt::ObjCMessageExprClass: in Visit()
2295 case Stmt::OpaqueValueExprClass: in Visit()
2298 case Stmt::PseudoObjectExprClass: in Visit()
2301 case Stmt::ReturnStmtClass: in Visit()
2302 case Stmt::CoreturnStmtClass: in Visit()
2305 case Stmt::SEHExceptStmtClass: in Visit()
2308 case Stmt::SEHFinallyStmtClass: in Visit()
2311 case Stmt::SEHLeaveStmtClass: in Visit()
2314 case Stmt::SEHTryStmtClass: in Visit()
2317 case Stmt::UnaryExprOrTypeTraitExprClass: in Visit()
2321 case Stmt::StmtExprClass: in Visit()
2324 case Stmt::SwitchStmtClass: in Visit()
2327 case Stmt::UnaryOperatorClass: in Visit()
2330 case Stmt::WhileStmtClass: in Visit()
2335 CFGBlock *CFGBuilder::VisitStmt(Stmt *S, AddStmtChoice asc) { in VisitStmt()
2345 CFGBlock *CFGBuilder::VisitChildren(Stmt *S) { in VisitChildren()
2351 for (Stmt *Child : RChildren) { in VisitChildren()
2367 for (Stmt *Child : RChildren) { in VisitInitListExpr()
2374 if (Stmt *Child = DIE->getExpr()) in VisitInitListExpr()
2420 Stmt *Term, in VisitLogicalOperator()
2965 if (Stmt *Init = I->getInit()) in VisitIfStmt()
2986 if (Stmt *Else = I->getElse()) { in VisitIfStmt()
3011 Stmt *Then = I->getThen(); in VisitIfStmt()
3078 if (Stmt *Init = I->getInit()) { in VisitIfStmt()
3086 CFGBlock *CFGBuilder::VisitReturnStmt(Stmt *S) { in VisitReturnStmt()
3342 if (Stmt *Init = F->getInit()) in VisitForStmt()
3384 if (Stmt *I = F->getInc()) { in VisitForStmt()
3496 if (Stmt *I = F->getInit()) { in VisitForStmt()
3911 if (Stmt *C = D->getCond()) { in VisitDoStmt()
4054 if (Stmt *Init = Terminator->getInit()) in VisitSwitchStmt()
4147 if (Stmt *Init = Terminator->getInit()) { in VisitSwitchStmt()
4196 if (Stmt *Sub = CS->getSubStmt()) { in VisitCaseStmt()
4399 if (Stmt *Range = S->getRangeStmt()) in VisitCXXForRangeStmt()
4401 if (Stmt *Begin = S->getBeginStmt()) in VisitCXXForRangeStmt()
4403 if (Stmt *End = S->getEndStmt()) in VisitCXXForRangeStmt()
4657 CFGBlock *CFGBuilder::VisitForTemporaryDtors(Stmt *E, bool ExternallyDestructed, in VisitForTemporaryDtors()
4670 case Stmt::InitListExprClass: in VisitForTemporaryDtors()
4673 case Stmt::BinaryOperatorClass: in VisitForTemporaryDtors()
4678 case Stmt::CXXBindTemporaryExprClass: in VisitForTemporaryDtors()
4682 case Stmt::BinaryConditionalOperatorClass: in VisitForTemporaryDtors()
4683 case Stmt::ConditionalOperatorClass: in VisitForTemporaryDtors()
4687 case Stmt::ImplicitCastExprClass: in VisitForTemporaryDtors()
4692 case Stmt::CXXFunctionalCastExprClass: in VisitForTemporaryDtors()
4697 case Stmt::ConstantExprClass: in VisitForTemporaryDtors()
4701 case Stmt::ParenExprClass: in VisitForTemporaryDtors()
4705 case Stmt::MaterializeTemporaryExprClass: { in VisitForTemporaryDtors()
4723 case Stmt::BlockExprClass: in VisitForTemporaryDtors()
4728 case Stmt::LambdaExprClass: { in VisitForTemporaryDtors()
4743 case Stmt::StmtExprClass: in VisitForTemporaryDtors()
4748 case Stmt::CXXDefaultArgExprClass: in VisitForTemporaryDtors()
4752 case Stmt::CXXDefaultInitExprClass: in VisitForTemporaryDtors()
4758 CFGBlock *CFGBuilder::VisitChildrenForTemporaryDtors(Stmt *E, in VisitChildrenForTemporaryDtors()
4771 for (Stmt *Child : E->children()) in VisitChildrenForTemporaryDtors()
4914 SmallVector<Stmt *, 8> Used( in VisitOMPExecutableDirective()
4916 for (Stmt *S : llvm::reverse(Used)) { in VisitOMPExecutableDirective()
4923 Stmt *S = D->getRawStmt(); in VisitOMPExecutableDirective()
4953 std::unique_ptr<CFG> CFG::buildCFG(const Decl *D, Stmt *Statement, in buildCFG()
5102 const Stmt *L = To->getLabel(); in FilterEdge()
5119 using StmtMapTy = llvm::DenseMap<const Stmt *, std::pair<unsigned, unsigned>>;
5138 const Stmt *stmt= SE->getStmt(); in StmtPrinterHelper()
5143 case Stmt::DeclStmtClass: in StmtPrinterHelper()
5146 case Stmt::IfStmtClass: { in StmtPrinterHelper()
5152 case Stmt::ForStmtClass: { in StmtPrinterHelper()
5158 case Stmt::WhileStmtClass: { in StmtPrinterHelper()
5165 case Stmt::SwitchStmtClass: { in StmtPrinterHelper()
5172 case Stmt::CXXCatchStmtClass: { in StmtPrinterHelper()
5193 bool handledStmt(Stmt *S, raw_ostream &OS) override { in handledStmt()
5239 if (Stmt *C = I->getCond()) in VisitIfStmt()
5244 void VisitStmt(Stmt *Terminator) { in VisitStmt()
5258 if (Stmt *C = F->getCond()) in VisitForStmt()
5268 if (Stmt *C = W->getCond()) in VisitWhileStmt()
5274 if (Stmt *C = D->getCond()) in VisitDoStmt()
5292 if (Stmt *Cond = C->getCond()) in VisitAbstractConditionalOperator()
5299 if (Stmt *Cond = C->getCond()) in VisitChooseExpr()
5306 if (Stmt *T = I->getTarget()) in VisitIndirectGotoStmt()
5378 SmallVector<const Stmt *, 3> Stmts; in print_construction_context()
5437 if (const Stmt *BTE = ACC->getCXXBindTemporaryExpr()) { in print_construction_context()
5439 Helper.handledStmt(const_cast<Stmt *>(BTE), OS); in print_construction_context()
5450 Helper.handledStmt(const_cast<Stmt *>(I), OS); in print_construction_context()
5469 const Stmt *S = CS.getStmt(); in print_elem()
5582 Helper.handledStmt(cast<Stmt>(DelExpr->getArgument()), OS); in print_elem()
5641 if (Stmt *Label = const_cast<Stmt*>(B.getLabel())) { in print_block()
5946 const Stmt *Cond = StmtElem->getStmt(); in getLastCondition()
5955 Stmt *CFGBlock::getTerminatorCondition(bool StripParens) { in getTerminatorCondition()
5956 Stmt *Terminator = getTerminatorStmt(); in getTerminatorCondition()
5966 case Stmt::CXXForRangeStmtClass: in getTerminatorCondition()
5970 case Stmt::ForStmtClass: in getTerminatorCondition()
5974 case Stmt::WhileStmtClass: in getTerminatorCondition()
5978 case Stmt::DoStmtClass: in getTerminatorCondition()
5982 case Stmt::IfStmtClass: in getTerminatorCondition()
5986 case Stmt::ChooseExprClass: in getTerminatorCondition()
5990 case Stmt::IndirectGotoStmtClass: in getTerminatorCondition()
5994 case Stmt::SwitchStmtClass: in getTerminatorCondition()
5998 case Stmt::BinaryConditionalOperatorClass: in getTerminatorCondition()
6002 case Stmt::ConditionalOperatorClass: in getTerminatorCondition()
6006 case Stmt::BinaryOperatorClass: // '&&' and '||' in getTerminatorCondition()
6010 case Stmt::ObjCForCollectionStmtClass: in getTerminatorCondition()