]> granicus.if.org Git - clang/commitdiff
Update for IRBuilder template change (update LLVM!)
authorDaniel Dunbar <daniel@zuster.org>
Mon, 11 Aug 2008 16:50:21 +0000 (16:50 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Mon, 11 Aug 2008 16:50:21 +0000 (16:50 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54642 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDebugInfo.h
lib/CodeGen/CGObjCRuntime.h

index d94619b391df681092fb95195350831f8398d0f8..7e41143837c3e321bca759b4007e5145d017f0e8 100644 (file)
 
 #include "clang/AST/Type.h"
 #include "clang/Basic/SourceLocation.h"
+#include "llvm/Support/IRBuilder.h"
 #include <map>
 #include <vector>
 
 
 namespace llvm {
   class Function;
-  template<bool C> class IRBuilder;
   class DISerializer;
   class CompileUnitDesc;
   class BasicBlock;
@@ -54,6 +54,8 @@ private:
   SourceLocation CurLoc;
   SourceLocation PrevLoc;
 
+  typedef llvm::IRBuilder<> BuilderType;
+
   /// CompileUnitCache - Cache of previously constructed CompileUnits.
   std::map<unsigned, llvm::CompileUnitDesc *> CompileUnitCache;
 
@@ -103,24 +105,24 @@ public:
 
   /// EmitStopPoint - Emit a call to llvm.dbg.stoppoint to indicate a change of
   /// source line.
-  void EmitStopPoint(llvm::Function *Fn, llvm::IRBuilder<true> &Builder);
+  void EmitStopPoint(llvm::Function *Fn, BuilderType &Builder);
 
   /// EmitFunctionStart - Emit a call to llvm.dbg.function.start to indicate
   /// start of a new function
   void EmitFunctionStart(const FunctionDecl *FnDecl, llvm::Function *Fn,
-                         llvm::IRBuilder<true> &Builder);
+                         BuilderType &Builder);
   
   /// EmitRegionStart - Emit a call to llvm.dbg.region.start to indicate start
   /// of a new block.  
-  void EmitRegionStart(llvm::Function *Fn, llvm::IRBuilder<true> &Builder);
+  void EmitRegionStart(llvm::Function *Fn, BuilderType &Builder);
   
   /// EmitRegionEnd - Emit call to llvm.dbg.region.end to indicate end of a 
   /// block.
-  void EmitRegionEnd(llvm::Function *Fn, llvm::IRBuilder<true> &Builder);
+  void EmitRegionEnd(llvm::Function *Fn, BuilderType &Builder);
 
   /// EmitDeclare - Emit call to llvm.dbg.declare for a variable declaration.
   void EmitDeclare(const VarDecl *decl, unsigned Tag, llvm::Value *AI,
-                   llvm::IRBuilder<true> &Builder);
+                   BuilderType &Builder);
 
   /// EmitGlobalVariable - Emit information about a global variable.
   void EmitGlobalVariable(llvm::GlobalVariable *GV, const VarDecl *decl);
index c03857fab0fd872bafdd46f358e6e29ead92e1c2..4610ef8b65e0ff1b3ad2f9330589f19c0c1f47df 100644 (file)
 #define CLANG_CODEGEN_OBCJRUNTIME_H
 #include "clang/Basic/IdentifierTable.h" // Selector
 #include "llvm/ADT/SmallVector.h"
+#include "llvm/Support/IRBuilder.h"
 #include <string>
 
 namespace llvm {
-  template<bool C> class IRBuilder;
   class Constant;
   class Type;
   class Value;
@@ -39,11 +39,13 @@ namespace CodeGen {
 
 /// Implements runtime-specific code generation functions.
 class CGObjCRuntime {
+  typedef llvm::IRBuilder<> BuilderType;
+
 public:
   virtual ~CGObjCRuntime();
   
   /// Generate an Objective-C message send operation
-  virtual llvm::Value *GenerateMessageSend(llvm::IRBuilder<true> &Builder,
+  virtual llvm::Value *GenerateMessageSend(BuilderType &Builder,
                                            const llvm::Type *ReturnTy,
                                            llvm::Value *Sender,
                                            llvm::Value *Receiver,
@@ -54,7 +56,7 @@ public:
   /// this compilation unit with the runtime library.
   virtual llvm::Function *ModuleInitFunction() =0;
   /// Get a selector for the specified name and type values
-  virtual llvm::Value *GetSelector(llvm::IRBuilder<true> &Builder,
+  virtual llvm::Value *GetSelector(BuilderType &Builder,
                                    Selector Sel) =0;
   /// Generate a constant string object
   virtual llvm::Constant *GenerateConstantString(const char *String,
@@ -111,7 +113,7 @@ public:
                                          bool isClassMethod,
                                          bool isVarArg) = 0;
   /// Look up the class for the specified name
-  virtual llvm::Value *LookupClass(llvm::IRBuilder<true> &Builder, 
+  virtual llvm::Value *LookupClass(BuilderType &Builder, 
                                    llvm::Value *ClassName) =0;
   /// If instance variable addresses are determined at runtime then this should
   /// return true, otherwise instance variables will be accessed directly from