diff options
Diffstat (limited to 'clang/lib/CodeGen/CGCleanup.cpp')
-rw-r--r-- | clang/lib/CodeGen/CGCleanup.cpp | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/clang/lib/CodeGen/CGCleanup.cpp b/clang/lib/CodeGen/CGCleanup.cpp index 65de4d498d1..c4e7880196e 100644 --- a/clang/lib/CodeGen/CGCleanup.cpp +++ b/clang/lib/CodeGen/CGCleanup.cpp @@ -883,29 +883,6 @@ void CodeGenFunction::PopCleanupBlock(bool FallthroughIsBranchThrough) { } } -/// isObviouslyBranchWithoutCleanups - Return true if a branch to the -/// specified destination obviously has no cleanups to run. 'false' is always -/// a conservatively correct answer for this method. -bool CodeGenFunction::isObviouslyBranchWithoutCleanups(JumpDest Dest) const { - assert(Dest.getScopeDepth().encloses(EHStack.stable_begin()) - && "stale jump destination"); - - // Calculate the innermost active normal cleanup. - EHScopeStack::stable_iterator TopCleanup = - EHStack.getInnermostActiveNormalCleanup(); - - // If we're not in an active normal cleanup scope, or if the - // destination scope is within the innermost active normal cleanup - // scope, we don't need to worry about fixups. - if (TopCleanup == EHStack.stable_end() || - TopCleanup.encloses(Dest.getScopeDepth())) // works for invalid - return true; - - // Otherwise, we might need some cleanups. - return false; -} - - /// Terminate the current block by emitting a branch which might leave /// the current cleanup-protected scope. The target scope may not yet /// be known, in which case this will require a fixup. |