swr: Fix build with llvm-9.0.
Fix build error after llvm-9.0svn r352827 ("[opaque pointer types] Add a
FunctionCallee wrapper type, and use it.").
In file included from ./rasterizer/jitter/builder.h:158:0,
from swr_shader.cpp:35:
./rasterizer/jitter/gen_builder_meta.hpp: In member function ‘llvm::Value* SwrJit::Builder::VGATHERPD(llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, llvm::Value*, const llvm:
:Twine&)’:
./rasterizer/jitter/gen_builder_meta.hpp:51:117: error: no matching function for call to ‘cast(llvm::FunctionCallee)’
Function* pFunc = cast<Function>(JM()->mpCurrentModule->getOrInsertFunction("meta.intrinsic.VGATHERPD", pFuncTy));
^
Suggested-by: Philip Meulengracht <the_meulengracht@hotmail.com>
Signed-off-by: Vinson Lee <vlee@freedesktop.org>
Reviewed-by: Alok Hota <alok.hota@intel.com>
This commit is contained in:
@@ -50,7 +50,11 @@ ${func['decl']}
|
||||
%else:
|
||||
FunctionType* pFuncTy = FunctionType::get(${ func['returnType'] }, {}, false);
|
||||
%endif:
|
||||
#if LLVM_VERSION_MAJOR >= 9
|
||||
Function* pFunc = cast<Function>(JM()->mpCurrentModule->getOrInsertFunction("meta.intrinsic.${func['name']}", pFuncTy).getCallee());
|
||||
#else
|
||||
Function* pFunc = cast<Function>(JM()->mpCurrentModule->getOrInsertFunction("meta.intrinsic.${func['name']}", pFuncTy));
|
||||
#endif
|
||||
return CALL(pFunc, std::initializer_list<Value*>{${argList}}, name);
|
||||
%elif isIntrin:
|
||||
%if len(func['types']) != 0:
|
||||
|
||||
@@ -445,7 +445,11 @@ namespace SwrJit
|
||||
args.push_back(PointerType::get(mInt8Ty, 0));
|
||||
FunctionType* callPrintTy = FunctionType::get(Type::getVoidTy(JM()->mContext), args, true);
|
||||
Function* callPrintFn =
|
||||
#if LLVM_VERSION_MAJOR >= 9
|
||||
cast<Function>(JM()->mpCurrentModule->getOrInsertFunction("CallPrint", callPrintTy).getCallee());
|
||||
#else
|
||||
cast<Function>(JM()->mpCurrentModule->getOrInsertFunction("CallPrint", callPrintTy));
|
||||
#endif
|
||||
|
||||
// if we haven't yet added the symbol to the symbol table
|
||||
if ((sys::DynamicLibrary::SearchForAddressOfSymbol("CallPrint")) == nullptr)
|
||||
@@ -614,7 +618,11 @@ namespace SwrJit
|
||||
{
|
||||
FunctionType* pFuncTy = FunctionType::get(mFP32Ty, mInt16Ty);
|
||||
Function* pCvtPh2Ps = cast<Function>(
|
||||
#if LLVM_VERSION_MAJOR >= 9
|
||||
JM()->mpCurrentModule->getOrInsertFunction("ConvertFloat16ToFloat32", pFuncTy).getCallee());
|
||||
#else
|
||||
JM()->mpCurrentModule->getOrInsertFunction("ConvertFloat16ToFloat32", pFuncTy));
|
||||
#endif
|
||||
|
||||
if (sys::DynamicLibrary::SearchForAddressOfSymbol("ConvertFloat16ToFloat32") == nullptr)
|
||||
{
|
||||
@@ -650,7 +658,11 @@ namespace SwrJit
|
||||
// call scalar C function for now
|
||||
FunctionType* pFuncTy = FunctionType::get(mInt16Ty, mFP32Ty);
|
||||
Function* pCvtPs2Ph = cast<Function>(
|
||||
#if LLVM_VERSION_MAJOR >= 9
|
||||
JM()->mpCurrentModule->getOrInsertFunction("ConvertFloat32ToFloat16", pFuncTy).getCallee());
|
||||
#else
|
||||
JM()->mpCurrentModule->getOrInsertFunction("ConvertFloat32ToFloat16", pFuncTy));
|
||||
#endif
|
||||
|
||||
if (sys::DynamicLibrary::SearchForAddressOfSymbol("ConvertFloat32ToFloat16") == nullptr)
|
||||
{
|
||||
@@ -928,7 +940,11 @@ namespace SwrJit
|
||||
|
||||
FunctionType* pFuncTy = FunctionType::get(Type::getVoidTy(JM()->mContext), args, false);
|
||||
Function* pFunc = cast<Function>(
|
||||
#if LLVM_VERSION_MAJOR >= 9
|
||||
JM()->mpCurrentModule->getOrInsertFunction("BucketManager_StartBucket", pFuncTy).getCallee());
|
||||
#else
|
||||
JM()->mpCurrentModule->getOrInsertFunction("BucketManager_StartBucket", pFuncTy));
|
||||
#endif
|
||||
if (sys::DynamicLibrary::SearchForAddressOfSymbol("BucketManager_StartBucket") ==
|
||||
nullptr)
|
||||
{
|
||||
@@ -953,7 +969,11 @@ namespace SwrJit
|
||||
|
||||
FunctionType* pFuncTy = FunctionType::get(Type::getVoidTy(JM()->mContext), args, false);
|
||||
Function* pFunc = cast<Function>(
|
||||
#if LLVM_VERSION_MAJOR >=9
|
||||
JM()->mpCurrentModule->getOrInsertFunction("BucketManager_StopBucket", pFuncTy).getCallee());
|
||||
#else
|
||||
JM()->mpCurrentModule->getOrInsertFunction("BucketManager_StopBucket", pFuncTy));
|
||||
#endif
|
||||
if (sys::DynamicLibrary::SearchForAddressOfSymbol("BucketManager_StopBucket") ==
|
||||
nullptr)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user