Re: git: 5deeebd8c6ca - main - Merge llvm-project release/19.x llvmorg-19.1.2-0-g7ba7d8e2f7b6
Date: Wed, 23 Oct 2024 20:44:14 UTC
On 23 Oct 2024, at 22:35, Cy Schubert <Cy.Schubert@cschubert.com> wrote:
>
> In message <6C4EEA56-6F73-4A69-9838-0D62D1E575B0@FreeBSD.org>, Dimitry
> Andric w
> rites:
>> On 23 Oct 2024, at 21:40, Cy Schubert <Cy.Schubert@cschubert.com> wrote:
>>> =20
>>> In message <202410231832.49NIWcTJ078019@gitrepo.freebsd.org>, Dimitry =
>> Andric wr
>>> ites:
>>>> The branch main has been updated by dim:
>>>> =20
>>>> URL: =
>> https://cgit.FreeBSD.org/src/commit/?id=3D5deeebd8c6ca991269e72902a7a62cad=
>>
>>>> a57947f6
>>>> =20
>>>> commit 5deeebd8c6ca991269e72902a7a62cada57947f6
>>>> Merge: 6e516c87b6d7 e6b732792813
>>>> Author: Dimitry Andric <dim@FreeBSD.org>
>>>> AuthorDate: 2024-10-21 12:59:26 +0000
>>>> Commit: Dimitry Andric <dim@FreeBSD.org>
>>>> CommitDate: 2024-10-23 18:27:38 +0000
>>>> =20
>>>> Merge llvm-project release/19.x llvmorg-19.1.2-0-g7ba7d8e2f7b6
>>>> =20
>>>> This updates llvm, clang, compiler-rt, libc++, libunwind, lld, =
>> lldb and
>>>> openmp to llvm-project release/19.x =
>> llvmorg-19.1.2-0-g7ba7d8e2f7b6,
>>>> a.k.a. 19.1.2 release.
>>>> =20
>>>> PR: 280562
>>>> MFC after: 1 month
>>>> =20
>>>> .../clang/include/clang/Basic/TokenKinds.def | 5 +-
>>>> contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp | 31 ++--
>>>> contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp | 2 +-
>>>> contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp | 16 +-
>>>> .../clang/lib/CodeGen/CodeGenModule.cpp | 15 +-
>>>> .../llvm-project/clang/lib/CodeGen/CodeGenModule.h | 5 +-
>>>> .../llvm-project/clang/lib/CodeGen/CodeGenTBAA.cpp | 13 +-
>>>> .../llvm-project/clang/lib/CodeGen/CodeGenTBAA.h | 5 +-
>>>> .../clang/lib/CodeGen/CodeGenTypes.cpp | 7 +-
>>>> .../llvm-project/clang/lib/CodeGen/CodeGenTypes.h | 8 +-
>>>> .../clang/lib/CodeGen/MicrosoftCXXABI.cpp | 2 +-
>>>> .../clang/lib/Format/TokenAnnotator.cpp | 42 ++---
>>>> .../clang/lib/Format/UnwrappedLineParser.cpp | 17 +-
>>>> contrib/llvm-project/clang/lib/Headers/intrin0.h | 2 +-
>>>> contrib/llvm-project/clang/lib/Headers/vecintrin.h | 28 +++-
>>>> .../clang/lib/Lex/PPMacroExpansion.cpp | 52 +++---
>>>> contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp | 3 +-
>>>> .../llvm-project/clang/lib/Sema/TreeTransform.h | 2 +-
>>>> .../compiler-rt/lib/fuzzer/FuzzerUtilWindows.cpp | 5 +
>>>> .../sanitizer_common_interceptors.inc | 180 =
>> -------------------
>>>> --
>>>> .../sanitizer_platform_interceptors.h | 2 -
>>>> contrib/llvm-project/libcxx/include/__config | 2 +-
>>>> contrib/llvm-project/libcxx/include/version | 7 +-
>>>> contrib/llvm-project/lld/ELF/Arch/Hexagon.cpp | 20 ++-
>>>> .../llvm/include/llvm/CodeGen/FastISel.h | 3 +
>>>> .../llvm/lib/CodeGen/SelectionDAG/FastISel.cpp | 12 +-
>>>> .../llvm/lib/Target/X86/X86FastISel.cpp | 4 +-
>>>> .../llvm/lib/Target/X86/X86ISelLowering.cpp | 13 +-
>>>> .../Transforms/InstCombine/InstCombineAndOrXor.cpp | 18 ++-
>>>> .../lib/Transforms/Vectorize/VectorCombine.cpp | 59 +++----
>>>> lib/clang/include/VCSVersion.inc | 6 +-
>>>> lib/clang/include/clang/Basic/Version.inc | 6 +-
>>>> lib/clang/include/lld/Common/Version.inc | 2 +-
>>>> lib/clang/include/lldb/Version/Version.inc | 6 +-
>>>> lib/clang/include/llvm/Config/config.h | 4 +-
>>>> lib/clang/include/llvm/Config/llvm-config.h | 4 +-
>>>> lib/clang/include/llvm/Support/VCSRevision.h | 2 +-
>>>> 37 files changed, 260 insertions(+), 350 deletions(-)
>>>> =20
>>> =20
>>> Hi,
>>> =20
>>> One of these commits fails to build.
>>> =20
>>> c++ -O2 -pipe -pipe -fno-common =
>> -I/export/obj/opt/src/git-src/amd64.amd64/tmp/obj-tools/lib/clang/libllvm =
>> -I/opt/src/git-src/sys/contrib/zstd/lib =
>> -I/opt/src/git-src/contrib/llvm-project/llvm/lib/Target/X86 =
>> -I/opt/src/git-src/contrib/llvm-project/llvm/lib/ObjCopy -DBLA
>>> KE3_USE_NEON=3D0 -I/opt/src/git-src/lib/clang/include =
>> -I/opt/src/git-src/contrib/llvm-project/llvm/include =
>> -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS =
>> -DHAVE_VCS_VERSION_INC -DNDEBUG =
>> -DLLVM_DEFAULT_TARGET_TRIPLE=3D\"x86_64-unknown-freebsd15.0\" -D
>>> LLVM_HOST_TRIPLE=3D\"x86_64-unknown-freebsd15.0\" =
>> -DDEFAULT_SYSROOT=3D\"/export/obj/opt/src/git-src/amd64.amd64/tmp\" =
>> -DLLVM_TARGET_ENABLE_X86 =
>> -DLLVM_NATIVE_ASMPARSER=3DLLVMInitializeX86AsmParser =
>> -DLLVM_NATIVE_ASMPRINTER=3DLLVMInitializeX86AsmPrinter =
>> -DLLVM_NATIVE_DISASSEMBLER
>>> =3DLLVMInitializeX86Disassembler =
>> -DLLVM_NATIVE_TARGET=3DLLVMInitializeX86Target =
>> -DLLVM_NATIVE_TARGETINFO=3DLLVMInitializeX86TargetInfo =
>> -DLLVM_NATIVE_TARGETMC=3DLLVMInitializeX86TargetMC -ffunction-sections =
>> -fdata-sections -gline-tables-only -Wno-format-zero-length -Wdate-time=20=
>>
>>> -Wno-empty-body -Wno-string-plus-int -Wno-unused-const-variable =
>> -Wno-error=3Dunused-but-set-parameter -Wno-tautological-compare =
>> -Wno-unused-value -Wno-parentheses-equality -Wno-unused-function =
>> -Wno-enum-conversion -Wno-unused-local-typedef =
>> -Wno-address-of-packed-member -
>>> Wno-switch -Wno-switch-enum -Wno-knr-promoted-parameter =
>> -Wno-parentheses -Qunused-arguments =
>> -I/export/obj/opt/src/git-src/amd64.amd64/tmp/legacy/usr/include =
>> -fno-exceptions -fno-rtti -gline-tables-only -std=3Dc++17 =
>> -stdlib=3Dlibc++ -Wno-c++11-extensions -c /opt/src/
>>> =
>> git-src/contrib/llvm-project/llvm/lib/CodeGen/ShadowStackGCLowering.cpp =
>> -o CodeGen/ShadowStackGCLowering.o
>>> =
>> /opt/src/git-src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/Select=
>> ionDAGISel.cpp:921:13: error: no member named 'VerifyDAGDivergence' in =
>> 'llvm::SelectionDAG'
>>> 921 | CurDAG->VerifyDAGDivergence();
>>> | ~~~~~~ ^
>>> =
>> /opt/src/git-src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/Select=
>> ionDAGISel.cpp:941:13: error: no member named 'VerifyDAGDivergence' in =
>> 'llvm::SelectionDAG'
>>> 941 | CurDAG->VerifyDAGDivergence();
>>> | ~~~~~~ ^
>>> =
>> /opt/src/git-src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/Select=
>> ionDAGISel.cpp:963:13: error: no member named 'VerifyDAGDivergence' in =
>> 'llvm::SelectionDAG'
>>> 963 | CurDAG->VerifyDAGDivergence();
>>> | ~~~~~~ ^
>>> =
>> /opt/src/git-src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/Select=
>> ionDAGISel.cpp:987:15: error: no member named 'VerifyDAGDivergence' in =
>> 'llvm::SelectionDAG'
>>> 987 | CurDAG->VerifyDAGDivergence();
>>> | ~~~~~~ ^
>>> =
>> /opt/src/git-src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/Select=
>> ionDAGISel.cpp:1005:15: error: no member named 'VerifyDAGDivergence' in =
>> 'llvm::SelectionDAG'
>>> 1005 | CurDAG->VerifyDAGDivergence();
>>> | ~~~~~~ ^
>>> =
>> /opt/src/git-src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/Select=
>> ionDAGISel.cpp:1021:15: error: no member named 'VerifyDAGDivergence' in =
>> 'llvm::SelectionDAG'
>>> 1021 | CurDAG->VerifyDAGDivergence();
>>> | ~~~~~~ ^
>>> =
>> /opt/src/git-src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/Select=
>> ionDAGISel.cpp:1041:15: error: no member named 'VerifyDAGDivergence' in =
>> 'llvm::SelectionDAG'
>>> 1041 | CurDAG->VerifyDAGDivergence();
>>> | ~~~~~~ ^
>>> =
>> /opt/src/git-src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/Select=
>> ionDAGISel.cpp:1061:13: error: no member named 'VerifyDAGDivergence' in =
>> 'llvm::SelectionDAG'
>>> 1061 | CurDAG->VerifyDAGDivergence();
>>> | ~~~~~~ ^
>>> =
>> /opt/src/git-src/contrib/llvm-project/llvm/lib/CodeGen/SelectionDAG/Select=
>> ionDAGISel.cpp:1081:13: error: no member named 'VerifyDAGDivergence' in =
>> 'llvm::SelectionDAG'
>>> 1081 | CurDAG->VerifyDAGDivergence();
>>> | ~~~~~~ ^
>>
>> I haven't fully universe-tested each and every individual squashed =
>> merge, so please use only the last one. If that one doesn't build, I =
>> would be amazed, since it has gone through more than one universe build. =
>> That said, some exotic configurations might not build. Do you have any =
>> special make.conf or src.conf settings?
>>
>> -Dimitry
>
> I have nothing that would affect this.
>
> The following patch addresses the breakage.
>
> diff --git a/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAG.h
> b/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAG.h
> index 16ec65f2e7da..d2985d172711 100644
> --- a/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAG.h
> +++ b/contrib/llvm-project/llvm/include/llvm/CodeGen/SelectionDAG.h
> @@ -582,9 +582,7 @@ class SelectionDAG {
> return Root;
> }
>
> -#ifndef NDEBUG
> void VerifyDAGDivergence();
> -#endif
>
> /// This iterates over the nodes in the SelectionDAG, folding
> /// certain types of nodes together, or eliminating superfluous nodes.
> The
> --
> 2.47.0
>
> But, NDEBUG is defined in bsd.lib.mk when MK_ASSERT_DEBUG == "no". I do not
> define MK_ASSERT_DEBUG anywhere.
It looks like upstream has this covered in https://github.com/llvm/llvm-project/commit/6c7a3f80e75d, but at the moment I am still trying to understand why it all builds fine for me, on a (I hope) clean 15.0-CURRENT machine. In fact, one of the offical FreeBSD cluster machines. :)
I would like to make sure that whatever fix I will commit, I can verify works. To be able to do that, I will have to reproduce a failure first...
-Dimitry