From nobody Fri Feb 9 00:06:39 2024 X-Original-To: dev-commits-ports-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4TWDfl48kVz58RDf; Fri, 9 Feb 2024 00:06:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4TWDfl36gXz41Bg; Fri, 9 Feb 2024 00:06:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707437199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFqKBQxWTIGLIHlVkvlqIEqQYPUKcppFykdniq74Kck=; b=s24ZFl9Vi6uL3yBaYmpepJMVyJuOCOkmYDuMlCGtmDl/WsppWR7WE2rs2+qazIOju8usB6 RLeHiq8o4N+j6yQ53G/DjrI5xsSiIhpXMFuED1gH3/rHgKu0Tpr6IqJHkCCj3jH1JRDuAp U7WDNvV6eNq7DL0Am9MH4rzvsWP9MLfyZnJmfGDxT78Eh9utbyxVQnwekZn+n6+xo1nytU RHDtawveXk2BJTGhq8YpWKQVcbTJ02oJv33V7UrmPbOcU/+sxBXDStV+mY3dewnLDLMa2g Rs52P738goFO2c/jM2o/lz6oAP7vY36NZ6V5LGy2cs7JCJi4JCwlP0PdoxUsAA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1707437199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BFqKBQxWTIGLIHlVkvlqIEqQYPUKcppFykdniq74Kck=; b=tL+vcTzBo+tO8HXFLKdgLU2dOga61TfJWiPCf2m0WtsX9beGHkdzTaQKhvmbqy0Hv1WGX8 ViveDFm6O22OuCTEZVICEPLvATt6OHMb7cud4jwKn9XhuQBG7eU1lHaH9Apz1adH1vFyiL ImutucCQLJFBhSo5gc7uVf3TQ6wmxQ5Mppt/DqReE50oGoKmccI74M6Gb1tF90+7Xen494 Oid9NcgqBEPAP+rwe00K+dR+WSioY3JFD+bCTxDlA9ZTcNEVvS7ltijA2MhlyrJOS8jOiH qhT+hOcyjgzhyeheX7x5A3DkPfxJItBLwD028MlkDA6U0Y77yx1JHWX0JatHqA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1707437199; a=rsa-sha256; cv=none; b=OKynrbHQUJxux1T8kQBHWSZBxK+pXsr9QEE2rGu9U/FLA2juhQA7NKAbAw5eLw8RJYXKDV 6Iv5QCbgkDKiA+6246hJwWI4x7Ec2q5EonI5EkBMgwvBHAUyr99aQivm5MX2qLdq9NodRl Ayneu7APawGdVhlVs2f4lppu2Xc+F3MdnMKn9bIdC4R5UdmBWCjUMnwJFV/wRVTUYiGlyJ U6EXkfmKEgcpThSiaYxTR+1PpS9wcaMF0BlCP5BVX0Y0vj+uPjkShcSIGA9O5s4mdXduv5 zkzwjUCW5W71+evuq2VcNIMK4Etxqk1ZwIxowyDFWqIfYRo3PohEW4xvDWFBEw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4TWDfl1xdYz19ML; Fri, 9 Feb 2024 00:06:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 41906dZl078779; Fri, 9 Feb 2024 00:06:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 41906dPF078776; Fri, 9 Feb 2024 00:06:39 GMT (envelope-from git) Date: Fri, 9 Feb 2024 00:06:39 GMT Message-Id: <202402090006.41906dPF078776@gitrepo.freebsd.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Brooks Davis Subject: git: 345b4848d9df - main - devel/llvm17: aarch64 KASAN and lite flavor fixs List-Id: Commit messages for all branches of the ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-ports-all@freebsd.org X-BeenThere: dev-commits-ports-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: brooks X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 345b4848d9df3a380c7877f5a348b2b2ccf46310 Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/ports/commit/?id=345b4848d9df3a380c7877f5a348b2b2ccf46310 commit 345b4848d9df3a380c7877f5a348b2b2ccf46310 Author: Brooks Davis AuthorDate: 2024-02-08 23:40:05 +0000 Commit: Brooks Davis CommitDate: 2024-02-09 00:06:22 +0000 devel/llvm17: aarch64 KASAN and lite flavor fixs As in the base system, backport: f577bfb99528 - [sanitizer][msan] fix AArch64 vararg support for KMSAN Expand STATIC_LIBS (part of the lite flavor) to include cmake bits. They aren't usable without the .a files they reference. PR: 271821 --- devel/llvm17/Makefile | 4 +- devel/llvm17/files/patch-backport-f577bfb99528 | 126 ++++++++++++++++++++++++ devel/llvm17/pkg-plist | 130 ++++++++++++------------- 3 files changed, 194 insertions(+), 66 deletions(-) diff --git a/devel/llvm17/Makefile b/devel/llvm17/Makefile index 4146803417f6..fd4faad41a89 100644 --- a/devel/llvm17/Makefile +++ b/devel/llvm17/Makefile @@ -1,6 +1,6 @@ PORTNAME= llvm DISTVERSION= 17.0.6 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= devel lang MASTER_SITES= https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/ \ https://${PRE_}releases.llvm.org/${LLVM_RELEASE}${RCDIR}/ @@ -589,6 +589,7 @@ do-test: post-install-STATIC_LIBS-off: ${RM} ${STAGEDIR}${LLVM_PREFIX}/lib/lib*.a + ${RM} -r ${STAGEDIR}${LLVM_PREFIX}/lib/cmake build-plist: @[ -d ${STAGEDIR} ] || (echo "Can't make plist before package is staged ${STAGEDIR}" && exit 1) @@ -625,6 +626,7 @@ build-plist: | ${SORT} >> ${PLIST}.tmp ${AWK} '{ \ if ($$0 ~ /lib.lib[a-zA-Z].*\.a$$/ && $$0 !~ /(${BE_PATTERN})$$/) {printf "%%%%STATIC_LIBS%%%%"} \ + if ($$0 ~ /\/lib\/cmake\//) {printf "%%%%STATIC_LIBS%%%%"} \ if ($$0 ~ /${CLANG_PATTERN}/ && $$0 !~ /(${OPENMP_PATTERN}|${EXTRAS_PATTERN}|libclang_rt|${PYCLANG_PATTERN}|${BE_PATTERN})/) {printf "%%%%CLANG%%%%"} \ if ($$0 ~ /${COMPILER_RT_PATTERN}/) \ {printf "%%%%COMPILER_RT%%%%"} \ diff --git a/devel/llvm17/files/patch-backport-f577bfb99528 b/devel/llvm17/files/patch-backport-f577bfb99528 new file mode 100644 index 000000000000..31ebb6fd2d5c --- /dev/null +++ b/devel/llvm17/files/patch-backport-f577bfb99528 @@ -0,0 +1,126 @@ +commit f577bfb99528c8e65b3741a7701e6a356f25f1ff +Author: Alexander Potapenko +Date: Fri Nov 10 09:33:49 2023 +0100 + + [sanitizer][msan] fix AArch64 vararg support for KMSAN (#70660) + + Cast StackSaveAreaPtr, GrRegSaveAreaPtr, VrRegSaveAreaPtr to pointers to + fix assertions in getShadowOriginPtrKernel(). + + Fixes: https://github.com/llvm/llvm-project/issues/69738 + + Patch by Mark Johnston. + +diff --git llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp +index e0ff444ab609..f43df2f4a138 100644 +--- llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp ++++ llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp +@@ -1717,6 +1717,12 @@ struct MemorySanitizerVisitor : public InstVisitor { + std::pair + getShadowOriginPtrUserspace(Value *Addr, IRBuilder<> &IRB, Type *ShadowTy, + MaybeAlign Alignment) { ++ VectorType *VectTy = dyn_cast(Addr->getType()); ++ if (!VectTy) { ++ assert(Addr->getType()->isPointerTy()); ++ } else { ++ assert(VectTy->getElementType()->isPointerTy()); ++ } + Type *IntptrTy = ptrToIntPtrType(Addr->getType()); + Value *ShadowOffset = getShadowPtrOffset(Addr, IRB); + Value *ShadowLong = ShadowOffset; +@@ -5258,21 +5264,25 @@ struct VarArgAArch64Helper : public VarArgHelper { + // we need to adjust the offset for both GR and VR fields based on + // the __{gr,vr}_offs value (since they are stores based on incoming + // named arguments). ++ Type *RegSaveAreaPtrTy = IRB.getInt8PtrTy(); + + // Read the stack pointer from the va_list. +- Value *StackSaveAreaPtr = getVAField64(IRB, VAListTag, 0); ++ Value *StackSaveAreaPtr = ++ IRB.CreateIntToPtr(getVAField64(IRB, VAListTag, 0), RegSaveAreaPtrTy); + + // Read both the __gr_top and __gr_off and add them up. + Value *GrTopSaveAreaPtr = getVAField64(IRB, VAListTag, 8); + Value *GrOffSaveArea = getVAField32(IRB, VAListTag, 24); + +- Value *GrRegSaveAreaPtr = IRB.CreateAdd(GrTopSaveAreaPtr, GrOffSaveArea); ++ Value *GrRegSaveAreaPtr = IRB.CreateIntToPtr( ++ IRB.CreateAdd(GrTopSaveAreaPtr, GrOffSaveArea), RegSaveAreaPtrTy); + + // Read both the __vr_top and __vr_off and add them up. + Value *VrTopSaveAreaPtr = getVAField64(IRB, VAListTag, 16); + Value *VrOffSaveArea = getVAField32(IRB, VAListTag, 28); + +- Value *VrRegSaveAreaPtr = IRB.CreateAdd(VrTopSaveAreaPtr, VrOffSaveArea); ++ Value *VrRegSaveAreaPtr = IRB.CreateIntToPtr( ++ IRB.CreateAdd(VrTopSaveAreaPtr, VrOffSaveArea), RegSaveAreaPtrTy); + + // It does not know how many named arguments is being used and, on the + // callsite all the arguments were saved. Since __gr_off is defined as +diff --git llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg-kmsan.ll llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg-kmsan.ll +new file mode 100644 +index 000000000000..2189424cd76f +--- /dev/null ++++ llvm/test/Instrumentation/MemorySanitizer/AArch64/vararg-kmsan.ll +@@ -0,0 +1,51 @@ ++; RUN: opt < %s -S -passes=msan -msan-kernel=1 2>&1 | FileCheck %s ++ ++target datalayout = "e-m:e-i64:64-i128:128-n32:64-S128" ++target triple = "aarch64-unknown-linux-gnu" ++ ++%struct.__va_list = type { ptr, ptr, ptr, i32, i32 } ++ ++define i32 @foo(i32 %guard, ...) { ++ %vl = alloca %struct.__va_list, align 8 ++ call void @llvm.lifetime.start.p0(i64 32, ptr %vl) ++ call void @llvm.va_start(ptr %vl) ++ call void @llvm.va_end(ptr %vl) ++ call void @llvm.lifetime.end.p0(i64 32, ptr %vl) ++ ret i32 0 ++} ++ ++; First check if the variadic shadow values are saved in stack with correct ++; size (192 is total of general purpose registers size, 64, plus total of ++; floating-point registers size, 128). ++ ++; CHECK-LABEL: @foo ++; CHECK: [[A:%.*]] = load {{.*}} ptr %va_arg_overflow_size ++; CHECK: [[B:%.*]] = add i64 192, [[A]] ++; CHECK: alloca {{.*}} [[B]] ++ ++; We expect three memcpy operations: one for the general purpose registers, ++; one for floating-point/SIMD ones, and one for thre remaining arguments. ++ ++; Propagate the GR shadow values on for the va_list::__gp_top, adjust the ++; offset in the __msan_va_arg_tls based on va_list:__gp_off, and finally ++; issue the memcpy. ++; CHECK: [[GRP:%.*]] = getelementptr inbounds i8, ptr {{%.*}}, i64 {{%.*}} ++; CHECK: [[GRSIZE:%.*]] = sub i64 64, {{%.*}} ++; CHECK: call void @llvm.memcpy.p0.p0.i64(ptr align 8 {{%.*}}, ptr align 8 [[GRP]], i64 [[GRSIZE]], i1 false) ++ ++; Propagate the VR shadow values on for the va_list::__vr_top, adjust the ++; offset in the __msan_va_arg_tls based on va_list:__vr_off, and finally ++; issue the memcpy. ++; CHECK: [[VRP:%.*]] = getelementptr inbounds i8, ptr {{%.*}}, i64 {{%.*}} ++; CHECK: [[VRSIZE:%.*]] = sub i64 128, {{%.*}} ++; CHECK: call void @llvm.memcpy.p0.p0.i64(ptr align 8 {{%.*}}, ptr align 8 [[VRP]], i64 [[VRSIZE]], i1 false) ++ ++; Copy the remaining shadow values on the va_list::__stack position (it is ++; on the constant offset of 192 from __msan_va_arg_tls). ++; CHECK: [[STACK:%.*]] = getelementptr inbounds i8, ptr {{%.*}}, i32 192 ++; CHECK: call void @llvm.memcpy.p0.p0.i64(ptr align 16 {{%.*}}, ptr align 16 [[STACK]], i64 {{%.*}}, i1 false) ++ ++declare void @llvm.lifetime.start.p0(i64, ptr nocapture) #1 ++declare void @llvm.va_start(ptr) #2 ++declare void @llvm.va_end(ptr) #2 ++declare void @llvm.lifetime.end.p0(i64, ptr nocapture) #1 +diff --git llvm/test/Instrumentation/MemorySanitizer/X86/vararg.ll llvm/test/Instrumentation/MemorySanitizer/X86/vararg.ll +index eb43ea793b9d..cdf291c1e540 100644 +--- llvm/test/Instrumentation/MemorySanitizer/X86/vararg.ll ++++ llvm/test/Instrumentation/MemorySanitizer/X86/vararg.ll +@@ -1,4 +1,5 @@ + ; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan 2>&1 ++; RUN: opt < %s -msan-check-access-address=0 -S -passes=msan -msan-kernel=1 2>&1 + ; Test that code using va_start can be compiled on i386. + + target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32-n8:16:32-S128" diff --git a/devel/llvm17/pkg-plist b/devel/llvm17/pkg-plist index 87f556085907..ae3607d5b8b8 100644 --- a/devel/llvm17/pkg-plist +++ b/devel/llvm17/pkg-plist @@ -5805,71 +5805,71 @@ llvm%%LLVM_SUFFIX%%/include/llvm/XRay/YAMLXRayRecord.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/xsaveoptintrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/xsavesintrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/xtestintrin.h -%%CLANG%%%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/AddClang.cmake -%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/ClangConfig.cmake -%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/ClangConfigVersion.cmake -%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/ClangTargets-%%CMAKE_BUILD_TYPE%%.cmake -%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/ClangTargets.cmake -%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/flang/FlangConfig.cmake -%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/flang/FlangConfigVersion.cmake -%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/flang/FlangTargets-%%CMAKE_BUILD_TYPE%%.cmake -%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/flang/FlangTargets.cmake -%%LLD%%llvm%%LLVM_SUFFIX%%/lib/cmake/lld/LLDConfig.cmake -%%LLD%%llvm%%LLVM_SUFFIX%%/lib/cmake/lld/LLDConfigVersion.cmake -%%LLD%%llvm%%LLVM_SUFFIX%%/lib/cmake/lld/LLDTargets-%%CMAKE_BUILD_TYPE%%.cmake -%%LLD%%llvm%%LLVM_SUFFIX%%/lib/cmake/lld/LLDTargets.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/AddLLVM.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/AddOCaml.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/AddSphinxTarget.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CheckAtomic.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CheckCompilerVersion.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CheckProblematicConfigurations.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/ChooseMSVCCRT.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CoverageReport.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CrossCompile.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/DetermineGCCCompatible.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindFFI.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindLibEdit.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindLibpfm.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindOCaml.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindSphinx.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindTerminfo.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindZ3.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/Findzstd.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/GenerateVersionFromVCS.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/GetErrcMessages.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/GetLibraryName.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/HandleLLVMOptions.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/HandleLLVMStdlib.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVM-Build.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVM-Config.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMCheckLinkerFlag.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMConfig.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMConfigExtensions.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMConfigVersion.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMDistributionSupport.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMExports-%%CMAKE_BUILD_TYPE%%.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMExports.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMExternalProjectUtils.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMInstallSymlink.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMProcessSources.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/SetTargetTriple.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/TableGen.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/TensorFlowCompile.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/UseLibtool.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/VersionFromVCS.cmake -llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/llvm-driver-template.cpp.in -%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/AddMLIR.cmake -%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/AddMLIRPython.cmake -%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRConfig.cmake -%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRConfigVersion.cmake -%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRDetectPythonEnv.cmake -%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRTargets-%%CMAKE_BUILD_TYPE%%.cmake -%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRTargets.cmake -%%OPENMP%%llvm%%LLVM_SUFFIX%%/lib/cmake/openmp/FindOpenMPTarget.cmake -%%POLLY%%llvm%%LLVM_SUFFIX%%/lib/cmake/polly/PollyConfig.cmake -%%POLLY%%llvm%%LLVM_SUFFIX%%/lib/cmake/polly/PollyConfigVersion.cmake -%%POLLY%%llvm%%LLVM_SUFFIX%%/lib/cmake/polly/PollyExports-all.cmake +%%CLANG%%%%STATIC_LIBS%%%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/AddClang.cmake +%%STATIC_LIBS%%%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/ClangConfig.cmake +%%STATIC_LIBS%%%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/ClangConfigVersion.cmake +%%STATIC_LIBS%%%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/ClangTargets-%%CMAKE_BUILD_TYPE%%.cmake +%%STATIC_LIBS%%%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/clang/ClangTargets.cmake +%%STATIC_LIBS%%%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/flang/FlangConfig.cmake +%%STATIC_LIBS%%%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/flang/FlangConfigVersion.cmake +%%STATIC_LIBS%%%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/flang/FlangTargets-%%CMAKE_BUILD_TYPE%%.cmake +%%STATIC_LIBS%%%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/cmake/flang/FlangTargets.cmake +%%STATIC_LIBS%%%%LLD%%llvm%%LLVM_SUFFIX%%/lib/cmake/lld/LLDConfig.cmake +%%STATIC_LIBS%%%%LLD%%llvm%%LLVM_SUFFIX%%/lib/cmake/lld/LLDConfigVersion.cmake +%%STATIC_LIBS%%%%LLD%%llvm%%LLVM_SUFFIX%%/lib/cmake/lld/LLDTargets-%%CMAKE_BUILD_TYPE%%.cmake +%%STATIC_LIBS%%%%LLD%%llvm%%LLVM_SUFFIX%%/lib/cmake/lld/LLDTargets.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/AddLLVM.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/AddOCaml.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/AddSphinxTarget.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CheckAtomic.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CheckCompilerVersion.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CheckProblematicConfigurations.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/ChooseMSVCCRT.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CoverageReport.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/CrossCompile.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/DetermineGCCCompatible.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindFFI.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindLibEdit.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindLibpfm.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindOCaml.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindSphinx.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindTerminfo.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/FindZ3.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/Findzstd.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/GenerateVersionFromVCS.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/GetErrcMessages.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/GetLibraryName.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/HandleLLVMOptions.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/HandleLLVMStdlib.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVM-Build.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVM-Config.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMCheckLinkerFlag.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMConfig.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMConfigExtensions.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMConfigVersion.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMDistributionSupport.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMExports-%%CMAKE_BUILD_TYPE%%.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMExports.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMExternalProjectUtils.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMInstallSymlink.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/LLVMProcessSources.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/SetTargetTriple.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/TableGen.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/TensorFlowCompile.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/UseLibtool.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/VersionFromVCS.cmake +%%STATIC_LIBS%%llvm%%LLVM_SUFFIX%%/lib/cmake/llvm/llvm-driver-template.cpp.in +%%STATIC_LIBS%%%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/AddMLIR.cmake +%%STATIC_LIBS%%%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/AddMLIRPython.cmake +%%STATIC_LIBS%%%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRConfig.cmake +%%STATIC_LIBS%%%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRConfigVersion.cmake +%%STATIC_LIBS%%%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRDetectPythonEnv.cmake +%%STATIC_LIBS%%%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRTargets-%%CMAKE_BUILD_TYPE%%.cmake +%%STATIC_LIBS%%%%MLIR%%llvm%%LLVM_SUFFIX%%/lib/cmake/mlir/MLIRTargets.cmake +%%STATIC_LIBS%%%%OPENMP%%llvm%%LLVM_SUFFIX%%/lib/cmake/openmp/FindOpenMPTarget.cmake +%%STATIC_LIBS%%%%POLLY%%llvm%%LLVM_SUFFIX%%/lib/cmake/polly/PollyConfig.cmake +%%STATIC_LIBS%%%%POLLY%%llvm%%LLVM_SUFFIX%%/lib/cmake/polly/PollyConfigVersion.cmake +%%STATIC_LIBS%%%%POLLY%%llvm%%LLVM_SUFFIX%%/lib/cmake/polly/PollyExports-all.cmake %%STATIC_LIBS%%%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/libFIRAnalysis.a %%STATIC_LIBS%%%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/libFIRBuilder.a %%STATIC_LIBS%%%%FLANG%%llvm%%LLVM_SUFFIX%%/lib/libFIRCodeGen.a