svn commit: r566971 - in head: devel/intel-graphics-compiler devel/intel-graphics-compiler/files lang/intel-compute-runtime

Jan Beich jbeich at FreeBSD.org
Tue Mar 2 16:17:29 UTC 2021


Author: jbeich
Date: Tue Mar  2 16:17:27 2021
New Revision: 566971
URL: https://svnweb.freebsd.org/changeset/ports/566971

Log:
  devel/intel-graphics-compiler: update to 1.0.6410
  
  Changes:	https://github.com/intel/intel-graphics-compiler/releases/tag/igc-1.0.6410
  Reported by:	GitHub (watch releases)

Modified:
  head/devel/intel-graphics-compiler/Makefile   (contents, props changed)
  head/devel/intel-graphics-compiler/distinfo   (contents, props changed)
  head/devel/intel-graphics-compiler/files/patch-llvm   (contents, props changed)
  head/devel/intel-graphics-compiler/files/patch-llvm11   (contents, props changed)
  head/devel/intel-graphics-compiler/pkg-plist   (contents, props changed)
  head/lang/intel-compute-runtime/Makefile   (contents, props changed)

Modified: head/devel/intel-graphics-compiler/Makefile
==============================================================================
--- head/devel/intel-graphics-compiler/Makefile	Tue Mar  2 15:54:43 2021	(r566970)
+++ head/devel/intel-graphics-compiler/Makefile	Tue Mar  2 16:17:27 2021	(r566971)
@@ -2,7 +2,7 @@
 
 PORTNAME=	intel-graphics-compiler
 DISTVERSIONPREFIX=	igc-
-DISTVERSION=	1.0.6087
+DISTVERSION=	1.0.6410
 CATEGORIES=	devel
 
 PATCH_SITES=	https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/
@@ -25,7 +25,7 @@ USES=		bison cmake compiler:c++17-lang python:build
 USE_GITHUB=	yes
 USE_LDCONFIG=	yes
 GH_ACCOUNT=	intel
-GH_TUPLE=	intel:vc-intrinsics:ad99fd7:vcintrin/../vc-intrinsics
+GH_TUPLE=	intel:vc-intrinsics:e7837b2:vcintrin/../vc-intrinsics
 CMAKE_OFF=	INSTALL_SPIRVDLL
 CFLAGS+=	-Wno-macro-redefined # __fastcall
 PLIST_SUB=	ARCH_SUFX=${ARCH:S/i386/32/:S/amd//:S/x86_//}
@@ -47,8 +47,8 @@ post-patch:
 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; \
+		${REINPLACE_CMD} "/set.*LLVM.*VERSION/s/\".*\"/\"$${f##*so.}\"/" \
+			${WRKSRC}/external/llvm/llvm_preferred_version.cmake; \
 	done
 
 .include <bsd.port.mk>

Modified: head/devel/intel-graphics-compiler/distinfo
==============================================================================
--- head/devel/intel-graphics-compiler/distinfo	Tue Mar  2 15:54:43 2021	(r566970)
+++ head/devel/intel-graphics-compiler/distinfo	Tue Mar  2 16:17:27 2021	(r566971)
@@ -1,8 +1,8 @@
-TIMESTAMP = 1610965894
-SHA256 (intel-intel-graphics-compiler-igc-1.0.6087_GH0.tar.gz) = 12ea1c1ce1e5a22cf3199782d572062c71af96f15139528da4b4a0afbe678580
-SIZE (intel-intel-graphics-compiler-igc-1.0.6087_GH0.tar.gz) = 7184672
-SHA256 (intel-vc-intrinsics-ad99fd7_GH0.tar.gz) = 71a22cfeee2c797179f8dc65138d2c81724bd9f2bb59e14a9838d92a742943db
-SIZE (intel-vc-intrinsics-ad99fd7_GH0.tar.gz) = 121051
+TIMESTAMP = 1613381370
+SHA256 (intel-intel-graphics-compiler-igc-1.0.6410_GH0.tar.gz) = 48ff5f78ac7248ba68e3afa9e2b3871f970b5e660c91c62e1a4431d88c5805c2
+SIZE (intel-intel-graphics-compiler-igc-1.0.6410_GH0.tar.gz) = 7302962
+SHA256 (intel-vc-intrinsics-e7837b2_GH0.tar.gz) = 1f5328860688c2191d54687a7866fc393f7cc6a30de7b10689c1a081ef14880a
+SIZE (intel-vc-intrinsics-e7837b2_GH0.tar.gz) = 122381
 SHA256 (d878880cbb3b.patch) = f430b2da0d212594ce73f23b279a1435f08dea60f30ec35494411ab0dc0fcf70
 SIZE (d878880cbb3b.patch) = 9088
 SHA256 (f44eb990ac84.patch) = 4774683855caa8ef44a85a43356b7d509683bbdbef23e31ab6f5e4075715d67c

Modified: head/devel/intel-graphics-compiler/files/patch-llvm
==============================================================================
--- head/devel/intel-graphics-compiler/files/patch-llvm	Tue Mar  2 15:54:43 2021	(r566970)
+++ head/devel/intel-graphics-compiler/files/patch-llvm	Tue Mar  2 16:17:27 2021	(r566971)
@@ -5,9 +5,9 @@ Don't look for libLLVM without llvm-config or LLVM.cma
 CMake Error at IGC/CMakeLists.txt:3283 (message):
   [IGC] Could not find the LLVM dylib.  Aborting.
 
---- IGC/CMakeLists.txt.orig	2020-05-19 05:44:04 UTC
-+++ IGC/CMakeLists.txt
-@@ -3278,12 +3278,8 @@ if(LLVM_LINK_LLVM_DYLIB)
+--- external/llvm/llvm.cmake.orig	2021-02-15 09:29:30 UTC
++++ external/llvm/llvm.cmake
+@@ -157,12 +157,8 @@ if(LLVM_LINK_LLVM_DYLIB)
          set(IGC_BUILD__LLVM_LIBS_TO_LINK "${SET_LLVM_LIB_PATH}/libLLVM-${LLVM_VERSION_MAJOR}.so")
          message(STATUS "[IGC] Link against specified LLVM dylib ${IGC_BUILD__LLVM_LIBS_TO_LINK}")
      else()

Modified: head/devel/intel-graphics-compiler/files/patch-llvm11
==============================================================================
--- head/devel/intel-graphics-compiler/files/patch-llvm11	Tue Mar  2 15:54:43 2021	(r566970)
+++ head/devel/intel-graphics-compiler/files/patch-llvm11	Tue Mar  2 16:17:27 2021	(r566971)
@@ -1,114 +1,98 @@
-https://github.com/intel/intel-graphics-compiler/issues/155
+IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp:158:35: error: no member named 'getVectorElementType' in 'llvm::Type'; did you mean 'getPointerElementType'?
+                ldmcs->getType()->getVectorElementType()->isFloatTy())
+                                  ^~~~~~~~~~~~~~~~~~~~
+                                  getPointerElementType
+/usr/local/llvm11/include/llvm/IR/Type.h:370:9: note: 'getPointerElementType' declared here
+  Type *getPointerElementType() const {
+        ^
+IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp:162:61: error: no member named 'getVectorNumElements' in 'llvm::Type'
+                uint ldmcsNumOfElements = ldmcs->getType()->getVectorNumElements();
+                                          ~~~~~~~~~~~~~~~~  ^
+IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp:163:75: error: no member named 'getVectorNumElements' in 'llvm::Type'
+                uint new_mcs_callNumOfElements = new_mcs_call->getType()->getVectorNumElements();
+                                                 ~~~~~~~~~~~~~~~~~~~~~~~  ^
 
-In file included from IGC/VectorCompiler/lib/GenXOpts/CMPacketize/GenXPacketize.cpp:38:
-In file included from IGC/VectorCompiler/lib/GenXOpts/CMPacketize/PacketBuilder.h:40:
-IGC/WrapperLLVM/include/llvmWrapper/Support/Alignment.h:99:16: error: no viable conversion from returned value of type 'llvm::MaybeAlign' to function return type 'IGCLLVM::Align' (aka 'llvm::Align')
-        return Val.getAlign();
-               ^~~~~~~~~~~~~~
-IGC/VectorCompiler/lib/GenXOpts/CMPacketize/GenXPacketize.cpp:279:37: note: in instantiation of function template specialization 'IGCLLVM::getAlign<llvm::Function, 0>' requested here
-  ClonedFunc->setAlignment(IGCLLVM::getAlign(*F));
-                                    ^
-/usr/local/llvm11/include/llvm/Support/Alignment.h:71:13: note: candidate constructor not viable: no known conversion from 'llvm::MaybeAlign' to 'const llvm::Align &' for 1st argument
-  constexpr Align(const Align &Other) = default;
-            ^
-/usr/local/llvm11/include/llvm/Support/Alignment.h:72:13: note: candidate constructor not viable: no known conversion from 'llvm::MaybeAlign' to 'llvm::Align &&' for 1st argument
-  constexpr Align(Align &&Other) = default;
-            ^
-/usr/local/llvm11/include/llvm/Support/Alignment.h:109:13: note: candidate constructor not viable: no known conversion from 'llvm::MaybeAlign' to 'llvm::Align::LogValue' for 1st argument
-  constexpr Align(LogValue CA) : ShiftValue(CA.Log) {}
-            ^
-/usr/local/llvm11/include/llvm/Support/Alignment.h:76:12: note: explicit constructor is not a candidate
-  explicit Align(uint64_t Value) {
-           ^
-IGC/Compiler/CISACodeGen/ResolveGAS.cpp:83:28: error: use of undeclared identifier 'AAResultsWrapperPass'
-            AU.addRequired<AAResultsWrapperPass>();
-                           ^
-IGC/Compiler/CISACodeGen/ResolveGAS.cpp:735:5: error: unknown type name 'AliasAnalysis'
-    AliasAnalysis* AA = &getAnalysis<AAResultsWrapperPass>().getAAResults();
-    ^
-IGC/Compiler/CISACodeGen/ResolveGAS.cpp:735:38: error: use of undeclared identifier 'AAResultsWrapperPass'
-    AliasAnalysis* AA = &getAnalysis<AAResultsWrapperPass>().getAAResults();
-                                     ^
-IGC/Compiler/CISACodeGen/ResolveGAS.cpp:810:27: error: use of undeclared identifier 'MemoryLocation'; did you mean 'TempDILocation'?
-            if (AA->alias(MemoryLocation::get(SI), MemoryLocation::get(LI))) {
-                          ^~~~~~~~~~~~~~
-IGC/Compiler/CISACodeGen/ResolveGAS.cpp:810:52: error: use of undeclared identifier 'MemoryLocation'; did you mean 'TempDILocation'?
-            if (AA->alias(MemoryLocation::get(SI), MemoryLocation::get(LI))) {
-                                                   ^~~~~~~~~~~~~~
-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: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/Compiler/Legalizer/InstPromoter.cpp:402:42: error: no member named 'getVectorNumElements' in 'llvm::Type'
+        for (unsigned i = 0; i < DestTy->getVectorNumElements(); i++)
+                                 ~~~~~~  ^
 
---- IGC/Compiler/CISACodeGen/ResolveGAS.cpp.orig	2020-12-24 13:04:21 UTC
-+++ IGC/Compiler/CISACodeGen/ResolveGAS.cpp
-@@ -37,6 +37,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #include <llvm/ADT/DenseSet.h>
- #include <llvm/ADT/SmallVector.h>
- #include <llvm/ADT/PostOrderIterator.h>
-+#include <llvm/Analysis/AliasAnalysis.h>
- #include <llvm/Analysis/LoopInfo.h>
- #include <llvm/IR/IRBuilder.h>
- #include <llvm/IR/NoFolder.h>
---- 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;
-@@ -2280,7 +2280,7 @@ static void decomposeSdivPow2(Instruction &Sdiv,
-   Builder.SetCurrentDebugLocation(Sdiv.getDebugLoc());
+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<llvm::Instruction *, 8>' 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<llvm::Instruction *, 8>' to 'SmallVectorImpl<llvm::WeakTrackingVH> &' for 1st argument
+void RecursivelyDeleteTriviallyDeadInstructions(
+     ^
+
+--- IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp.orig	2021-02-15 09:29:30 UTC
++++ IGC/Compiler/ConvertMSAAPayloadTo16Bit.cpp
+@@ -155,12 +155,21 @@ void ConvertMSAAPayloadTo16Bit::visitCallInst(CallInst
+             // In OGL there are uses of ldmcs other then ldms, using vec4float type.
+             // Fix them to use newly created 16bit ldmcs.
+             if (ldmcs->getType()->isVectorTy() &&
++#if LLVM_VERSION_MAJOR < 11
+                 ldmcs->getType()->getVectorElementType()->isFloatTy())
++#else
++                cast<llvm::VectorType>(ldmcs->getType())->getElementType()->isFloatTy())
++#endif
+             {
+                 m_builder->SetInsertPoint(ldmcs);
  
-   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");
+                 uint ldmcsNumOfElements = ldmcs->getType()->getVectorNumElements();
+                 uint new_mcs_callNumOfElements = new_mcs_call->getType()->getVectorNumElements();
 +#else
-+      NewVec1, NewVec2, ShuffleVec->getShuffleMaskForBitcode(), ShuffleVec->getName() + ".tpm");
++                uint ldmcsNumOfElements = cast<llvm::VectorType>(ldmcs->getType())->getNumElements();
++                uint new_mcs_callNumOfElements = cast<llvm::VectorType>(new_mcs_call->getType())->getNumElements();
 +#endif
-   NewShuffleVec->insertAfter(ShuffleVec);
  
-   auto CastToOldTy =
---- IGC/VectorCompiler/lib/GenXOpts/CMPacketize/GenXPacketize.cpp.orig	2020-12-24 13:04:21 UTC
-+++ IGC/VectorCompiler/lib/GenXOpts/CMPacketize/GenXPacketize.cpp
-@@ -276,7 +276,11 @@ Function *GenXPacketize::vectorizeSIMTFunction(Functio
-                        VecFName + Suffix[Width / 8], F->getParent());
-   ClonedFunc->setCallingConv(F->getCallingConv());
-   ClonedFunc->setAttributes(F->getAttributes());
+                 // vec of 16bit ints to vec of 32bit ints
+                 Type* new_mcs_callVecType = VectorType::get(m_builder->getInt32Ty(), new_mcs_callNumOfElements);
+--- 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<Constant*> Vals;
 +#if LLVM_VERSION_MAJOR < 11
-   ClonedFunc->setAlignment(IGCLLVM::getAlign(*F));
+         for (unsigned i = 0; i < DestTy->getVectorNumElements(); i++)
 +#else
-+  ClonedFunc->setAlignment(F->getAlign());
++        for (unsigned i = 0; i < cast<llvm::VectorType>(DestTy)->getNumElements(); i++)
 +#endif
+             Vals.push_back(IRB->getInt32(i));
  
-   // then use CloneFunctionInto
-   ValueToValueMapTy ArgMap;
+         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<llvm::VectorType>(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<Instruction *, 8> ToErase;
++#else
++  SmallVector<WeakTrackingVH, 8> ToErase;
++#endif
+   for (auto &Inst : instructions(F))
+     if (isInstructionTriviallyDead(&Inst))
+       ToErase.push_back(&Inst);

Modified: head/devel/intel-graphics-compiler/pkg-plist
==============================================================================
--- head/devel/intel-graphics-compiler/pkg-plist	Tue Mar  2 15:54:43 2021	(r566970)
+++ head/devel/intel-graphics-compiler/pkg-plist	Tue Mar  2 16:17:27 2021	(r566971)
@@ -80,7 +80,6 @@ include/igc/ocl_igc_interface/platform_helper.h
 include/igc/ocl_igc_shared/device_enqueue/DeviceEnqueueInternalTypes.h
 include/igc/ocl_igc_shared/executable_format/patch_g10.h
 include/igc/ocl_igc_shared/executable_format/patch_g7.h
-include/igc/ocl_igc_shared/executable_format/patch_g75.h
 include/igc/ocl_igc_shared/executable_format/patch_g8.h
 include/igc/ocl_igc_shared/executable_format/patch_g9.h
 include/igc/ocl_igc_shared/executable_format/patch_list.h

Modified: head/lang/intel-compute-runtime/Makefile
==============================================================================
--- head/lang/intel-compute-runtime/Makefile	Tue Mar  2 15:54:43 2021	(r566970)
+++ head/lang/intel-compute-runtime/Makefile	Tue Mar  2 16:17:27 2021	(r566971)
@@ -2,6 +2,7 @@
 
 PORTNAME=	compute-runtime
 DISTVERSION=	21.08.19096
+PORTREVISION=	1
 CATEGORIES=	lang
 PKGNAMEPREFIX=	intel-
 


More information about the svn-ports-all mailing list