diff gen/arrays.cpp @ 1571:8d086d552909

IntegerType is now contextifed. Requires llvm >= 78969. resistor says this will be the last context API change :)
author Benjamin Kramer <benny.kra@gmail.com>
date Fri, 14 Aug 2009 00:39:18 +0200
parents 755abafbf25d
children 5c0cebff9be8
line wrap: on
line diff
--- a/gen/arrays.cpp	Thu Aug 06 16:02:14 2009 +0200
+++ b/gen/arrays.cpp	Fri Aug 14 00:39:18 2009 +0200
@@ -24,8 +24,8 @@
 {
     assert(arrayTy->nextOf());
     const LLType* elemty = DtoType(arrayTy->nextOf());
-    if (elemty == LLType::VoidTy)
-        elemty = LLType::Int8Ty;
+    if (elemty == LLType::getVoidTy(gIR->context()))
+        elemty = LLType::getInt8Ty(gIR->context());
     return LLStructType::get(gIR->context(), DtoSize_t(), getPtrToType(elemty), NULL);
 }
 
@@ -44,8 +44,8 @@
     Type* tnext = tsa->nextOf();
 
     const LLType* elemty = DtoType(tnext);
-    if (elemty == LLType::VoidTy)
-        elemty = LLType::Int8Ty;
+    if (elemty == LLType::getVoidTy(gIR->context()))
+        elemty = LLType::getInt8Ty(gIR->context());
 
     return LLArrayType::get(elemty, tsa->dim->toUInteger());
 }
@@ -112,7 +112,7 @@
     switch (arrayelemty->ty)
     {
     case Tbool:
-        val = gIR->ir->CreateZExt(val, LLType::Int8Ty, ".bool");
+        val = gIR->ir->CreateZExt(val, LLType::getInt8Ty(gIR->context()), ".bool");
         // fall through
 
     case Tvoid:
@@ -713,10 +713,10 @@
     LLSmallVector<LLValue*, 3> args;
 
     // get values, reinterpret cast to void[]
-    lmem = DtoAggrPaint(l->getRVal(), DtoArrayType(LLType::Int8Ty));
+    lmem = DtoAggrPaint(l->getRVal(), DtoArrayType(LLType::getInt8Ty(gIR->context())));
     args.push_back(lmem);
 
-    rmem = DtoAggrPaint(r->getRVal(), DtoArrayType(LLType::Int8Ty));
+    rmem = DtoAggrPaint(r->getRVal(), DtoArrayType(LLType::getInt8Ty(gIR->context())));
     args.push_back(rmem);
 
     // pass array typeinfo ?
@@ -1040,8 +1040,8 @@
     // runtime check
 
     llvm::BasicBlock* oldend = gIR->scopeend();
-    llvm::BasicBlock* failbb = llvm::BasicBlock::Create("arrayboundscheckfail", gIR->topfunc(), oldend);
-    llvm::BasicBlock* okbb = llvm::BasicBlock::Create("arrayboundsok", gIR->topfunc(), oldend);
+    llvm::BasicBlock* failbb = llvm::BasicBlock::Create(gIR->context(), "arrayboundscheckfail", gIR->topfunc(), oldend);
+    llvm::BasicBlock* okbb = llvm::BasicBlock::Create(gIR->context(), "arrayboundsok", gIR->topfunc(), oldend);
 
     llvm::ICmpInst::Predicate cmpop = isslice ? llvm::ICmpInst::ICMP_ULE : llvm::ICmpInst::ICMP_ULT;
     LLValue* cond = gIR->ir->CreateICmp(cmpop, index->getRVal(), DtoArrayLen(arr), "boundscheck");