diff options
Diffstat (limited to 'clang/lib/CodeGen/CGBlocks.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGBlocks.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/clang/lib/CodeGen/CGBlocks.cpp b/clang/lib/CodeGen/CGBlocks.cpp index b1717b38901..a75f341b3bf 100644 --- a/clang/lib/CodeGen/CGBlocks.cpp +++ b/clang/lib/CodeGen/CGBlocks.cpp @@ -1200,8 +1200,14 @@ CodeGenFunction::GenerateBlockFunction(GlobalDecl GD, if (IsLambdaConversionToBlock) EmitLambdaBlockInvokeBody(); - else + else { + PGO.assignRegionCounters(blockDecl, fn); + RegionCounter Cnt = getPGORegionCounter(blockDecl->getBody()); + Cnt.beginRegion(Builder); EmitStmt(blockDecl->getBody()); + PGO.emitWriteoutFunction(); + PGO.destroyRegionCounters(); + } // Remember where we were... llvm::BasicBlock *resume = Builder.GetInsertBlock(); |