From nobody Tue May 28 12:03:38 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 4VpWPk6bZ3z5M81c; Tue, 28 May 2024 12:03:38 +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 4VpWPk5Q4Zz4dwQ; Tue, 28 May 2024 12:03:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1716897818; 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=obUThcFeBXcCCxZXPyFsYjFeXiX9xXQHBIzK6y28yTQ=; b=gkO0zlDfePoo/jQ2RrJ41ceDePnLjzVGm45x71rNQarOfX8dBOrHVe1F5RBYjLNRR29ECD HqIln0BJRkcTIBUi9ArUc6cEJ+sLDGBVs/1wMW++JJi/bhkj4yC1b79p01Y1UhG13ujy99 e/ymDx0Caly0xl+o4I6KH+uM6/5eB8S2uVa0SMPcIJ/4yuagM/1CVxXVor6uLVueK3sCXz XLgsXjxtrmG7JH8E+Njvk/pnFjLx8j/tbn0U9WH1heXdV8EQz1W9aU/UtlckSgOKdwiYwc k7/6d8A+rJ+qROXWAZVXabW/T5Ag8w4u/35NuavSoYZAzg07xFwFQoei0fYj3g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1716897818; a=rsa-sha256; cv=none; b=Pr+K17QpPjCd0w0H/ZaVS25EOW/3ug7xGOH8ZzLzd2Ab1XLtaYkR8GRGZpLPWe+11j/bEl YfqPjslftuLvnQg15Uo9wI9xwhu7dTySmUunnanDM9o42O+zGpAD4Xe0is3ibcukYhY7ap dwJ1MJO+AbV2BSQ/HLEDwYiZGB5jzfkB8be2fBCWKYarFogHSkeR/Gmdj3VuxZ3PXe3DiE DnT6vw/kKDnMaaq4XcCC1okz8FK0OYSuZ1nUVyccVo+564+ZJB+Xdo7K/ulxaDz7pFTL3i zpBFEaFx8AuvUZIHYfvNPLdqU0JaWsDHfnKrDXfjZ8g9Itn2QK6hgk8Phm6ulQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1716897818; 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=obUThcFeBXcCCxZXPyFsYjFeXiX9xXQHBIzK6y28yTQ=; b=aaOofkQtqg1+/Pt+Vfp88sckip/p3Q3iFjm1/GOI+r8I3WSD6qnY3oYICgQQH+rExNZtJD foVd57W3cSR43teADK6D9PINSW/00NhbuA+yN+13TQLb0UFmcD68jvOOqsDa2joA6zjnYY TPS5e/Vam8xvq1qEaJfBt1OiB5W5cs0IyuhqnQys7aM4vBpqb+TDeFD0xr63MVmsgvVMp1 twucnOQgq31+LPhmuCI6WkkI+qmoNjxedf+kOQ1LUATTBUYIPa/MlpBbX5vi5bZ2F1xUTm mHV8BqKzN36iKQbMd4/UMh2OK6DYtWwqbDTRViBEn3/afPp2FCQJ40bHphg+Sw== 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 4VpWPk50czz1R6F; Tue, 28 May 2024 12:03:38 +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 44SC3cHA003599; Tue, 28 May 2024 12:03:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 44SC3cdJ003596; Tue, 28 May 2024 12:03:38 GMT (envelope-from git) Date: Tue, 28 May 2024 12:03:38 GMT Message-Id: <202405281203.44SC3cdJ003596@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: c56fde6514ee - main - devel/llvm18: misc improvements 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: X-BeenThere: dev-commits-ports-all@freebsd.org Sender: owner-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: c56fde6514ee21ccb186267c304ad444463f661c Auto-Submitted: auto-generated The branch main has been updated by brooks: URL: https://cgit.FreeBSD.org/ports/commit/?id=c56fde6514ee21ccb186267c304ad444463f661c commit c56fde6514ee21ccb186267c304ad444463f661c Author: Brooks Davis AuthorDate: 2024-05-28 11:47:37 +0000 Commit: Brooks Davis CommitDate: 2024-05-28 11:56:43 +0000 devel/llvm18: misc improvements Fix worse runtime performance on Zen CPU when optimizing for Zen. [0] Install all standard heaaders with clang. Historically we've been unable to build FreeBSD with the full set due to conflicts and/or missing features between the compiler provided headers and FreeBSD's headers. I've verified that I can build world and kernel on the main, stable/14, and stable/13 branches for amd64 so let's give it another try in broader testing. [1] PR: 278908 [0], 274542 [1] --- devel/llvm18/Makefile | 2 +- .../files/patch-clang_lib_Headers_CMakeLists.txt | 37 ---------- devel/llvm18/files/patch-freebsd-cadd2ca21765 | 83 ++++++++++++++++++++++ devel/llvm18/pkg-plist | 25 +++++++ 4 files changed, 109 insertions(+), 38 deletions(-) diff --git a/devel/llvm18/Makefile b/devel/llvm18/Makefile index 94d84bfc973c..389bdf7d85a0 100644 --- a/devel/llvm18/Makefile +++ b/devel/llvm18/Makefile @@ -1,6 +1,6 @@ PORTNAME= llvm DISTVERSION= 18.1.6 -PORTREVISION= 0 +PORTREVISION= 1 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}/ diff --git a/devel/llvm18/files/patch-clang_lib_Headers_CMakeLists.txt b/devel/llvm18/files/patch-clang_lib_Headers_CMakeLists.txt deleted file mode 100644 index 4a5d995dfb27..000000000000 --- a/devel/llvm18/files/patch-clang_lib_Headers_CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ ---- clang/lib/Headers/CMakeLists.txt.orig -+++ clang/lib/Headers/CMakeLists.txt -@@ -6,34 +6,9 @@ - float.h - inttypes.h - iso646.h -- limits.h - module.modulemap -- stdalign.h -- stdarg.h -- __stdarg___gnuc_va_list.h -- __stdarg___va_copy.h -- __stdarg_va_arg.h -- __stdarg_va_copy.h -- __stdarg_va_list.h -- stdatomic.h -- stdbool.h -- stdckdint.h -- stddef.h -- __stddef_max_align_t.h -- __stddef_null.h -- __stddef_nullptr_t.h -- __stddef_offsetof.h -- __stddef_ptrdiff_t.h -- __stddef_rsize_t.h -- __stddef_size_t.h -- __stddef_unreachable.h -- __stddef_wchar_t.h -- __stddef_wint_t.h -- stdint.h -- stdnoreturn.h - tgmath.h - unwind.h -- varargs.h - ) - - set(arm_common_files diff --git a/devel/llvm18/files/patch-freebsd-cadd2ca21765 b/devel/llvm18/files/patch-freebsd-cadd2ca21765 new file mode 100644 index 000000000000..7e70e212a118 --- /dev/null +++ b/devel/llvm18/files/patch-freebsd-cadd2ca21765 @@ -0,0 +1,83 @@ +commit cadd2ca21765ebcb95b77ec94977b4e74e1edc1b +Author: Dimitry Andric +Date: Sat May 25 19:52:15 2024 +0200 + + Merge commit d0be944aa511 from llvm-project (by Simon Pilgrim): + + [X86] Add slow div64 tuning flag to Nehalem target (#91129) + + This appears to have been missed because later cpus don't inherit from Nehalem tuning much. + + Noticed while cleaning up for #90985 + + Merge commit 8b400de79eff from llvm-project (by Simon Pilgrim): + + [X86] Enable TuningSlowDivide64 on Barcelona/Bobcat/Bulldozer/Ryzen Families (#91277) + + Despite most AMD cpus having a lower latency for i64 divisions that converge early, we are still better off testing for values representable as i32 and performing a i32 division if possible. + + All AMD cpus appear to have been missed when we added the "idivq-to-divl" attribute - this patch now matches Intel cpu behaviour (and the x86-64/v2/3/4 levels). + + Unfortunately the difference in code scheduling means I've had to stop using the update_llc_test_checks script and just use old-fashioned CHECK-DAG checks for divl/divq pairs. + + Fixes #90985 + + This fixes possibly worse runtime performance on AMD Zen hardware, when + using -march=znver4 (or any other znver), as opposed to -march=x86-64-v4 + or the baseline -march=x86-64. A similar fix is applied for Nehalem. + + PR: 278908 + MFC after: 3 days + +diff --git llvm/lib/Target/X86/X86.td llvm/lib/Target/X86/X86.td +index e89ddcc570c9..1aff5f9fad97 100644 +--- llvm/lib/Target/X86/X86.td ++++ llvm/lib/Target/X86/X86.td +@@ -867,6 +867,7 @@ def ProcessorFeatures { + // Nehalem + list NHMFeatures = X86_64V2Features; + list NHMTuning = [TuningMacroFusion, ++ TuningSlowDivide64, + TuningInsertVZEROUPPER, + TuningNoDomainDelayMov]; + +@@ -1336,6 +1337,7 @@ def ProcessorFeatures { + FeatureCMOV, + FeatureX86_64]; + list BarcelonaTuning = [TuningFastScalarShiftMasks, ++ TuningSlowDivide64, + TuningSlowSHLD, + TuningSBBDepBreaking, + TuningInsertVZEROUPPER]; +@@ -1358,6 +1360,7 @@ def ProcessorFeatures { + list BtVer1Tuning = [TuningFast15ByteNOP, + TuningFastScalarShiftMasks, + TuningFastVectorShiftMasks, ++ TuningSlowDivide64, + TuningSlowSHLD, + TuningSBBDepBreaking, + TuningInsertVZEROUPPER]; +@@ -1380,6 +1383,7 @@ def ProcessorFeatures { + TuningFastVectorShiftMasks, + TuningFastMOVBE, + TuningSBBDepBreaking, ++ TuningSlowDivide64, + TuningSlowSHLD]; + list BtVer2Features = + !listconcat(BtVer1Features, BtVer2AdditionalFeatures); +@@ -1404,6 +1408,7 @@ def ProcessorFeatures { + FeatureLWP, + FeatureLAHFSAHF64]; + list BdVer1Tuning = [TuningSlowSHLD, ++ TuningSlowDivide64, + TuningFast11ByteNOP, + TuningFastScalarShiftMasks, + TuningBranchFusion, +@@ -1483,6 +1488,7 @@ def ProcessorFeatures { + TuningFastScalarShiftMasks, + TuningFastVariablePerLaneShuffle, + TuningFastMOVBE, ++ TuningSlowDivide64, + TuningSlowSHLD, + TuningSBBDepBreaking, + TuningInsertVZEROUPPER, diff --git a/devel/llvm18/pkg-plist b/devel/llvm18/pkg-plist index 106d46fe6187..3755e5776425 100644 --- a/devel/llvm18/pkg-plist +++ b/devel/llvm18/pkg-plist @@ -5917,6 +5917,21 @@ llvm%%LLVM_SUFFIX%%/include/llvm/XRay/YAMLXRayRecord.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__clang_hip_math.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__clang_hip_runtime_wrapper.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__clang_hip_stdlib.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stdarg___gnuc_va_list.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stdarg___va_copy.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stdarg_va_arg.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stdarg_va_copy.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stdarg_va_list.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_max_align_t.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_null.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_nullptr_t.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_offsetof.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_ptrdiff_t.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_rsize_t.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_size_t.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_unreachable.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_wchar_t.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__stddef_wint_t.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__wmmintrin_aes.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/__wmmintrin_pclmul.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/adcintrin.h @@ -6010,6 +6025,7 @@ llvm%%LLVM_SUFFIX%%/include/llvm/XRay/YAMLXRayRecord.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/keylockerintrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/larchintrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/lasxintrin.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/limits.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/llvm_libc_wrappers/assert.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/llvm_libc_wrappers/ctype.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/llvm_libc_wrappers/inttypes.h @@ -6096,6 +6112,14 @@ llvm%%LLVM_SUFFIX%%/include/llvm/XRay/YAMLXRayRecord.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/sm3intrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/sm4intrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/smmintrin.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/stdalign.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/stdarg.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/stdatomic.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/stdbool.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/stdckdint.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/stddef.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/stdint.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/stdnoreturn.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/tbmintrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/tgmath.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/tmmintrin.h @@ -6105,6 +6129,7 @@ llvm%%LLVM_SUFFIX%%/include/llvm/XRay/YAMLXRayRecord.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/usermsrintrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/vadefs.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/vaesintrin.h +%%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/varargs.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/vecintrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/velintrin.h %%CLANG%%llvm%%LLVM_SUFFIX%%/lib/clang/%%LLVM_MAJOR%%/include/velintrin_approx.h