update to make IRBuilder API change.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@54548 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjCRuntime.h b/lib/CodeGen/CGObjCRuntime.h
index a5d88c3..c2f9f54 100644
--- a/lib/CodeGen/CGObjCRuntime.h
+++ b/lib/CodeGen/CGObjCRuntime.h
@@ -19,7 +19,7 @@
 #include <string>
 
 namespace llvm {
-  class IRBuilder;
+  template<bool C> class IRBuilder;
   class Constant;
   class Type;
   class Value;
@@ -42,7 +42,7 @@
   virtual ~CGObjCRuntime();
   
   /// Generate an Objective-C message send operation
-  virtual llvm::Value *GenerateMessageSend(llvm::IRBuilder &Builder,
+  virtual llvm::Value *GenerateMessageSend(llvm::IRBuilder<true> &Builder,
                                            const llvm::Type *ReturnTy,
                                            llvm::Value *Sender,
                                            llvm::Value *Receiver,
@@ -53,7 +53,8 @@
   /// 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 &Builder, Selector Sel) = 0;
+  virtual llvm::Value *GetSelector(llvm::IRBuilder<true> &Builder,
+                                   Selector Sel) =0;
   /// Generate a constant string object
   virtual llvm::Constant *GenerateConstantString(const char *String,
                                                  const size_t Length) = 0;
@@ -79,9 +80,9 @@
              const llvm::SmallVectorImpl<llvm::Constant *>  &ClassMethodTypes,
              const llvm::SmallVectorImpl<std::string> &Protocols) =0;
   /// Generate a reference to the named protocol.
-  virtual llvm::Value *GenerateProtocolRef(llvm::IRBuilder &Builder, const char
-      *ProtocolName) =0;
-  virtual llvm::Value *GenerateMessageSendSuper(llvm::IRBuilder &Builder,
+  virtual llvm::Value *GenerateProtocolRef(llvm::IRBuilder<true> &Builder,
+                                           const char *ProtocolName) =0;
+  virtual llvm::Value *GenerateMessageSendSuper(llvm::IRBuilder<true> &Builder,
                                                 const llvm::Type *ReturnTy,
                                                 llvm::Value *Sender,
                                                 const char *SuperClassName,
@@ -109,8 +110,8 @@
                                          bool isClassMethod,
                                          bool isVarArg) = 0;
   /// Look up the class for the specified name
-  virtual llvm::Value *LookupClass(llvm::IRBuilder &Builder, llvm::Value
-      *ClassName) =0;
+  virtual llvm::Value *LookupClass(llvm::IRBuilder<true> &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
   /// the structure.  If this returns true then @defs is invalid for this