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::AsmStmtClass: EmitAsmStmt(cast<AsmStmt>(*S)); break;
137 case Stmt::ObjCAtTryStmtClass:
140 case Stmt::ObjCAtCatchStmtClass:
143 case Stmt::ObjCAtFinallyStmtClass:
146 case Stmt::ObjCAtThrowStmtClass:
149 case Stmt::ObjCAtSynchronizedStmtClass:
152 case Stmt::ObjCForCollectionStmtClass:
155 case Stmt::ObjCAutoreleasePoolStmtClass:
159 case Stmt::CXXTryStmtClass:
162 case Stmt::CXXForRangeStmtClass:
164 case Stmt::SEHTryStmtClass:
170 bool CodeGenFunction::EmitSimpleStmt(const Stmt *S) {
173 case Stmt::NullStmtClass: break;
174 case Stmt::CompoundStmtClass: EmitCompoundStmt(cast<CompoundStmt>(*S)); break;
175 case Stmt::DeclStmtClass: EmitDeclStmt(cast<DeclStmt>(*S)); break;
176 case Stmt::LabelStmtClass: EmitLabelStmt(cast<LabelStmt>(*S)); break;
177 case Stmt::AttributedStmtClass:
179 case Stmt::GotoStmtClass: EmitGotoStmt(cast<GotoStmt>(*S)); break;
180 case Stmt::BreakStmtClass: EmitBreakStmt(cast<BreakStmt>(*S)); break;
181 case Stmt::ContinueStmtClass: EmitContinueStmt(cast<ContinueStmt>(*S)); break;
182 case Stmt::DefaultStmtClass: EmitDefaultStmt(cast<DefaultStmt>(*S)); break;
183 case Stmt::CaseStmtClass: EmitCaseStmt(cast<CaseStmt>(*S)); break;
212 const Stmt *LastStmt = S.body_back();
388 const Stmt *Executed = S.getThen();
389 const Stmt *Skipped = S.getElse();
422 if (const Stmt *Else = S.getElse()) {
454 // C++ [stmt.while]p2:
797 assert(!BreakContinueStack.empty() && "break stmt not in a loop or switch!");
810 assert(!BreakContinueStack.empty() && "continue stmt not in a loop!");
935 // Otherwise, iteratively add consecutive cases to this switch stmt.
980 static CSFC_Result CollectStatementsForCase(const Stmt *S,
983 SmallVectorImpl<const Stmt*> &ResultStmts) {
1108 SmallVectorImpl<const Stmt*> &ResultStmts,
1147 // don't handle every stmt kind:
1173 SmallVector<const Stmt*, 4> CaseStmts;
1293 /// in this asm stmt.
1297 const AsmStmt &Stmt) {
1317 CGM.ErrorUnsupported(&Stmt, "__asm__");