diff options
author | Akira Hatanaka <ahatanaka@apple.com> | 2020-06-03 16:41:50 -0700 |
---|---|---|
committer | Akira Hatanaka <ahatanaka@apple.com> | 2020-06-11 16:06:22 -0700 |
commit | c9a52de0026093327daedda7ea2eead8b64657b4 (patch) | |
tree | c6d60c7b6bab1e013a4a84fe59510b3e1f7ea2af /clang/lib/CodeGen/CodeGenFunction.cpp | |
parent | 8d8ec55035bda2cff5ef446cfacec93c67665c52 (diff) | |
download | llvm-c9a52de0026093327daedda7ea2eead8b64657b4.zip llvm-c9a52de0026093327daedda7ea2eead8b64657b4.tar.gz llvm-c9a52de0026093327daedda7ea2eead8b64657b4.tar.bz2 |
[CodeGen] Simplify the way lifetime of block captures is extended
Rather than pushing inactive cleanups for the block captures at the
entry of a full expression and activating them during the creation of
the block literal, just call pushLifetimeExtendedDestroy to ensure the
cleanups are popped at the end of the scope enclosing the block
expression.
rdar://problem/63996471
Differential Revision: https://reviews.llvm.org/D81624
Diffstat (limited to 'clang/lib/CodeGen/CodeGenFunction.cpp')
-rw-r--r-- | clang/lib/CodeGen/CodeGenFunction.cpp | 6 |
1 files changed, 0 insertions, 6 deletions
diff --git a/clang/lib/CodeGen/CodeGenFunction.cpp b/clang/lib/CodeGen/CodeGenFunction.cpp index 24fcd72..613e7df 100644 --- a/clang/lib/CodeGen/CodeGenFunction.cpp +++ b/clang/lib/CodeGen/CodeGenFunction.cpp @@ -79,12 +79,6 @@ CodeGenFunction::CodeGenFunction(CodeGenModule &cgm, bool suppressNewContext) CodeGenFunction::~CodeGenFunction() { assert(LifetimeExtendedCleanupStack.empty() && "failed to emit a cleanup"); - // If there are any unclaimed block infos, go ahead and destroy them - // now. This can happen if IR-gen gets clever and skips evaluating - // something. - if (FirstBlockInfo) - destroyBlockInfos(FirstBlockInfo); - if (getLangOpts().OpenMP && CurFn) CGM.getOpenMPRuntime().functionFinished(*this); |