Commit 85ea733c by Nicolas Capens Committed by Nicolas Capens

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: 's avatarAlexis Hétu <sugoi@google.com> Tested-by: 's avatarNicolas Capens <nicolascapens@google.com> Kokoro-Result: kokoro <noreply+kokoro@google.com>
parent 024bf325
...@@ -184,7 +184,11 @@ llvm::Value *lowerRCP(llvm::Value *x) ...@@ -184,7 +184,11 @@ llvm::Value *lowerRCP(llvm::Value *x)
if(llvm::FixedVectorType *vectorTy = llvm::dyn_cast<llvm::FixedVectorType>(ty)) if(llvm::FixedVectorType *vectorTy = llvm::dyn_cast<llvm::FixedVectorType>(ty))
{ {
one = llvm::ConstantVector::getSplat( one = llvm::ConstantVector::getSplat(
# if LLVM_VERSION_MAJOR >= 11
vectorTy->getElementCount(),
# else
vectorTy->getNumElements(), vectorTy->getNumElements(),
# endif
llvm::ConstantFP::get(vectorTy->getElementType(), 1)); llvm::ConstantFP::get(vectorTy->getElementType(), 1));
} }
else else
...@@ -203,7 +207,11 @@ llvm::Value *lowerVectorShl(llvm::Value *x, uint64_t scalarY) ...@@ -203,7 +207,11 @@ llvm::Value *lowerVectorShl(llvm::Value *x, uint64_t scalarY)
{ {
llvm::FixedVectorType *ty = llvm::cast<llvm::FixedVectorType>(x->getType()); llvm::FixedVectorType *ty = llvm::cast<llvm::FixedVectorType>(x->getType());
llvm::Value *y = llvm::ConstantVector::getSplat( llvm::Value *y = llvm::ConstantVector::getSplat(
# if LLVM_VERSION_MAJOR >= 11
ty->getElementCount(),
# else
ty->getNumElements(), ty->getNumElements(),
# endif
llvm::ConstantInt::get(ty->getElementType(), scalarY)); llvm::ConstantInt::get(ty->getElementType(), scalarY));
return jit->builder->CreateShl(x, y); return jit->builder->CreateShl(x, y);
} }
...@@ -212,7 +220,11 @@ llvm::Value *lowerVectorAShr(llvm::Value *x, uint64_t scalarY) ...@@ -212,7 +220,11 @@ llvm::Value *lowerVectorAShr(llvm::Value *x, uint64_t scalarY)
{ {
llvm::FixedVectorType *ty = llvm::cast<llvm::FixedVectorType>(x->getType()); llvm::FixedVectorType *ty = llvm::cast<llvm::FixedVectorType>(x->getType());
llvm::Value *y = llvm::ConstantVector::getSplat( llvm::Value *y = llvm::ConstantVector::getSplat(
# if LLVM_VERSION_MAJOR >= 11
ty->getElementCount(),
# else
ty->getNumElements(), ty->getNumElements(),
# endif
llvm::ConstantInt::get(ty->getElementType(), scalarY)); llvm::ConstantInt::get(ty->getElementType(), scalarY));
return jit->builder->CreateAShr(x, y); return jit->builder->CreateAShr(x, y);
} }
...@@ -221,7 +233,11 @@ llvm::Value *lowerVectorLShr(llvm::Value *x, uint64_t scalarY) ...@@ -221,7 +233,11 @@ llvm::Value *lowerVectorLShr(llvm::Value *x, uint64_t scalarY)
{ {
llvm::FixedVectorType *ty = llvm::cast<llvm::FixedVectorType>(x->getType()); llvm::FixedVectorType *ty = llvm::cast<llvm::FixedVectorType>(x->getType());
llvm::Value *y = llvm::ConstantVector::getSplat( llvm::Value *y = llvm::ConstantVector::getSplat(
# if LLVM_VERSION_MAJOR >= 11
ty->getElementCount(),
# else
ty->getNumElements(), ty->getNumElements(),
# endif
llvm::ConstantInt::get(ty->getElementType(), scalarY)); llvm::ConstantInt::get(ty->getElementType(), scalarY));
return jit->builder->CreateLShr(x, y); return jit->builder->CreateLShr(x, y);
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment