aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGBuilder.h
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2010-07-06 18:43:48 +0000
committerJohn McCall <rjmccall@apple.com>2010-07-06 18:43:48 +0000
commitdf921aef355ce15179f17cba839ada6347d50406 (patch)
tree7bf090b3c04f147bae615cab8c8afc1aa1c85717 /lib/CodeGen/CGBuilder.h
parent1693e154bef16ca060b5e3786d8528ddc11f5637 (diff)
Make CGBuilderTy a typedef again; its functionality has been rolled back
into IRBuilder. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@107687 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGBuilder.h')
-rw-r--r--lib/CodeGen/CGBuilder.h51
1 files changed, 2 insertions, 49 deletions
diff --git a/lib/CodeGen/CGBuilder.h b/lib/CodeGen/CGBuilder.h
index 33d868920d..8120217ac8 100644
--- a/lib/CodeGen/CGBuilder.h
+++ b/lib/CodeGen/CGBuilder.h
@@ -17,58 +17,11 @@ namespace CodeGen {
// Don't preserve names on values in an optimized build.
#ifdef NDEBUG
-typedef llvm::IRBuilder<false> CGBuilderSuperTy;
+typedef llvm::IRBuilder<false> CGBuilderTy;
#else
-typedef llvm::IRBuilder<> CGBuilderSuperTy;
+typedef llvm::IRBuilder<> CGBuilderTy;
#endif
-/// IR generation's wrapper around an LLVM IRBuilder.
-class CGBuilderTy : public CGBuilderSuperTy {
-public:
- CGBuilderTy(llvm::LLVMContext &Context) : CGBuilderSuperTy(Context) {}
- CGBuilderTy(llvm::BasicBlock *Block) : CGBuilderSuperTy(Block) {}
- CGBuilderTy(llvm::BasicBlock *Block, llvm::BasicBlock::iterator Point)
- : CGBuilderSuperTy(Block, Point) {}
-
- CGBuilderTy(const CGBuilderTy &Builder)
- : CGBuilderSuperTy(Builder.getContext()) {
-
- if (Builder.GetInsertBlock())
- SetInsertPoint(Builder.GetInsertBlock(), Builder.GetInsertPoint());
- }
-
- /// A saved insertion point.
- class InsertPoint {
- llvm::BasicBlock *Block;
- llvm::BasicBlock::iterator Point;
-
- public:
- InsertPoint(llvm::BasicBlock *Block, llvm::BasicBlock::iterator Point)
- : Block(Block), Point(Point) {}
-
- bool isSet() const { return (Block != 0); }
- llvm::BasicBlock *getBlock() const { return Block; }
- llvm::BasicBlock::iterator getPoint() const { return Point; }
- };
-
- InsertPoint saveIP() const {
- return InsertPoint(GetInsertBlock(), GetInsertPoint());
- }
-
- InsertPoint saveAndClearIP() {
- InsertPoint IP(GetInsertBlock(), GetInsertPoint());
- ClearInsertionPoint();
- return IP;
- }
-
- void restoreIP(InsertPoint IP) {
- if (IP.isSet())
- SetInsertPoint(IP.getBlock(), IP.getPoint());
- else
- ClearInsertionPoint();
- }
-};
-
} // end namespace CodeGen
} // end namespace clang