aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-07-21 07:04:01 +0000
committerJohn McCall <rjmccall@apple.com>2010-07-21 07:04:01 +0000
commit6962f8d156735172146ae812732f4c4ddc13e91b (patch)
treefa0b9b8a3a0bedbe5272307ebd13ceb2955953e1
parentcc5052999cd064584492ba15a808b6e1cee6d931 (diff)
Kill the CleanupBlock API.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@108998 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/CodeGen/CGException.cpp63
-rw-r--r--lib/CodeGen/CodeGenFunction.h21
2 files changed, 0 insertions, 84 deletions
diff --git a/lib/CodeGen/CGException.cpp b/lib/CodeGen/CGException.cpp
index 352b324ae2..cc0a03f8b5 100644
--- a/lib/CodeGen/CGException.cpp
+++ b/lib/CodeGen/CGException.cpp
@@ -1576,69 +1576,6 @@ llvm::BasicBlock *CodeGenFunction::getTerminateHandler() {
return TerminateHandler;
}
-CodeGenFunction::CleanupBlock::CleanupBlock(CodeGenFunction &CGF,
- CleanupKind Kind)
- : CGF(CGF), SavedIP(CGF.Builder.saveIP()), NormalCleanupExitBB(0) {
- llvm::BasicBlock *EntryBB = CGF.createBasicBlock("cleanup");
- CGF.Builder.SetInsertPoint(EntryBB);
-
- switch (Kind) {
- case NormalAndEHCleanup:
- NormalCleanupEntryBB = EHCleanupEntryBB = EntryBB;
- break;
-
- case NormalCleanup:
- NormalCleanupEntryBB = EntryBB;
- EHCleanupEntryBB = 0;
- break;
-
- case EHCleanup:
- NormalCleanupEntryBB = 0;
- EHCleanupEntryBB = EntryBB;
- CGF.EHStack.pushTerminate();
- break;
- }
-}
-
-void CodeGenFunction::CleanupBlock::beginEHCleanup() {
- assert(EHCleanupEntryBB == 0 && "already started an EH cleanup");
- NormalCleanupExitBB = CGF.Builder.GetInsertBlock();
- assert(NormalCleanupExitBB && "end of normal cleanup is unreachable");
-
- EHCleanupEntryBB = CGF.createBasicBlock("eh.cleanup");
- CGF.Builder.SetInsertPoint(EHCleanupEntryBB);
- CGF.EHStack.pushTerminate();
-}
-
-CodeGenFunction::CleanupBlock::~CleanupBlock() {
- llvm::BasicBlock *EHCleanupExitBB = 0;
-
- // If we're currently writing the EH cleanup...
- if (EHCleanupEntryBB) {
- // Set the EH cleanup exit block.
- EHCleanupExitBB = CGF.Builder.GetInsertBlock();
- assert(EHCleanupExitBB && "end of EH cleanup is unreachable");
-
- // If we're actually writing both at once, set the normal exit, too.
- if (EHCleanupEntryBB == NormalCleanupEntryBB)
- NormalCleanupExitBB = EHCleanupExitBB;
-
- // Otherwise, we must have pushed a terminate handler.
- else
- CGF.EHStack.popTerminate();
-
- // Otherwise, just set the normal cleanup exit block.
- } else {
- NormalCleanupExitBB = CGF.Builder.GetInsertBlock();
- assert(NormalCleanupExitBB && "end of normal cleanup is unreachable");
- }
-
- CGF.EHStack.pushCleanup(NormalCleanupEntryBB, NormalCleanupExitBB,
- EHCleanupEntryBB, EHCleanupExitBB);
-
- CGF.Builder.restoreIP(SavedIP);
-}
-
EHScopeStack::LazyCleanup::~LazyCleanup() {
llvm_unreachable("LazyCleanup is indestructable");
}
diff --git a/lib/CodeGen/CodeGenFunction.h b/lib/CodeGen/CodeGenFunction.h
index 3823ff31d0..f6a80cb264 100644
--- a/lib/CodeGen/CodeGenFunction.h
+++ b/lib/CodeGen/CodeGenFunction.h
@@ -476,27 +476,6 @@ public:
/// process all branch fixups.
void PopCleanupBlock();
- /// CleanupBlock - RAII object that will create a cleanup block and
- /// set the insert point to that block. When destructed, it sets the
- /// insert point to the previous block and pushes a new cleanup
- /// entry on the stack.
- class CleanupBlock {
- CodeGenFunction &CGF;
- CGBuilderTy::InsertPoint SavedIP;
- llvm::BasicBlock *NormalCleanupEntryBB;
- llvm::BasicBlock *NormalCleanupExitBB;
- llvm::BasicBlock *EHCleanupEntryBB;
-
- public:
- CleanupBlock(CodeGenFunction &CGF, CleanupKind Kind);
-
- /// If we're currently writing a normal cleanup, tie that off and
- /// start writing an EH cleanup.
- void beginEHCleanup();
-
- ~CleanupBlock();
- };
-
/// \brief Enters a new scope for capturing cleanups, all of which
/// will be executed once the scope is exited.
class RunCleanupsScope {