aboutsummaryrefslogtreecommitdiff
path: root/lib/CodeGen/CGObjCEtoile.cpp
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2008-04-13 07:32:11 +0000
committerChris Lattner <sabre@nondot.org>2008-04-13 07:32:11 +0000
commit50b36741673258aaebcd3c7fe1260031901cae57 (patch)
treef462debf1528d5b4d59be74eaf7015dff86e1ddf /lib/CodeGen/CGObjCEtoile.cpp
parent1b30cb27f894687c6021e7331265ae21aeb57d3f (diff)
update to follow mainline llvm API change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49607 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/CGObjCEtoile.cpp')
-rw-r--r--lib/CodeGen/CGObjCEtoile.cpp29
1 files changed, 13 insertions, 16 deletions
diff --git a/lib/CodeGen/CGObjCEtoile.cpp b/lib/CodeGen/CGObjCEtoile.cpp
index efd5fac329..4ff48f12b6 100644
--- a/lib/CodeGen/CGObjCEtoile.cpp
+++ b/lib/CodeGen/CGObjCEtoile.cpp
@@ -14,7 +14,7 @@
#include "CGObjCRuntime.h"
#include "llvm/Module.h"
#include "llvm/Support/Compiler.h"
-#include "llvm/Support/LLVMBuilder.h"
+#include "llvm/Support/IRBuilder.h"
#include "llvm/ADT/SmallVector.h"
namespace {
@@ -36,14 +36,14 @@ public:
CGObjCEtoile(llvm::Module &Mp,
const llvm::Type *LLVMIntType,
const llvm::Type *LLVMLongType);
- virtual llvm::Value *generateMessageSend(llvm::LLVMFoldingBuilder &Builder,
+ virtual llvm::Value *generateMessageSend(llvm::IRBuilder &Builder,
const llvm::Type *ReturnTy,
llvm::Value *Sender,
llvm::Value *Receiver,
llvm::Value *Selector,
llvm::Value** ArgV,
unsigned ArgC);
- llvm::Value *getSelector(llvm::LLVMFoldingBuilder &Builder,
+ llvm::Value *getSelector(llvm::IRBuilder &Builder,
llvm::Value *SelName,
llvm::Value *SelTypes);
virtual llvm::Function *MethodPreamble(const llvm::Type *ReturnTy,
@@ -117,7 +117,7 @@ CGObjCEtoile::CGObjCEtoile(llvm::Module &M,
}
/// Looks up the selector for the specified name / type pair.
-llvm::Value *CGObjCEtoile::getSelector(llvm::LLVMFoldingBuilder &Builder,
+llvm::Value *CGObjCEtoile::getSelector(llvm::IRBuilder &Builder,
llvm::Value *SelName,
llvm::Value *SelTypes)
{
@@ -137,23 +137,20 @@ llvm::Value *CGObjCEtoile::getSelector(llvm::LLVMFoldingBuilder &Builder,
return Builder.CreateCall(SelFunction, Args.begin(), Args.end());
}
-static void SetField(llvm::LLVMFoldingBuilder &Builder,
- llvm::Value *Structure,
- unsigned Index,
- llvm::Value *Value) {
+static void SetField(llvm::IRBuilder &Builder, llvm::Value *Structure,
+ unsigned Index, llvm::Value *Value) {
llvm::Value *element_ptr = Builder.CreateStructGEP(Structure, Index);
Builder.CreateStore(Value, element_ptr);
}
// Generate code for a message send expression on the Etoile runtime.
// BIG FAT WARNING: Much of this code will need factoring out later.
-llvm::Value *CGObjCEtoile::generateMessageSend(
- llvm::LLVMFoldingBuilder &Builder,
- const llvm::Type *ReturnTy,
- llvm::Value *Sender,
- llvm::Value *Receiver,
- llvm::Value *Selector,
- llvm::Value** ArgV,
- unsigned ArgC) {
+llvm::Value *CGObjCEtoile::generateMessageSend(llvm::IRBuilder &Builder,
+ const llvm::Type *ReturnTy,
+ llvm::Value *Sender,
+ llvm::Value *Receiver,
+ llvm::Value *Selector,
+ llvm::Value** ArgV,
+ unsigned ArgC) {
// FIXME: Selectors should be statically cached, not looked up on every call.
llvm::Value *cmd = getSelector(Builder, Selector, 0);
// TODO: [Polymorphic] inline caching