reference, declaration → definition definition → references, declarations, derived classes, virtual overrides reference to multiple definitions → definitions unreferenced |
45 assert(S && "Null statement?"); 46 PGO.setCurrentStmt(S); 49 if (EmitSimpleStmt(S)) 59 if (!ContainsLabel(S)) { 62 assert(!isa<DeclStmt>(*S) && "Unexpected DeclStmt!"); 71 EmitStopPoint(S); 76 if (const auto *D = dyn_cast<OMPExecutableDirective>(S)) { 82 switch (S->getStmtClass()) { 112 EmitIgnoredExpr(cast<Expr>(S)); 137 EmitIndirectGotoStmt(cast<IndirectGotoStmt>(*S)); break; 139 case Stmt::IfStmtClass: EmitIfStmt(cast<IfStmt>(*S)); break; 140 case Stmt::WhileStmtClass: EmitWhileStmt(cast<WhileStmt>(*S), Attrs); break; 141 case Stmt::DoStmtClass: EmitDoStmt(cast<DoStmt>(*S), Attrs); break; 142 case Stmt::ForStmtClass: EmitForStmt(cast<ForStmt>(*S), Attrs); break; 144 case Stmt::ReturnStmtClass: EmitReturnStmt(cast<ReturnStmt>(*S)); break; 146 case Stmt::SwitchStmtClass: EmitSwitchStmt(cast<SwitchStmt>(*S)); break; 148 case Stmt::MSAsmStmtClass: EmitAsmStmt(cast<AsmStmt>(*S)); break; 150 EmitCoroutineBody(cast<CoroutineBodyStmt>(*S)); 153 EmitCoreturnStmt(cast<CoreturnStmt>(*S)); 156 const CapturedStmt *CS = cast<CapturedStmt>(S); 161 EmitObjCAtTryStmt(cast<ObjCAtTryStmt>(*S)); 170 EmitObjCAtThrowStmt(cast<ObjCAtThrowStmt>(*S)); 173 EmitObjCAtSynchronizedStmt(cast<ObjCAtSynchronizedStmt>(*S)); 176 EmitObjCForCollectionStmt(cast<ObjCForCollectionStmt>(*S)); 179 EmitObjCAutoreleasePoolStmt(cast<ObjCAutoreleasePoolStmt>(*S)); 183 EmitCXXTryStmt(cast<CXXTryStmt>(*S)); 186 EmitCXXForRangeStmt(cast<CXXForRangeStmt>(*S), Attrs); 189 EmitSEHTryStmt(cast<SEHTryStmt>(*S)); 192 EmitOMPParallelDirective(cast<OMPParallelDirective>(*S)); 195 EmitOMPSimdDirective(cast<OMPSimdDirective>(*S)); 198 EmitOMPForDirective(cast<OMPForDirective>(*S)); 201 EmitOMPForSimdDirective(cast<OMPForSimdDirective>(*S)); 204 EmitOMPSectionsDirective(cast<OMPSectionsDirective>(*S)); 207 EmitOMPSectionDirective(cast<OMPSectionDirective>(*S)); 210 EmitOMPSingleDirective(cast<OMPSingleDirective>(*S)); 213 EmitOMPMasterDirective(cast<OMPMasterDirective>(*S)); 216 EmitOMPCriticalDirective(cast<OMPCriticalDirective>(*S)); 219 EmitOMPParallelForDirective(cast<OMPParallelForDirective>(*S)); 222 EmitOMPParallelForSimdDirective(cast<OMPParallelForSimdDirective>(*S)); 225 EmitOMPParallelSectionsDirective(cast<OMPParallelSectionsDirective>(*S)); 228 EmitOMPTaskDirective(cast<OMPTaskDirective>(*S)); 231 EmitOMPTaskyieldDirective(cast<OMPTaskyieldDirective>(*S)); 234 EmitOMPBarrierDirective(cast<OMPBarrierDirective>(*S)); 237 EmitOMPTaskwaitDirective(cast<OMPTaskwaitDirective>(*S)); 240 EmitOMPTaskgroupDirective(cast<OMPTaskgroupDirective>(*S)); 243 EmitOMPFlushDirective(cast<OMPFlushDirective>(*S)); 246 EmitOMPOrderedDirective(cast<OMPOrderedDirective>(*S)); 249 EmitOMPAtomicDirective(cast<OMPAtomicDirective>(*S)); 252 EmitOMPTargetDirective(cast<OMPTargetDirective>(*S)); 255 EmitOMPTeamsDirective(cast<OMPTeamsDirective>(*S)); 258 EmitOMPCancellationPointDirective(cast<OMPCancellationPointDirective>(*S)); 261 EmitOMPCancelDirective(cast<OMPCancelDirective>(*S)); 264 EmitOMPTargetDataDirective(cast<OMPTargetDataDirective>(*S)); 267 EmitOMPTargetEnterDataDirective(cast<OMPTargetEnterDataDirective>(*S)); 270 EmitOMPTargetExitDataDirective(cast<OMPTargetExitDataDirective>(*S)); 273 EmitOMPTargetParallelDirective(cast<OMPTargetParallelDirective>(*S)); 276 EmitOMPTargetParallelForDirective(cast<OMPTargetParallelForDirective>(*S)); 279 EmitOMPTaskLoopDirective(cast<OMPTaskLoopDirective>(*S)); 282 EmitOMPTaskLoopSimdDirective(cast<OMPTaskLoopSimdDirective>(*S)); 285 EmitOMPMasterTaskLoopDirective(cast<OMPMasterTaskLoopDirective>(*S)); 289 cast<OMPMasterTaskLoopSimdDirective>(*S)); 293 cast<OMPParallelMasterTaskLoopDirective>(*S)); 296 EmitOMPDistributeDirective(cast<OMPDistributeDirective>(*S)); 299 EmitOMPTargetUpdateDirective(cast<OMPTargetUpdateDirective>(*S)); 303 cast<OMPDistributeParallelForDirective>(*S)); 307 cast<OMPDistributeParallelForSimdDirective>(*S)); 310 EmitOMPDistributeSimdDirective(cast<OMPDistributeSimdDirective>(*S)); 314 cast<OMPTargetParallelForSimdDirective>(*S)); 317 EmitOMPTargetSimdDirective(cast<OMPTargetSimdDirective>(*S)); 320 EmitOMPTeamsDistributeDirective(cast<OMPTeamsDistributeDirective>(*S)); 324 cast<OMPTeamsDistributeSimdDirective>(*S)); 328 cast<OMPTeamsDistributeParallelForSimdDirective>(*S)); 332 cast<OMPTeamsDistributeParallelForDirective>(*S)); 335 EmitOMPTargetTeamsDirective(cast<OMPTargetTeamsDirective>(*S)); 339 cast<OMPTargetTeamsDistributeDirective>(*S)); 343 cast<OMPTargetTeamsDistributeParallelForDirective>(*S)); 347 cast<OMPTargetTeamsDistributeParallelForSimdDirective>(*S)); 351 cast<OMPTargetTeamsDistributeSimdDirective>(*S));