Re: git: 5deeebd8c6ca - main - Merge llvm-project release/19.x llvmorg-19.1.2-0-g7ba7d8e2f7b6

From: Dimitry Andric <dim_at_FreeBSD.org>
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