Home | History | Annotate | Download | only in CodeGen

Lines Matching refs:STMT

10 // This contains code to emit Stmt nodes as LLVM code.
34 void CodeGenFunction::EmitStopPoint(const Stmt *S) {
44 void CodeGenFunction::EmitStmt(const Stmt *S) {
73 case Stmt::NoStmtClass:
74 case Stmt::CXXCatchStmtClass:
75 case Stmt::SEHExceptStmtClass:
76 case Stmt::SEHFinallyStmtClass:
77 case Stmt::MSDependentExistsStmtClass:
78 case Stmt::OMPParallelDirectiveClass:
80 case Stmt::NullStmtClass:
81 case Stmt::CompoundStmtClass:
82 case Stmt::DeclStmtClass:
83 case Stmt::LabelStmtClass:
84 case Stmt::AttributedStmtClass:
85 case Stmt::GotoStmtClass:
86 case Stmt::BreakStmtClass:
87 case Stmt::ContinueStmtClass:
88 case Stmt::DefaultStmtClass:
89 case Stmt::CaseStmtClass:
92 #define STMT(Type, Base)
95 case Stmt::Type##Class:
126 case Stmt::IndirectGotoStmtClass:
129 case Stmt::IfStmtClass: EmitIfStmt(cast<IfStmt>(*S)); break;
130 case Stmt::WhileStmtClass: EmitWhileStmt(cast<WhileStmt>(*S)); break;
131 case Stmt::DoStmtClass: EmitDoStmt(cast<DoStmt>(*S)); break;
132 case Stmt::ForStmtClass: EmitForStmt(cast<ForStmt>(*S)); break;
134 case Stmt::ReturnStmtClass: EmitReturnStmt(cast<ReturnStmt>(*S)); break;
136 case Stmt::SwitchStmtClass: EmitSwitchStmt(cast<SwitchStmt>(*S)); break;
137 case Stmt::GCCAsmStmtClass: // Intentional fall-through.
138 case Stmt::MSAsmStmtClass: EmitAsmStmt(cast<AsmStmt>(*S)); break;
139 case Stmt::CapturedStmtClass:
142 case Stmt::ObjCAtTryStmtClass:
145 case Stmt::ObjCAtCatchStmtClass:
148 case Stmt::ObjCAtFinallyStmtClass:
151 case Stmt::ObjCAtThrowStmtClass:
154 case Stmt::ObjCAtSynchronizedStmtClass:
157 case Stmt::ObjCForCollectionStmtClass:
160 case Stmt::ObjCAutoreleasePoolStmtClass:
164 case Stmt::CXXTryStmtClass:
167 case Stmt::CXXForRangeStmtClass:
169 case Stmt::SEHTryStmtClass:
175 bool CodeGenFunction::EmitSimpleStmt(const Stmt *S) {
178 case Stmt::NullStmtClass: break;
179 case Stmt::CompoundStmtClass: EmitCompoundStmt(cast<CompoundStmt>(*S)); break;
180 case Stmt::DeclStmtClass: EmitDeclStmt(cast<DeclStmt>(*S)); break;
181 case Stmt::LabelStmtClass: EmitLabelStmt(cast<LabelStmt>(*S)); break;
182 case Stmt::AttributedStmtClass:
184 case Stmt::GotoStmtClass: EmitGotoStmt(cast<GotoStmt>(*S)); break;
185 case Stmt::BreakStmtClass: EmitBreakStmt(cast<BreakStmt>(*S)); break;
186 case Stmt::ContinueStmtClass: EmitContinueStmt(cast<ContinueStmt>(*S)); break;
187 case Stmt::DefaultStmtClass: EmitDefaultStmt(cast<DefaultStmt>(*S)); break;
188 case Stmt::CaseStmtClass: EmitCaseStmt(cast<CaseStmt>(*S)); break;
223 const Stmt *LastStmt = S.body_back();
439 const Stmt *Executed = S.getThen();
440 const Stmt *Skipped = S.getElse();
473 if (const Stmt *Else = S.getElse()) {
505 // C++ [stmt.while]p2:
875 assert(!BreakContinueStack.empty() && "break stmt not in a loop or switch!");
888 assert(!BreakContinueStack.empty() && "continue stmt not in a loop!");
1014 // Otherwise, iteratively add consecutive cases to this switch stmt.
1059 static CSFC_Result CollectStatementsForCase(const Stmt *S,
1062 SmallVectorImpl<const Stmt*> &ResultStmts) {
1187 SmallVectorImpl<const Stmt*> &ResultStmts,
1226 // don't handle every stmt kind:
1252 SmallVector<const Stmt*, 4> CaseStmts;
1376 /// in this asm stmt.
1380 const AsmStmt &Stmt) {
1400 CGM.ErrorUnsupported(&Stmt, "__asm__");