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:49:20 UTC
On 23 Oct 2024, at 22:45, Cy Schubert <Cy.Schubert@cschubert.com> wrote:
> 
> In message <20241023203535.D652666@slippy.cwsent.com>, Cy Schubert writes:
>> 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.
>> 
>> 
>> -- 
>> Cheers,
>> Cy Schubert <Cy.Schubert@cschubert.com>
>> FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
>> NTP:           <cy@nwtime.org>    Web:  https://nwtime.org
>> 
>> e^(i*pi)+1=0
>> 
> 
> Never mind. I have WITHOUT_LLVM_ASSERTIONS defined in src.conf.

Yeah I think that is it. I will test with that setting too, and probably import the upstream fix for it. I will keep you posted.

-Dimitry