diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-04-01 04:37:47 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-04-01 04:37:47 +0000 |
commit | aa5bd87f1fd5f9ca47924248817c89325759b30e (patch) | |
tree | 908915162f5ef08674a534e75c7d5eb030219cc2 /lib/CodeGen/CodeGenFunction.h | |
parent | dbdf7949a7a50f5a65055a3e95f6432ecc541056 (diff) |
Fix a subtle bug where the cleanup scope entries had a dangling block reference
- <rdar://problem/6732143> Crash when generating @synchronize for
zero-cost exception
- Thanks to Anders for helping track down the problem.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68186 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CodeGenFunction.h')
-rw-r--r-- | lib/CodeGen/CodeGenFunction.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h index 9dbbb25b22..61b2665428 100644 --- a/lib/CodeGen/CodeGenFunction.h +++ b/lib/CodeGen/CodeGenFunction.h @@ -339,6 +339,11 @@ public: /// label maps to. llvm::BasicBlock *getBasicBlockForLabel(const LabelStmt *S); + /// SimplifyForwardingBlocks - If the given basic block is only a + /// branch to another basic block, simplify it. This assumes that no + /// other code could potentially reference the basic block. + void SimplifyForwardingBlocks(llvm::BasicBlock *BB); + /// EmitBlock - Emit the given block \arg BB and set it as the insert point, /// adding a fall-through branch from the current insert block if /// necessary. It is legal to call this function even if there is no current |