git: 74626c16ff48 - main - Merge llvm-project release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442

From: Dimitry Andric <dim_at_FreeBSD.org>
Date: Sat, 06 Apr 2024 20:18:55 UTC
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=74626c16ff489c0d64cf2843dfd522e7c544f3ce

commit 74626c16ff489c0d64cf2843dfd522e7c544f3ce
Merge: b3edf4467982 e15a4f0a320e
Author:     Dimitry Andric <dim@FreeBSD.org>
AuthorDate: 2024-02-20 18:57:23 +0000
Commit:     Dimitry Andric <dim@FreeBSD.org>
CommitDate: 2024-04-06 20:14:13 +0000

    Merge llvm-project release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442
    
    This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvm-project release/18.x llvmorg-18.1.0-rc2-53-gc7b0a6ecd442.
    
    PR:             276104
    MFC after:      1 month

 .../clang/include/clang/Basic/arm_sme.td           |  28 +-
 .../clang/include/clang/Driver/Options.td          |  12 +
 .../clang/lib/Basic/Targets/AArch64.cpp            |   9 +-
 .../clang/lib/Driver/ToolChains/Arch/Sparc.cpp     |  81 +++
 .../clang/lib/Format/UnwrappedLineParser.cpp       |   2 +-
 contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp   |   2 +-
 .../clang/tools/clang-format/ClangFormat.cpp       |  49 +-
 .../compiler-rt/lib/dfsan/dfsan_custom.cpp         | 203 ++-----
 .../compiler-rt/lib/dfsan/done_abilist.txt         |   6 +
 .../lib/dfsan/libc_ubuntu1404_abilist.txt          |   5 +
 .../lib/profile/InstrProfilingPlatformAIX.c        |   4 +-
 contrib/llvm-project/libcxx/include/print          |  14 +-
 .../llvm-project/libcxx/modules/CMakeLists.txt.in  |  88 +++
 .../llvm-project/libcxx/modules/std/ostream.inc    |   4 +-
 contrib/llvm-project/libcxx/src/print.cpp          |  25 +-
 contrib/llvm-project/lld/COFF/Driver.cpp           |  10 +-
 contrib/llvm-project/lld/ELF/Arch/LoongArch.cpp    | 156 +++++-
 contrib/llvm-project/lld/ELF/Arch/RISCV.cpp        |  29 +-
 contrib/llvm-project/lld/ELF/Arch/SystemZ.cpp      | 607 +++++++++++++++++++++
 contrib/llvm-project/lld/ELF/Driver.cpp            |   3 +-
 contrib/llvm-project/lld/ELF/InputFiles.cpp        |   2 +
 contrib/llvm-project/lld/ELF/InputSection.cpp      |  14 +-
 contrib/llvm-project/lld/ELF/InputSection.h        |  24 +-
 contrib/llvm-project/lld/ELF/Relocations.cpp       |  27 +-
 contrib/llvm-project/lld/ELF/Relocations.h         |   3 +
 contrib/llvm-project/lld/ELF/ScriptParser.cpp      |   1 +
 contrib/llvm-project/lld/ELF/SyntheticSections.cpp |   3 +
 contrib/llvm-project/lld/ELF/Target.cpp            |   2 +
 contrib/llvm-project/lld/ELF/Target.h              |   4 +
 contrib/llvm-project/lld/ELF/Writer.cpp            |   4 +-
 contrib/llvm-project/lld/docs/ReleaseNotes.rst     |  53 +-
 .../llvm/include/llvm/BinaryFormat/ELF.h           |   1 +
 .../llvm/lib/Analysis/ValueTracking.cpp            |   7 +-
 .../lib/CodeGen/GlobalISel/LegalizerHelper.cpp     |   2 +
 .../llvm/lib/CodeGen/RegisterCoalescer.cpp         |  27 +-
 .../llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp  |   2 +-
 .../lib/Target/AArch64/AArch64ISelLowering.cpp     |  11 +-
 .../lib/Target/AArch64/AArch64RegisterInfo.cpp     |   4 +
 .../Target/AArch64/GISel/AArch64LegalizerInfo.cpp  |   5 +-
 .../lib/Target/Mips/AsmParser/MipsAsmParser.cpp    |   7 +-
 .../llvm/lib/Target/RISCV/RISCVISelLowering.cpp    |  98 ++--
 .../llvm/lib/Target/RISCV/RISCVInstrInfo.cpp       |   3 +-
 .../llvm-project/llvm/lib/Target/Sparc/Sparc.td    |  14 +
 .../llvm/lib/Target/Sparc/SparcISelLowering.cpp    |  43 ++
 .../llvm/lib/Target/Sparc/SparcRegisterInfo.cpp    |  14 +-
 .../llvm/lib/Target/Sparc/SparcRegisterInfo.h      |   1 +
 .../llvm/lib/Target/Sparc/SparcRegisterInfo.td     |   4 +
 .../llvm/lib/Target/Sparc/SparcSubtarget.cpp       |   1 +
 .../llvm/lib/Target/Sparc/SparcSubtarget.h         |  10 +
 .../llvm/lib/Target/X86/X86ISelLowering.cpp        |  10 +-
 .../llvm/lib/Transforms/IPO/LowerTypeTests.cpp     |  28 +-
 .../lib/Transforms/Vectorize/SLPVectorizer.cpp     |  14 +-
 contrib/llvm-project/openmp/runtime/src/kmp.h      |   7 +-
 .../openmp/runtime/src/kmp_csupport.cpp            |   5 +-
 .../openmp/runtime/src/kmp_gsupport.cpp            |   2 +-
 .../llvm-project/openmp/runtime/src/kmp_lock.cpp   |   6 +-
 contrib/llvm-project/openmp/runtime/src/kmp_lock.h |  17 +-
 .../openmp/runtime/src/kmp_settings.cpp            |   5 +
 lib/clang/include/VCSVersion.inc                   |   6 +-
 lib/clang/include/lld/Common/Version.inc           |   2 +-
 lib/clang/include/llvm/Support/VCSRevision.h       |   2 +-
 usr.bin/clang/lld/Makefile                         |   1 +
 62 files changed, 1481 insertions(+), 352 deletions(-)

diff --cc contrib/llvm-project/libcxx/modules/CMakeLists.txt.in
index 000000000000,e332d70cc163..e332d70cc163
mode 000000,100644..100644
--- a/contrib/llvm-project/libcxx/modules/CMakeLists.txt.in
+++ b/contrib/llvm-project/libcxx/modules/CMakeLists.txt.in
diff --cc contrib/llvm-project/lld/ELF/Arch/SystemZ.cpp
index 000000000000,d37db6877559..d37db6877559
mode 000000,100644..100644
--- a/contrib/llvm-project/lld/ELF/Arch/SystemZ.cpp
+++ b/contrib/llvm-project/lld/ELF/Arch/SystemZ.cpp
diff --cc lib/clang/include/VCSVersion.inc
index 78d32ba9f856,000000000000..fd0a56bce1b7
mode 100644,000000..100644
--- a/lib/clang/include/VCSVersion.inc
+++ b/lib/clang/include/VCSVersion.inc
@@@ -1,8 -1,0 +1,8 @@@
- #define LLVM_REVISION "llvmorg-18.1.0-rc2-0-gc6c86965d967"
++#define LLVM_REVISION "llvmorg-18.1.0-rc2-53-gc7b0a6ecd442"
 +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
 +
- #define CLANG_REVISION "llvmorg-18.1.0-rc2-0-gc6c86965d967"
++#define CLANG_REVISION "llvmorg-18.1.0-rc2-53-gc7b0a6ecd442"
 +#define CLANG_REPOSITORY "https://github.com/llvm/llvm-project.git"
 +
- #define LLDB_REVISION "llvmorg-18.1.0-rc2-0-gc6c86965d967"
++#define LLDB_REVISION "llvmorg-18.1.0-rc2-53-gc7b0a6ecd442"
 +#define LLDB_REPOSITORY "https://github.com/llvm/llvm-project.git"
diff --cc lib/clang/include/lld/Common/Version.inc
index 10c2eab8fae5,000000000000..87eb422879b9
mode 100644,000000..100644
--- a/lib/clang/include/lld/Common/Version.inc
+++ b/lib/clang/include/lld/Common/Version.inc
@@@ -1,4 -1,0 +1,4 @@@
 +// Local identifier in __FreeBSD_version style
 +#define LLD_FREEBSD_VERSION 1500000
 +
- #define LLD_VERSION_STRING "18.1.0 (FreeBSD llvmorg-18.1.0-rc2-0-gc6c86965d967-" __XSTRING(LLD_FREEBSD_VERSION) ")"
++#define LLD_VERSION_STRING "18.1.0 (FreeBSD llvmorg-18.1.0-rc2-53-gc7b0a6ecd442-" __XSTRING(LLD_FREEBSD_VERSION) ")"
diff --cc lib/clang/include/llvm/Support/VCSRevision.h
index 261c83737634,000000000000..d06ac507357e
mode 100644,000000..100644
--- a/lib/clang/include/llvm/Support/VCSRevision.h
+++ b/lib/clang/include/llvm/Support/VCSRevision.h
@@@ -1,2 -1,0 +1,2 @@@
- #define LLVM_REVISION "llvmorg-18.1.0-rc2-0-gc6c86965d967"
++#define LLVM_REVISION "llvmorg-18.1.0-rc2-53-gc7b0a6ecd442"
 +#define LLVM_REPOSITORY "https://github.com/llvm/llvm-project.git"
diff --cc usr.bin/clang/lld/Makefile
index e68a1f803cf4,000000000000..8fbc41ee992a
mode 100644,000000..100644
--- a/usr.bin/clang/lld/Makefile
+++ b/usr.bin/clang/lld/Makefile
@@@ -1,109 -1,0 +1,110 @@@
 +
 +.include <src.opts.mk>
 +
 +LLVM_BASE=	${SRCTOP}/contrib/llvm-project
 +LLVM_SRCS=	${LLVM_BASE}/llvm
 +LLD_SRCS=	${LLVM_BASE}/lld
 +
 +PACKAGE=	lld
 +PROG_CXX=	ld.lld
 +# Man page directory
 +.PATH:		${LLD_SRCS}/docs
 +.if !defined(TOOLS_PREFIX) || \
 +    (defined(TOOLS_PREFIX) && ${MK_LLD_BOOTSTRAP} != "no")
 +SYMLINKS=	${PROG_CXX} ${BINDIR}/ld
 +MLINKS=		ld.lld.1 ld.1
 +.endif
 +
 +.include "${SRCTOP}/lib/clang/llvm.pre.mk"
 +
 +CFLAGS+=	-I${LLD_SRCS}/ELF
 +CFLAGS+=	-I${LLD_SRCS}/include
 +CFLAGS+=	-I${.OBJDIR}
 +CFLAGS+=	-I${OBJTOP}/lib/clang/libllvm
 +CFLAGS+=	-I${SRCTOP}/sys/contrib/zstd/lib
 +
 +SRCDIR=		lld
 +SRCS+=		Common/Args.cpp
 +SRCS+=		Common/CommonLinkerContext.cpp
 +SRCS+=		Common/DWARF.cpp
 +SRCS+=		Common/DriverDispatcher.cpp
 +SRCS+=		Common/ErrorHandler.cpp
 +SRCS+=		Common/Filesystem.cpp
 +SRCS+=		Common/Memory.cpp
 +SRCS+=		Common/Reproduce.cpp
 +SRCS+=		Common/Strings.cpp
 +SRCS+=		Common/TargetOptionsCommandFlags.cpp
 +SRCS+=		Common/Version.cpp
 +SRCS+=		ELF/AArch64ErrataFix.cpp
 +SRCS+=		ELF/ARMErrataFix.cpp
 +SRCS+=		ELF/Arch/AArch64.cpp
 +SRCS+=		ELF/Arch/AMDGPU.cpp
 +SRCS+=		ELF/Arch/ARM.cpp
 +SRCS+=		ELF/Arch/AVR.cpp
 +SRCS+=		ELF/Arch/Hexagon.cpp
 +SRCS+=		ELF/Arch/LoongArch.cpp
 +SRCS+=		ELF/Arch/MSP430.cpp
 +SRCS+=		ELF/Arch/Mips.cpp
 +SRCS+=		ELF/Arch/MipsArchTree.cpp
 +SRCS+=		ELF/Arch/PPC.cpp
 +SRCS+=		ELF/Arch/PPC64.cpp
 +SRCS+=		ELF/Arch/RISCV.cpp
 +SRCS+=		ELF/Arch/SPARCV9.cpp
++SRCS+=		ELF/Arch/SystemZ.cpp
 +SRCS+=		ELF/Arch/X86.cpp
 +SRCS+=		ELF/Arch/X86_64.cpp
 +SRCS+=		ELF/CallGraphSort.cpp
 +SRCS+=		ELF/DWARF.cpp
 +SRCS+=		ELF/Driver.cpp
 +SRCS+=		ELF/DriverUtils.cpp
 +SRCS+=		ELF/EhFrame.cpp
 +SRCS+=		ELF/ICF.cpp
 +SRCS+=		ELF/InputFiles.cpp
 +SRCS+=		ELF/InputSection.cpp
 +SRCS+=		ELF/LTO.cpp
 +SRCS+=		ELF/LinkerScript.cpp
 +SRCS+=		ELF/MapFile.cpp
 +SRCS+=		ELF/MarkLive.cpp
 +SRCS+=		ELF/OutputSections.cpp
 +SRCS+=		ELF/Relocations.cpp
 +SRCS+=		ELF/ScriptLexer.cpp
 +SRCS+=		ELF/ScriptParser.cpp
 +SRCS+=		ELF/SymbolTable.cpp
 +SRCS+=		ELF/Symbols.cpp
 +SRCS+=		ELF/SyntheticSections.cpp
 +SRCS+=		ELF/Target.cpp
 +SRCS+=		ELF/Thunks.cpp
 +SRCS+=		ELF/Writer.cpp
 +SRCS+=		lld-driver.cpp
 +SRCS+=		tools/lld/lld.cpp
 +
 +.include "${SRCTOP}/lib/clang/llvm.build.mk"
 +
 +LIBDEPS+=	llvm
 +
 +.for lib in ${LIBDEPS}
 +DPADD+=		${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a
 +LDADD+=		${OBJTOP}/lib/clang/lib${lib}/lib${lib}.a
 +.endfor
 +
 +INCFILE=	Options.inc
 +TDFILE=		${LLD_SRCS}/ELF/Options.td
 +GENOPT=		-gen-opt-parser-defs
 +${INCFILE}: ${TDFILE}
 +	${LLVM_TBLGEN} ${GENOPT} -I ${LLVM_SRCS}/include -d ${.TARGET:C/$/.d/} \
 +	    -o ${.TARGET} ${TDFILE}
 +TGHDRS+=	${INCFILE}
 +
 +DEPENDFILES+=	${TGHDRS:C/$/.d/}
 +DPSRCS+=	${TGHDRS}
 +CLEANFILES+=	${TGHDRS} ${TGHDRS:C/$/.d/}
 +
 +.if ${.MAKE.OS} == "FreeBSD" || !defined(BOOTSTRAPPING)
 +LIBADD+=	execinfo
 +LIBADD+=	tinfow
 +.endif
 +LIBADD+=	pthread
 +LIBADD+=	z
 +LIBADD+=	zstd
 +
 +.include <bsd.prog.mk>