IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp:156:35: error: no member named 'getVectorElementType' in 'llvm::Type'; did you mean 'getPointerElementType'? ldmcs->getType()->getVectorElementType() == m_builder->getInt32Ty()) ^~~~~~~~~~~~~~~~~~~~ getPointerElementType /usr/local/llvm11/include/llvm/IR/Type.h:370:9: note: 'getPointerElementType' declared here Type *getPointerElementType() const { ^ IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp:160:61: error: no member named 'getVectorNumElements' in 'llvm::Type' uint ldmcsNumOfElements = ldmcs->getType()->getVectorNumElements(); ~~~~~~~~~~~~~~~~ ^ IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp:161:71: error: no member named 'getVectorNumElements' in 'llvm::Type' uint newLdmcsNumOfElements = new_mcs_call->getType()->getVectorNumElements(); ~~~~~~~~~~~~~~~~~~~~~~~ ^ IGC/Compiler/Legalizer/InstPromoter.cpp:402:42: error: no member named 'getVectorNumElements' in 'llvm::Type' for (unsigned i = 0; i < DestTy->getVectorNumElements(); i++) ~~~~~~ ^ IGC/Compiler/Optimizer/OpenCLPasses/WIFuncs/WIFuncResolution.cpp:308:27: error: no member named 'getVectorNumElements' in 'llvm::Type' Size *= DataType->getVectorNumElements(); ~~~~~~~~ ^ IGC/VectorCompiler/lib/GenXCodeGen/GenXPatternMatch.cpp:2203:5: error: no matching function for call to 'RecursivelyDeleteTriviallyDeadInstructions' RecursivelyDeleteTriviallyDeadInstructions(ToErase); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/llvm11/include/llvm/Transforms/Utils/Local.h:161:6: note: candidate function not viable: no known conversion from 'SmallVector' to 'llvm::Value *' for 1st argument bool RecursivelyDeleteTriviallyDeadInstructions( ^ /usr/local/llvm11/include/llvm/Transforms/Utils/Local.h:173:6: note: candidate function not viable: no known conversion from 'SmallVector' to 'SmallVectorImpl &' for 1st argument void RecursivelyDeleteTriviallyDeadInstructions( ^ --- IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp.orig 2021-03-22 09:55:24 UTC +++ IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp @@ -153,12 +153,21 @@ void ConvertMSAAPayloadTo16Bit::visitCallInst(CallInst // There are uses of ldmcs other then ldms, using vector of int32 type. // Fix them to use newly created 16bit ldmcs. if (ldmcs->getType()->isVectorTy() && +#if LLVM_VERSION_MAJOR < 11 ldmcs->getType()->getVectorElementType() == m_builder->getInt32Ty()) +#else + cast(ldmcs->getType())->getElementType() == m_builder->getInt32Ty()) +#endif { m_builder->SetInsertPoint(ldmcs); +#if LLVM_VERSION_MAJOR < 11 uint ldmcsNumOfElements = ldmcs->getType()->getVectorNumElements(); uint newLdmcsNumOfElements = new_mcs_call->getType()->getVectorNumElements(); +#else + uint ldmcsNumOfElements = cast(ldmcs->getType())->getNumElements(); + uint newLdmcsNumOfElements = cast(new_mcs_call->getType())->getNumElements(); +#endif // vec of 16bit ints to vec of 32bit ints Type* newLdmcsVecType = VectorType::get(m_builder->getInt32Ty(), newLdmcsNumOfElements); --- IGC/Compiler/Legalizer/InstPromoter.cpp.orig 2021-02-08 08:48:29 UTC +++ IGC/Compiler/Legalizer/InstPromoter.cpp @@ -399,7 +399,11 @@ bool InstPromoter::visitBitCastInst(BitCastInst& I) { IRB->CreateBitCast(Val, VectorType::get(DestTy->getScalarType(), N)); std::vector Vals; +#if LLVM_VERSION_MAJOR < 11 for (unsigned i = 0; i < DestTy->getVectorNumElements(); i++) +#else + for (unsigned i = 0; i < cast(DestTy)->getNumElements(); i++) +#endif Vals.push_back(IRB->getInt32(i)); Value* Mask = ConstantVector::get(Vals); --- IGC/Compiler/Optimizer/OpenCLPasses/WIFuncs/WIFuncResolution.cpp.orig 2021-02-07 09:58:11 UTC +++ IGC/Compiler/Optimizer/OpenCLPasses/WIFuncs/WIFuncResolution.cpp @@ -305,7 +305,11 @@ static Value* BuildLoadInst(CallInst& CI, unsigned int auto Size = ElemByteSize; if (DataType->isVectorTy()) { +#if LLVM_VERSION_MAJOR < 11 Size *= DataType->getVectorNumElements(); +#else + Size *= cast(DataType)->getNumElements(); +#endif } unsigned int AlignedOffset = (Offset / ElemByteSize) * ElemByteSize; unsigned int LoadByteSize = (Offset == AlignedOffset) ? Size : Size * 2; --- IGC/VectorCompiler/lib/GenXCodeGen/GenXPatternMatch.cpp.orig 2021-02-15 09:29:30 UTC +++ IGC/VectorCompiler/lib/GenXCodeGen/GenXPatternMatch.cpp @@ -2194,7 +2194,11 @@ bool GenXPatternMatch::simplifySelect(Function *F) { bool GenXPatternMatch::clearDeadInstructions(Function &F) { bool Changed = false; +#if LLVM_VERSION_MAJOR < 11 SmallVector ToErase; +#else + SmallVector ToErase; +#endif for (auto &Inst : instructions(F)) if (isInstructionTriviallyDead(&Inst)) ToErase.push_back(&Inst);