Update llvm::ConstantVector::getSplat() usage to take ElementCount

LLVM 11 removes support for llvm::ConstantVector::getSplat() to take an
integer number of vector elements obtained from the getNumElements()
method. Use the new getElementCount() approach instead.

See https://reviews.llvm.org/D74386

Bug: b/188819735
Bug: b/165000222
Bug: b/178600922
Change-Id: I202a8725e1e00f35d7f5d5ee76f5538243d157b9
Reviewed-on: https://swiftshader-review.googlesource.com/c/SwiftShader/+/52268
Presubmit-Ready: Nicolas Capens <nicolascapens@google.com>
Reviewed-by: Alexis Hétu <sugoi@google.com>
Tested-by: Nicolas Capens <nicolascapens@google.com>
Kokoro-Result: kokoro <noreply+kokoro@google.com>
diff --git a/src/Reactor/LLVMReactor.cpp b/src/Reactor/LLVMReactor.cpp
index 4d78d58..c9569b9 100644
--- a/src/Reactor/LLVMReactor.cpp
+++ b/src/Reactor/LLVMReactor.cpp
@@ -184,7 +184,11 @@
 	if(llvm::FixedVectorType *vectorTy = llvm::dyn_cast<llvm::FixedVectorType>(ty))
 	{
 		one = llvm::ConstantVector::getSplat(
+#	if LLVM_VERSION_MAJOR >= 11
+		    vectorTy->getElementCount(),
+#	else
 		    vectorTy->getNumElements(),
+#	endif
 		    llvm::ConstantFP::get(vectorTy->getElementType(), 1));
 	}
 	else
@@ -203,7 +207,11 @@
 {
 	llvm::FixedVectorType *ty = llvm::cast<llvm::FixedVectorType>(x->getType());
 	llvm::Value *y = llvm::ConstantVector::getSplat(
+#	if LLVM_VERSION_MAJOR >= 11
+	    ty->getElementCount(),
+#	else
 	    ty->getNumElements(),
+#	endif
 	    llvm::ConstantInt::get(ty->getElementType(), scalarY));
 	return jit->builder->CreateShl(x, y);
 }
@@ -212,7 +220,11 @@
 {
 	llvm::FixedVectorType *ty = llvm::cast<llvm::FixedVectorType>(x->getType());
 	llvm::Value *y = llvm::ConstantVector::getSplat(
+#	if LLVM_VERSION_MAJOR >= 11
+	    ty->getElementCount(),
+#	else
 	    ty->getNumElements(),
+#	endif
 	    llvm::ConstantInt::get(ty->getElementType(), scalarY));
 	return jit->builder->CreateAShr(x, y);
 }
@@ -221,7 +233,11 @@
 {
 	llvm::FixedVectorType *ty = llvm::cast<llvm::FixedVectorType>(x->getType());
 	llvm::Value *y = llvm::ConstantVector::getSplat(
+#	if LLVM_VERSION_MAJOR >= 11
+	    ty->getElementCount(),
+#	else
 	    ty->getNumElements(),
+#	endif
 	    llvm::ConstantInt::get(ty->getElementType(), scalarY));
 	return jit->builder->CreateLShr(x, y);
 }