• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /freebsd-13-stable/contrib/llvm-project/clang/lib/CodeGen/

Lines Matching refs:Stmt

9 // This contains code to emit Stmt nodes as LLVM code.
38 void CodeGenFunction::EmitStopPoint(const Stmt *S) {
48 void CodeGenFunction::EmitStmt(const Stmt *S, ArrayRef<const Attr *> Attrs) {
87 case Stmt::NoStmtClass:
88 case Stmt::CXXCatchStmtClass:
89 case Stmt::SEHExceptStmtClass:
90 case Stmt::SEHFinallyStmtClass:
91 case Stmt::MSDependentExistsStmtClass:
93 case Stmt::NullStmtClass:
94 case Stmt::CompoundStmtClass:
95 case Stmt::DeclStmtClass:
96 case Stmt::LabelStmtClass:
97 case Stmt::AttributedStmtClass:
98 case Stmt::GotoStmtClass:
99 case Stmt::BreakStmtClass:
100 case Stmt::ContinueStmtClass:
101 case Stmt::DefaultStmtClass:
102 case Stmt::CaseStmtClass:
103 case Stmt::SEHLeaveStmtClass:
109 case Stmt::Type##Class:
140 case Stmt::IndirectGotoStmtClass:
143 case Stmt::IfStmtClass: EmitIfStmt(cast<IfStmt>(*S)); break;
144 case Stmt::WhileStmtClass: EmitWhileStmt(cast<WhileStmt>(*S), Attrs); break;
145 case Stmt::DoStmtClass: EmitDoStmt(cast<DoStmt>(*S), Attrs); break;
146 case Stmt::ForStmtClass: EmitForStmt(cast<ForStmt>(*S), Attrs); break;
148 case Stmt::ReturnStmtClass: EmitReturnStmt(cast<ReturnStmt>(*S)); break;
150 case Stmt::SwitchStmtClass: EmitSwitchStmt(cast<SwitchStmt>(*S)); break;
151 case Stmt::GCCAsmStmtClass: // Intentional fall-through.
152 case Stmt::MSAsmStmtClass: EmitAsmStmt(cast<AsmStmt>(*S)); break;
153 case Stmt::CoroutineBodyStmtClass:
156 case Stmt::CoreturnStmtClass:
159 case Stmt::CapturedStmtClass: {
164 case Stmt::ObjCAtTryStmtClass:
167 case Stmt::ObjCAtCatchStmtClass:
170 case Stmt::ObjCAtFinallyStmtClass:
173 case Stmt::ObjCAtThrowStmtClass:
176 case Stmt::ObjCAtSynchronizedStmtClass:
179 case Stmt::ObjCForCollectionStmtClass:
182 case Stmt::ObjCAutoreleasePoolStmtClass:
186 case Stmt::CXXTryStmtClass:
189 case Stmt::CXXForRangeStmtClass:
192 case Stmt::SEHTryStmtClass:
195 case Stmt::OMPParallelDirectiveClass:
198 case Stmt::OMPSimdDirectiveClass:
201 case Stmt::OMPForDirectiveClass:
204 case Stmt::OMPForSimdDirectiveClass:
207 case Stmt::OMPSectionsDirectiveClass:
210 case Stmt::OMPSectionDirectiveClass:
213 case Stmt::OMPSingleDirectiveClass:
216 case Stmt::OMPMasterDirectiveClass:
219 case Stmt::OMPCriticalDirectiveClass:
222 case Stmt::OMPParallelForDirectiveClass:
225 case Stmt::OMPParallelForSimdDirectiveClass:
228 case Stmt::OMPParallelMasterDirectiveClass:
231 case Stmt::OMPParallelSectionsDirectiveClass:
234 case Stmt::OMPTaskDirectiveClass:
237 case Stmt::OMPTaskyieldDirectiveClass:
240 case Stmt::OMPBarrierDirectiveClass:
243 case Stmt::OMPTaskwaitDirectiveClass:
246 case Stmt::OMPTaskgroupDirectiveClass:
249 case Stmt::OMPFlushDirectiveClass:
252 case Stmt::OMPDepobjDirectiveClass:
255 case Stmt::OMPScanDirectiveClass:
258 case Stmt::OMPOrderedDirectiveClass:
261 case Stmt::OMPAtomicDirectiveClass:
264 case Stmt::OMPTargetDirectiveClass:
267 case Stmt::OMPTeamsDirectiveClass:
270 case Stmt::OMPCancellationPointDirectiveClass:
273 case Stmt::OMPCancelDirectiveClass:
276 case Stmt::OMPTargetDataDirectiveClass:
279 case Stmt::OMPTargetEnterDataDirectiveClass:
282 case Stmt::OMPTargetExitDataDirectiveClass:
285 case Stmt::OMPTargetParallelDirectiveClass:
288 case Stmt::OMPTargetParallelForDirectiveClass:
291 case Stmt::OMPTaskLoopDirectiveClass:
294 case Stmt::OMPTaskLoopSimdDirectiveClass:
297 case Stmt::OMPMasterTaskLoopDirectiveClass:
300 case Stmt::OMPMasterTaskLoopSimdDirectiveClass:
304 case Stmt::OMPParallelMasterTaskLoopDirectiveClass:
308 case Stmt::OMPParallelMasterTaskLoopSimdDirectiveClass:
312 case Stmt::OMPDistributeDirectiveClass:
315 case Stmt::OMPTargetUpdateDirectiveClass:
318 case Stmt::OMPDistributeParallelForDirectiveClass:
322 case Stmt::OMPDistributeParallelForSimdDirectiveClass:
326 case Stmt::OMPDistributeSimdDirectiveClass:
329 case Stmt::OMPTargetParallelForSimdDirectiveClass:
333 case Stmt::OMPTargetSimdDirectiveClass:
336 case Stmt::OMPTeamsDistributeDirectiveClass:
339 case Stmt::OMPTeamsDistributeSimdDirectiveClass:
343 case Stmt::OMPTeamsDistributeParallelForSimdDirectiveClass:
347 case Stmt::OMPTeamsDistributeParallelForDirectiveClass:
351 case Stmt::OMPTargetTeamsDirectiveClass:
354 case Stmt::OMPTargetTeamsDistributeDirectiveClass:
358 case Stmt::OMPTargetTeamsDistributeParallelForDirectiveClass:
362 case Stmt::OMPTargetTeamsDistributeParallelForSimdDirectiveClass:
366 case Stmt::OMPTargetTeamsDistributeSimdDirectiveClass:
373 bool CodeGenFunction::EmitSimpleStmt(const Stmt *S) {
376 case Stmt::NullStmtClass: break;
377 case Stmt::CompoundStmtClass: EmitCompoundStmt(cast<CompoundStmt>(*S)); break;
378 case Stmt::DeclStmtClass: EmitDeclStmt(cast<DeclStmt>(*S)); break;
379 case Stmt::LabelStmtClass: EmitLabelStmt(cast<LabelStmt>(*S)); break;
380 case Stmt::AttributedStmtClass:
382 case Stmt::GotoStmtClass: EmitGotoStmt(cast<GotoStmt>(*S)); break;
383 case Stmt::BreakStmtClass: EmitBreakStmt(cast<BreakStmt>(*S)); break;
384 case Stmt::ContinueStmtClass: EmitContinueStmt(cast<ContinueStmt>(*S)); break;
385 case Stmt::DefaultStmtClass: EmitDefaultStmt(cast<DefaultStmt>(*S)); break;
386 case Stmt::CaseStmtClass: EmitCaseStmt(cast<CaseStmt>(*S)); break;
387 case Stmt::SEHLeaveStmtClass: EmitSEHLeaveStmt(cast<SEHLeaveStmt>(*S)); break;
412 const Stmt *ExprResult = S.getStmtExprResult();
672 const Stmt *Executed = S.getThen();
673 const Stmt *Skipped = S.getElse();
711 if (const Stmt *Else = S.getElse()) {
1421 static CSFC_Result CollectStatementsForCase(const Stmt *S,
1424 SmallVectorImpl<const Stmt*> &ResultStmts) {
1578 SmallVectorImpl<const Stmt*> &ResultStmts,
1639 SmallVector<const Stmt*, 4> CaseStmts;
1833 const AsmStmt &Stmt, const bool EarlyClobber) {
1853 CGM.ErrorUnsupported(&Stmt, "__asm__");