Don't rely on VectorType::get() default parameter

LLVM 11 deprecates the default boolean parameter which indicates whether
vector types are variable-length. Explicitly pass 'false'.

LLVM 11 introduces a FixedVectorType for this as well, which would help
readability, but we're still at LLVM 10.

Bug: b/165000222
Change-Id: I5404cfc8eea9553e15bfb54b2d3278bdf079612f
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/47768
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
diff --git a/src/Reactor/LLVMReactor.cpp b/src/Reactor/LLVMReactor.cpp
index c55bc8d..8eb4c7f 100644
--- a/src/Reactor/LLVMReactor.cpp
+++ b/src/Reactor/LLVMReactor.cpp
@@ -367,12 +367,12 @@
 	auto i8Ty = ::llvm::Type::getInt8Ty(jit->context);
 	auto i8PtrTy = i8Ty->getPointerTo();
 	auto elPtrTy = elTy->getPointerTo();
-	auto elVecTy = ::llvm::VectorType::get(elTy, numEls);
-	auto elPtrVecTy = ::llvm::VectorType::get(elPtrTy, numEls);
+	auto elVecTy = ::llvm::VectorType::get(elTy, numEls, false);
+	auto elPtrVecTy = ::llvm::VectorType::get(elPtrTy, numEls, false);
 	auto i8Base = jit->builder->CreatePointerCast(base, i8PtrTy);
 	auto i8Ptrs = jit->builder->CreateGEP(i8Base, offsets);
 	auto elPtrs = jit->builder->CreatePointerCast(i8Ptrs, elPtrVecTy);
-	auto i8Mask = jit->builder->CreateIntCast(mask, ::llvm::VectorType::get(i1Ty, numEls), false);  // vec<int, int, ...> -> vec<bool, bool, ...>
+	auto i8Mask = jit->builder->CreateIntCast(mask, ::llvm::VectorType::get(i1Ty, numEls, false), false);  // vec<int, int, ...> -> vec<bool, bool, ...>
 	auto passthrough = zeroMaskedLanes ? ::llvm::Constant::getNullValue(elVecTy) : llvm::UndefValue::get(elVecTy);
 	auto align = ::llvm::ConstantInt::get(i32Ty, alignment);
 	auto func = ::llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::masked_gather, { elVecTy, elPtrVecTy });
@@ -394,11 +394,11 @@
 	auto elVecTy = val->getType();
 	auto elTy = llvm::cast<llvm::VectorType>(elVecTy)->getElementType();
 	auto elPtrTy = elTy->getPointerTo();
-	auto elPtrVecTy = ::llvm::VectorType::get(elPtrTy, numEls);
+	auto elPtrVecTy = ::llvm::VectorType::get(elPtrTy, numEls, false);
 	auto i8Base = jit->builder->CreatePointerCast(base, i8PtrTy);
 	auto i8Ptrs = jit->builder->CreateGEP(i8Base, offsets);
 	auto elPtrs = jit->builder->CreatePointerCast(i8Ptrs, elPtrVecTy);
-	auto i1Mask = jit->builder->CreateIntCast(mask, ::llvm::VectorType::get(i1Ty, numEls), false);  // vec<int, int, ...> -> vec<bool, bool, ...>
+	auto i1Mask = jit->builder->CreateIntCast(mask, ::llvm::VectorType::get(i1Ty, numEls, false), false);  // vec<int, int, ...> -> vec<bool, bool, ...>
 	auto align = ::llvm::ConstantInt::get(i32Ty, alignment);
 	auto func = ::llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::masked_scatter, { elVecTy, elPtrVecTy });
 	jit->builder->CreateCall(func, { val, elPtrs, align, i1Mask });
@@ -934,7 +934,7 @@
 		case Type_v2f32:
 			return createBitCast(
 			    createInsertElement(
-			        V(llvm::UndefValue::get(llvm::VectorType::get(T(Long::type()), 2))),
+			        V(llvm::UndefValue::get(llvm::VectorType::get(T(Long::type()), 2, false))),
 			        createLoad(createBitCast(ptr, Pointer<Long>::type()), Long::type(), isVolatile, alignment, atomic, memoryOrder),
 			        0),
 			    type);
@@ -942,7 +942,7 @@
 		case Type_v4i8:
 			if(alignment != 0)  // Not a local variable (all vectors are 128-bit).
 			{
-				Value *u = V(llvm::UndefValue::get(llvm::VectorType::get(T(Long::type()), 2)));
+				Value *u = V(llvm::UndefValue::get(llvm::VectorType::get(T(Long::type()), 2, false)));
 				Value *i = createLoad(createBitCast(ptr, Pointer<Int>::type()), Int::type(), isVolatile, alignment, atomic, memoryOrder);
 				i = createZExt(i, Long::type());
 				Value *v = createInsertElement(u, i, 0);
@@ -1018,7 +1018,7 @@
 		case Type_v2f32:
 			createStore(
 			    createExtractElement(
-			        createBitCast(value, T(llvm::VectorType::get(T(Long::type()), 2))), Long::type(), 0),
+			        createBitCast(value, T(llvm::VectorType::get(T(Long::type()), 2, false))), Long::type(), 0),
 			    createBitCast(ptr, Pointer<Long>::type()),
 			    Long::type(), isVolatile, alignment, atomic, memoryOrder);
 			return value;
@@ -1117,9 +1117,9 @@
 	auto numEls = llvm::cast<llvm::VectorType>(V(mask)->getType())->getNumElements();
 	auto i1Ty = ::llvm::Type::getInt1Ty(jit->context);
 	auto i32Ty = ::llvm::Type::getInt32Ty(jit->context);
-	auto elVecTy = ::llvm::VectorType::get(T(elTy), numEls);
+	auto elVecTy = ::llvm::VectorType::get(T(elTy), numEls, false);
 	auto elVecPtrTy = elVecTy->getPointerTo();
-	auto i8Mask = jit->builder->CreateIntCast(V(mask), ::llvm::VectorType::get(i1Ty, numEls), false);  // vec<int, int, ...> -> vec<bool, bool, ...>
+	auto i8Mask = jit->builder->CreateIntCast(V(mask), ::llvm::VectorType::get(i1Ty, numEls, false), false);  // vec<int, int, ...> -> vec<bool, bool, ...>
 	auto passthrough = zeroMaskedLanes ? ::llvm::Constant::getNullValue(elVecTy) : llvm::UndefValue::get(elVecTy);
 	auto align = ::llvm::ConstantInt::get(i32Ty, alignment);
 	auto func = ::llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::masked_load, { elVecTy, elVecPtrTy });
@@ -1139,7 +1139,7 @@
 	auto i32Ty = ::llvm::Type::getInt32Ty(jit->context);
 	auto elVecTy = V(val)->getType();
 	auto elVecPtrTy = elVecTy->getPointerTo();
-	auto i1Mask = jit->builder->CreateIntCast(V(mask), ::llvm::VectorType::get(i1Ty, numEls), false);  // vec<int, int, ...> -> vec<bool, bool, ...>
+	auto i1Mask = jit->builder->CreateIntCast(V(mask), ::llvm::VectorType::get(i1Ty, numEls, false), false);  // vec<int, int, ...> -> vec<bool, bool, ...>
 	auto align = ::llvm::ConstantInt::get(i32Ty, alignment);
 	auto func = ::llvm::Intrinsic::getDeclaration(jit->module.get(), llvm::Intrinsic::masked_store, { elVecTy, elVecPtrTy });
 	jit->builder->CreateCall(func, { V(val), V(ptr), align, i1Mask });
@@ -1882,12 +1882,12 @@
 
 Type *Byte16::type()
 {
-	return T(llvm::VectorType::get(T(Byte::type()), 16));
+	return T(llvm::VectorType::get(T(Byte::type()), 16, false));
 }
 
 Type *SByte16::type()
 {
-	return T(llvm::VectorType::get(T(SByte::type()), 16));
+	return T(llvm::VectorType::get(T(SByte::type()), 16, false));
 }
 
 Type *Short2::type()
@@ -2205,7 +2205,7 @@
 
 Type *Short8::type()
 {
-	return T(llvm::VectorType::get(T(Short::type()), 8));
+	return T(llvm::VectorType::get(T(Short::type()), 8, false));
 }
 
 RValue<UShort8> operator<<(RValue<UShort8> lhs, unsigned char rhs)
@@ -2240,7 +2240,7 @@
 
 Type *UShort8::type()
 {
-	return T(llvm::VectorType::get(T(UShort::type()), 8));
+	return T(llvm::VectorType::get(T(UShort::type()), 8, false));
 }
 
 RValue<Int> operator++(Int &val, int)  // Post-increment
@@ -2674,7 +2674,7 @@
 
 Type *Int4::type()
 {
-	return T(llvm::VectorType::get(T(Int::type()), 4));
+	return T(llvm::VectorType::get(T(Int::type()), 4, false));
 }
 
 UInt4::UInt4(RValue<Float4> cast)
@@ -2788,7 +2788,7 @@
 
 Type *UInt4::type()
 {
-	return T(llvm::VectorType::get(T(UInt::type()), 4));
+	return T(llvm::VectorType::get(T(UInt::type()), 4, false));
 }
 
 Type *Half::type()
@@ -3381,7 +3381,7 @@
 
 Type *Float4::type()
 {
-	return T(llvm::VectorType::get(T(Float::type()), 4));
+	return T(llvm::VectorType::get(T(Float::type()), 4, false));
 }
 
 RValue<Long> Ticks()