diff --git a/gen/arrays.cpp b/gen/arrays.cpp index cadb2288..ee542ff5 100644 --- a/gen/arrays.cpp +++ b/gen/arrays.cpp @@ -70,18 +70,14 @@ LLStructType* DtoArrayType(Type* arrayTy) if (elemty == LLType::getVoidTy(gIR->context())) elemty = LLType::getInt8Ty(gIR->context()); - llvm::SmallVector elems; - elems.push_back(DtoSize_t()); - elems.push_back(getPtrToType(elemty)); - return LLStructType::get(gIR->context(), llvm::makeArrayRef(elems)); + llvm::Type *elems[] = { DtoSize_t(), getPtrToType(elemty) }; + return llvm::StructType::get(gIR->context(), elems, false); } LLStructType* DtoArrayType(LLType* t) { - llvm::SmallVector elems; - elems.push_back(DtoSize_t()); - elems.push_back(getPtrToType(t)); - return LLStructType::get(gIR->context(), llvm::makeArrayRef(elems)); + llvm::Type *elems[] = { DtoSize_t(), getPtrToType(t) }; + return llvm::StructType::get(gIR->context(), elems, false); } ////////////////////////////////////////////////////////////////////////////////////////// diff --git a/ir/irtype.cpp b/ir/irtype.cpp index 29eae044..bca0ad07 100644 --- a/ir/irtype.cpp +++ b/ir/irtype.cpp @@ -57,10 +57,8 @@ IrTypeBasic* IrTypeBasic::get(Type* dt) LLType* IrTypeBasic::getComplexType(llvm::LLVMContext& ctx, LLType* type) { - llvm::SmallVector types; - types.push_back(type); - types.push_back(type); - return llvm::StructType::get(ctx, types); + llvm::Type *types[] = { type, type }; + return llvm::StructType::get(ctx, types, false); } ////////////////////////////////////////////////////////////////////////////// @@ -235,10 +233,8 @@ IrTypeArray* IrTypeArray::get(Type* dt) // just as for pointers. if (!dt->irtype) { - llvm::SmallVector types; - types.push_back(DtoSize_t()); - types.push_back(llvm::PointerType::get(elemType, 0)); - LLType* at = llvm::StructType::get(llvm::getGlobalContext(), types/*, t->toChars()*/); + llvm::Type *types[] = { DtoSize_t(), llvm::PointerType::get(elemType, 0) }; + LLType* at = llvm::StructType::get(llvm::getGlobalContext(), types, false); dt->irtype = new IrTypeArray(dt, at); } diff --git a/ir/irtypefunction.cpp b/ir/irtypefunction.cpp index 66fda0c2..747311e5 100644 --- a/ir/irtypefunction.cpp +++ b/ir/irtypefunction.cpp @@ -72,10 +72,9 @@ IrTypeDelegate* IrTypeDelegate::get(Type* dt) "picked up random pre-existing type?" ); - llvm::SmallVector types; - types.push_back(getVoidPtrType()); - types.push_back(getPtrToType(dt->nextOf()->irtype->getLLType())); - LLStructType* lt = LLStructType::get(gIR->context(), types); + llvm::Type *types[] = { getVoidPtrType(), + getPtrToType(dt->nextOf()->irtype->getLLType()) }; + LLStructType* lt = LLStructType::get(gIR->context(), types, false); dt->irtype = new IrTypeDelegate(dt, lt); }