Index: head/devel/intel-graphics-compiler/Makefile =================================================================== --- head/devel/intel-graphics-compiler/Makefile (revision 560421) +++ head/devel/intel-graphics-compiler/Makefile (revision 560422) @@ -1,54 +1,54 @@ # $FreeBSD$ PORTNAME= intel-graphics-compiler DISTVERSIONPREFIX= igc- -DISTVERSION= 1.0.5884 +DISTVERSION= 1.0.5964 CATEGORIES= devel PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ PATCHFILES+= d878880cbb3b.patch:-p1 # https://github.com/intel/intel-graphics-compiler/pull/129 PATCHFILES+= f44eb990ac84.patch:-p1 # https://github.com/intel/intel-graphics-compiler/pull/156 PATCHFILES+= 02d82a7ccbe6.patch:-p1 # https://github.com/intel/intel-graphics-compiler/pull/156 MAINTAINER= jbeich@FreeBSD.org COMMENT= Intel Graphics Compiler for OpenCL LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.md ONLY_FOR_ARCHS= amd64 i386 ONLY_FOR_ARCHS_REASON= Only Intel GPUs on x86 are supported LIB_DEPENDS= libopencl-clang.so:devel/opencl-clang USES= bison cmake compiler:c++17-lang python:build USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= intel GH_TUPLE= intel:vc-intrinsics:2de2dd4:vcintrin/../vc-intrinsics CMAKE_OFF= INSTALL_SPIRVDLL CFLAGS+= -Wno-macro-redefined # __fastcall PLIST_SUB= ARCH_SUFX=${ARCH:S/i386/32/:S/amd//:S/x86_//} post-patch: # lang/python* don't install unsuffixed symlinks @${REINPLACE_CMD} -i .python \ -e '/EXECUTABLE/s/"python"/"${PYTHON_CMD:T}"/' \ -e '/IGC_PYTHON/s/"python"/"${PYTHON_CMD:T}"/' \ ${WRKSRC}/IGC/CMakeLists.txt \ ${WRKSRC}/IGC/BiFModule/CMakeLists.txt # devel/llvm* have different naming from upstream under PATH @${REINPLACE_CMD} -e '/clang-\$$/s//clang$$/' \ ${WRKSRC}/IGC/BiFModule/CMakeLists.txt # No need to abort on every benign warning enabled by default @${REINPLACE_CMD} -e 's/"-Werror"//; /-Werror/d' \ ${WRKSRC}/IGC/CMakeLists.txt pre-configure: # Only one libLLVM can be loaded, so use the same version as devel/opencl-clang @for f in ${LOCALBASE}/lib/libopencl-clang.so.*; do \ ${REINPLACE_CMD} "/set.*LLVM_VERSION/s/\".*\"/\"$${f##*so.}\"/" \ ${WRKSRC}/IGC/CMakeLists.txt; \ done .include Index: head/devel/intel-graphics-compiler/distinfo =================================================================== --- head/devel/intel-graphics-compiler/distinfo (revision 560421) +++ head/devel/intel-graphics-compiler/distinfo (revision 560422) @@ -1,11 +1,11 @@ -TIMESTAMP = 1607752911 -SHA256 (intel-intel-graphics-compiler-igc-1.0.5884_GH0.tar.gz) = 9bf29ef4c70ff7951f67861c21825e5f341716b8cc48af29aef3fc023845d7a7 -SIZE (intel-intel-graphics-compiler-igc-1.0.5884_GH0.tar.gz) = 7169150 +TIMESTAMP = 1608815061 +SHA256 (intel-intel-graphics-compiler-igc-1.0.5964_GH0.tar.gz) = 2edc768d3ffa25879dda23766bd1b56d08f3d4db1d51e66ec8195e02e7479f00 +SIZE (intel-intel-graphics-compiler-igc-1.0.5964_GH0.tar.gz) = 7174618 SHA256 (intel-vc-intrinsics-2de2dd4_GH0.tar.gz) = 30e6faf9add7c8773aa99641d2f366b7455b267232a47323acda1742640ef643 SIZE (intel-vc-intrinsics-2de2dd4_GH0.tar.gz) = 120395 SHA256 (d878880cbb3b.patch) = f430b2da0d212594ce73f23b279a1435f08dea60f30ec35494411ab0dc0fcf70 SIZE (d878880cbb3b.patch) = 9088 SHA256 (f44eb990ac84.patch) = 4774683855caa8ef44a85a43356b7d509683bbdbef23e31ab6f5e4075715d67c SIZE (f44eb990ac84.patch) = 1547 SHA256 (02d82a7ccbe6.patch) = 396198830fb7e55318a870d46e93d93aaa5dca90a7979e3b3f7afcca965f1938 SIZE (02d82a7ccbe6.patch) = 1292 Index: head/devel/intel-graphics-compiler/files/patch-llvm11 =================================================================== --- head/devel/intel-graphics-compiler/files/patch-llvm11 (revision 560421) +++ head/devel/intel-graphics-compiler/files/patch-llvm11 (revision 560422) @@ -1,53 +1,53 @@ IGC/VectorCompiler/lib/GenXCodeGen/GenXPatternMatch.cpp:2148:16: error: call to 'invertCondition' is ambiguous Mask = invertCondition(Mask); ^~~~~~~~~~~~~~~ IGC/VectorCompiler/lib/GenXCodeGen/GenXUtil.h:206:8: note: candidate function Value *invertCondition(Value *Condition); ^ /usr/local/llvm11/include/llvm/Transforms/Utils/Local.h:557:8: note: candidate function Value *invertCondition(Value *Condition); ^ -IGC/VectorCompiler/lib/GenXCodeGen/GenXPatternMatch.cpp:2216:41: error: no viable conversion from 'llvm::ElementCount' to 'unsigned int' - return ConstantDataVector::getSplat(IGCLLVM::getElementCount(OperandWidth), - ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +IGC/VectorCompiler/lib/GenXCodeGen/GenXPatternMatch.cpp:2284:36: error: no viable conversion from 'llvm::ElementCount' to 'unsigned int' + IGCLLVM::getElementCount(OperandWidth), + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/local/llvm11/include/llvm/IR/Constants.h:803:38: note: passing argument to parameter 'NumElts' here static Constant *getSplat(unsigned NumElts, Constant *Elt); ^ IGC/VectorCompiler/lib/GenXCodeGen/GenXThreadPrivateMemory.cpp:462:37: error: no member named 'getMask' in 'llvm::ShuffleVectorInst' NewVec1, NewVec2, ShuffleVec->getMask(), ShuffleVec->getName() + ".tpm"); ~~~~~~~~~~ ^ ---- IGC/VectorCompiler/lib/GenXCodeGen/GenXPatternMatch.cpp.orig 2020-12-12 06:01:51 UTC +--- IGC/VectorCompiler/lib/GenXCodeGen/GenXPatternMatch.cpp.orig 2020-12-24 13:04:21 UTC +++ IGC/VectorCompiler/lib/GenXCodeGen/GenXPatternMatch.cpp @@ -2145,7 +2145,7 @@ static bool mergeToWrRegion(SelectInst *SI) { Value *Mask = SI->getCondition(); // Invert mask if needed. if (Inverted) - Mask = invertCondition(Mask); + Mask = genx::invertCondition(Mask); // Create new wrregion. Region WrReg(Wr, BaleInfo()); WrReg.Mask = Mask; -@@ -2269,7 +2269,7 @@ static void decomposeSdivPow2(Instruction &Sdiv, +@@ -2280,7 +2280,7 @@ static void decomposeSdivPow2(Instruction &Sdiv, + Builder.SetCurrentDebugLocation(Sdiv.getDebugLoc()); - auto createConstantVector = [](unsigned int OperandWidth, Type *Ty, - int Value) { -- return ConstantDataVector::getSplat(IGCLLVM::getElementCount(OperandWidth), -+ return ConstantVector::getSplat(IGCLLVM::getElementCount(OperandWidth), - ConstantInt::get(Ty, Value)); - }; - + auto createConstant = [](unsigned int OperandWidth, Type *Ty, int Value) { +- return OperandWidth != 0 ? ConstantDataVector::getSplat( ++ return OperandWidth != 0 ? ConstantVector::getSplat( + IGCLLVM::getElementCount(OperandWidth), + ConstantInt::get(Ty, Value)) + : ConstantInt::get(Ty, Value); --- IGC/VectorCompiler/lib/GenXCodeGen/GenXThreadPrivateMemory.cpp.orig 2020-11-21 02:52:12 UTC +++ IGC/VectorCompiler/lib/GenXCodeGen/GenXThreadPrivateMemory.cpp @@ -459,7 +459,11 @@ bool GenXThreadPrivateMemory::replaceShuffleVector( Value *NewVec1 = lookForPtrReplacement(Vec1); Value *NewVec2 = lookForPtrReplacement(Vec2); auto NewShuffleVec = new ShuffleVectorInst( +#if LLVM_VERSION_MAJOR < 11 NewVec1, NewVec2, ShuffleVec->getMask(), ShuffleVec->getName() + ".tpm"); +#else + NewVec1, NewVec2, ShuffleVec->getShuffleMaskForBitcode(), ShuffleVec->getName() + ".tpm"); +#endif NewShuffleVec->insertAfter(ShuffleVec); auto CastToOldTy =