Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:Stmt

10 // This contains code to emit Stmt nodes as LLVM code.
32 void CodeGenFunction::EmitStopPoint(const Stmt *S) {
43 void CodeGenFunction::EmitStmt(const Stmt *S) {
72 case Stmt::NoStmtClass:
73 case Stmt::CXXCatchStmtClass:
74 case Stmt::SEHExceptStmtClass:
75 case Stmt::SEHFinallyStmtClass:
76 case Stmt::MSDependentExistsStmtClass:
78 case Stmt::NullStmtClass:
79 case Stmt::CompoundStmtClass:
80 case Stmt::DeclStmtClass:
81 case Stmt::LabelStmtClass:
82 case Stmt::AttributedStmtClass:
83 case Stmt::GotoStmtClass:
84 case Stmt::BreakStmtClass:
85 case Stmt::ContinueStmtClass:
86 case Stmt::DefaultStmtClass:
87 case Stmt::CaseStmtClass:
90 #define STMT(Type, Base)
93 case Stmt::Type##Class:
124 case Stmt::IndirectGotoStmtClass:
127 case Stmt::IfStmtClass: EmitIfStmt(cast<IfStmt>(*S)); break;
128 case Stmt::WhileStmtClass: EmitWhileStmt(cast<WhileStmt>(*S)); break;
129 case Stmt::DoStmtClass: EmitDoStmt(cast<DoStmt>(*S)); break;
130 case Stmt::ForStmtClass: EmitForStmt(cast<ForStmt>(*S)); break;
132 case Stmt::ReturnStmtClass: EmitReturnStmt(cast<ReturnStmt>(*S)); break;
134 case Stmt::SwitchStmtClass: EmitSwitchStmt(cast<SwitchStmt>(*S)); break;
135 case Stmt::GCCAsmStmtClass: // Intentional fall-through.
136 case Stmt::MSAsmStmtClass: EmitAsmStmt(cast<AsmStmt>(*S)); break;
138 case Stmt::ObjCAtTryStmtClass:
141 case Stmt::ObjCAtCatchStmtClass:
144 case Stmt::ObjCAtFinallyStmtClass:
147 case Stmt::ObjCAtThrowStmtClass:
150 case Stmt::ObjCAtSynchronizedStmtClass:
153 case Stmt::ObjCForCollectionStmtClass:
156 case Stmt::ObjCAutoreleasePoolStmtClass:
160 case Stmt::CXXTryStmtClass:
163 case Stmt::CXXForRangeStmtClass:
165 case Stmt::SEHTryStmtClass:
171 bool CodeGenFunction::EmitSimpleStmt(const Stmt *S) {
174 case Stmt::NullStmtClass: break;
175 case Stmt::CompoundStmtClass: EmitCompoundStmt(cast<CompoundStmt>(*S)); break;
176 case Stmt::DeclStmtClass: EmitDeclStmt(cast<DeclStmt>(*S)); break;
177 case Stmt::LabelStmtClass: EmitLabelStmt(cast<LabelStmt>(*S)); break;
178 case Stmt::AttributedStmtClass:
180 case Stmt::GotoStmtClass: EmitGotoStmt(cast<GotoStmt>(*S)); break;
181 case Stmt::BreakStmtClass: EmitBreakStmt(cast<BreakStmt>(*S)); break;
182 case Stmt::ContinueStmtClass: EmitContinueStmt(cast<ContinueStmt>(*S)); break;
183 case Stmt::DefaultStmtClass: EmitDefaultStmt(cast<DefaultStmt>(*S)); break;
184 case Stmt::CaseStmtClass: EmitCaseStmt(cast<CaseStmt>(*S)); break;
219 const Stmt *LastStmt = S.body_back();
398 const Stmt *Executed = S.getThen();
399 const Stmt *Skipped = S.getElse();
432 if (const Stmt *Else = S.getElse()) {
464 // C++ [stmt.while]p2:
831 assert(!BreakContinueStack.empty() && "break stmt not in a loop or switch!");
844 assert(!BreakContinueStack.empty() && "continue stmt not in a loop!");
970 // Otherwise, iteratively add consecutive cases to this switch stmt.
1015 static CSFC_Result CollectStatementsForCase(const Stmt *S,
1018 SmallVectorImpl<const Stmt*> &ResultStmts) {
1143 SmallVectorImpl<const Stmt*> &ResultStmts,
1182 // don't handle every stmt kind:
1208 SmallVector<const Stmt*, 4> CaseStmts;
1332 /// in this asm stmt.
1336 const AsmStmt &Stmt) {
1356 CGM.ErrorUnsupported(&Stmt, "__asm__");