[all-commits] [llvm/llvm-project] 6c06bd: [mlir][sparse] support loop range query using Spar...

Justin Bogner via All-commits all-commits at lists.llvm.org
Mon Dec 18 09:52:04 PST 2023


  Branch: refs/heads/users/bogner/spr/hlsldirectx-move-handling-of-resource-element-types-into-the-frontend
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c06bde7c4a89b4b4fa900c51049fdf34d9f042f
      https://github.com/llvm/llvm-project/commit/6c06bde7c4a89b4b4fa900c51049fdf34d9f042f
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2023-12-15 (Fri, 15 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
    M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir

  Log Message:
  -----------
  [mlir][sparse] support loop range query using SparseTensorLevel. (#75670)


  Commit: 9950bb994461d6dc67ac9b33e48f549edcb44739
      https://github.com/llvm/llvm-project/commit/9950bb994461d6dc67ac9b33e48f549edcb44739
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-15 (Fri, 15 Dec 2023)

  Changed paths:
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Serialization/ASTReader.cpp

  Log Message:
  -----------
  [ASTReader] Fix readability-inconsistent-declaration-parameter-name. NFC


  Commit: 7e4ae28645ef3ad36f1daec3fe3edc901f561bc7
      https://github.com/llvm/llvm-project/commit/7e4ae28645ef3ad36f1daec3fe3edc901f561bc7
  Author: Mariusz Borsa <wrotki at msn.com>
  Date:   2023-12-15 (Fri, 15 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    A llvm/test/Instrumentation/AddressSanitizer/calls-only-smallfn.ll
    M llvm/test/Instrumentation/AddressSanitizer/calls-only.ll

  Log Message:
  -----------
  [Sanitizers] Don't inline unpoisoning of small stacks when inlining disabled (#75555)

When ASan.MaxInlinePoisoningSize == 0 , it means that no shadow memory
operations should be made via inlined instrumentation code,
but only via calls to shadow setting functions. This change fixes one
violation of this, which happened when the function allocas count
was small, i.e. less than 5 - in the code modifying the shadow just
before ret instruction.
We now explicitly check ASan.MaxInlinePoisoningSize , and if it's 0 then
we disallow inlining. It is required for the instrumentation
emitting code suitable for handling by ABI implementation.

rdar://119513720

Co-authored-by: Mariusz Borsa <m_borsa at apple.com>


  Commit: 433498ce4619d0269977ad6dd273c584301d546f
      https://github.com/llvm/llvm-project/commit/433498ce4619d0269977ad6dd273c584301d546f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-15 (Fri, 15 Dec 2023)

  Changed paths:
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Print the associated CUDA SM flags (#75664)

Summary:
The architecture that the CUDA application was compiled for is stored in
the ELF flags. This patch just adds some simple enum values to indicate
this to the user in a readable way.


  Commit: 5545b2545207ae0824636665ea976e8631772c99
      https://github.com/llvm/llvm-project/commit/5545b2545207ae0824636665ea976e8631772c99
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute-arch.s

  Log Message:
  -----------
  [RISCV] Make Zfh imply Zfhmin. (#75576)

According to spec, the Zfhmin extension is a subset of the Zfh
extension.


  Commit: 7a0fd97ac1094b9b1547c8d7b35e583d7387224d
      https://github.com/llvm/llvm-project/commit/7a0fd97ac1094b9b1547c8d7b35e583d7387224d
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2023-12-15 (Fri, 15 Dec 2023)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/TreeTransform.h

  Log Message:
  -----------
  [NFC][CLANG] Rename duplicate loop attributes diagnostic functions (#75657)

This patch renames CheckForDuplicateCodeAlignAttrs() to
CheckForDuplicateLoopAttrs() and corresponding other functions that call
it to be used for other statement attributes in future.


  Commit: 4faeb7dbe9a4d35ea3556a319a814fe7c5d6c27c
      https://github.com/llvm/llvm-project/commit/4faeb7dbe9a4d35ea3556a319a814fe7c5d6c27c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-15 (Fri, 15 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/or.ll

  Log Message:
  -----------
  [InstCombine] Add test for missed opportunity to fold 'or' into 'mul' operand. NFC

We are able to fold

or (mul X, Y), X --> mul X, (add Y, 1) (when the multiply has no common bits with X)

but we miss it if the mul operands are commuted.


  Commit: c59ea32f82128f550b471ed96b7ac093ff448c60
      https://github.com/llvm/llvm-project/commit/c59ea32f82128f550b471ed96b7ac093ff448c60
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    A llvm/test/Transforms/InstCombine/canonicalize-or-with-overflow-icmp.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize `icmp pred (X +/- C1), C2` into `icmp pred  X, C2 -/+ C1` with nowrap flag implied by with.overflow intrinsic (#75511)

This patch tries to canonicalize the pattern `Overflow | icmp pred Res,
C2` into `Overflow | icmp pred X, C2 +/- C1`, where `Overflow` and `Res`
are return values of `xxx.with.overflow X, C1`.
Alive2: https://alive2.llvm.org/ce/z/PhR_3S

Fixes #75360.


  Commit: 76041a45bbe3cd2b3b3acad46267f27815e6a652
      https://github.com/llvm/llvm-project/commit/76041a45bbe3cd2b3b3acad46267f27815e6a652
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/CommonArgs.cpp

  Log Message:
  -----------
  [flang][nfc] Refactor linker invocation logic (#75648)

Refactor how the Fortran runtime libs are added to the linker
invocation. This is a non-functional change.

This is an updated version of #75534. This iteration makes sure that
FortranMain.a comes before FortranRuntme.a (the former depends on the
latter).


  Commit: 50f5b5a80bedee08fd4c46fcd171a1c85ee3834b
      https://github.com/llvm/llvm-project/commit/50f5b5a80bedee08fd4c46fcd171a1c85ee3834b
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c

  Log Message:
  -----------
  [AArch64][SME2] Add FCLAMP, CNTP builtins for SME2 (#72487)

This change enables FCLAMP, CNTP builtins for SME2 target.


  Commit: e564d246b2f96d1994d952c4c6ceb578d4e78bdd
      https://github.com/llvm/llvm-project/commit/e564d246b2f96d1994d952c4c6ceb578d4e78bdd
  Author: Hristo Hristov <hristo.goshev.hristov at gmail.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/SpaceshipPapers.csv

  Log Message:
  -----------
  [libc++][spaceship][NFC] Status page - added papers (#75043)

Added C++20 papers to Spaceship status page

Co-authored-by: Hristo Hristov <zingam at outlook.com>


  Commit: c398fa009a47eb24f88383d5e911e59e70f8db86
      https://github.com/llvm/llvm-project/commit/c398fa009a47eb24f88383d5e911e59e70f8db86
  Author: Stefan Pintilie <stefanp at ca.ibm.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
    M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
    R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
    R llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir

  Log Message:
  -----------
  Revert "Reapply "RegisterCoalescer: Add implicit-def of super register when coalescing SUBREG_TO_REG""

This reverts commit f4b5be1ecdc85ca4257b739afb8d57e23c7a8030.

The above change was breaking the clang-ppc64le-linux-test-suite bot.


  Commit: 82ab0f7f36222a0311b5220df52f4193664569e8
      https://github.com/llvm/llvm-project/commit/82ab0f7f36222a0311b5220df52f4193664569e8
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir

  Log Message:
  -----------
  [mlir][linalg] Fix rank-reduced cases for extract/insert slice in DropUnitDims (#74723)

Inferring the reshape reassociation indices for extract/insert slice ops
based on the read sizes of the original slicing op will generate an
invalid expand/collapse shape op for already rank-reduced cases. Instead
just infer from the shape of the slice.

Ported from Differential Revision: https://reviews.llvm.org/D147488


  Commit: f49e2b05bf3ececa2fe20c5d658ab92ab974dc36
      https://github.com/llvm/llvm-project/commit/f49e2b05bf3ececa2fe20c5d658ab92ab974dc36
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGCUDANV.cpp

  Log Message:
  -----------
  [clang][CGCUDANV] Unify PointerType members of CGNVCUDARuntime (NFC) (#75668)

Unify 3 `Pointertype *` members which all refer to the same llvm type.

Opaque pointer clean-up effort.


  Commit: 395f9ce30e884cb6ce02f7a3bdd0dd1f72ea9033
      https://github.com/llvm/llvm-project/commit/395f9ce30e884cb6ce02f7a3bdd0dd1f72ea9033
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M clang/lib/Lex/HeaderSearch.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/DirectX/DXILResource.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp

  Log Message:
  -----------
  Use StringRef::{starts,ends}_with (NFC)

This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::{starts,ends}_with in C++20.

I'm planning to deprecate and eventually remove
StringRef::{starts,ends}with.


  Commit: 01c8af573961c54f0d922c3f3acffa880a0a459c
      https://github.com/llvm/llvm-project/commit/01c8af573961c54f0d922c3f3acffa880a0a459c
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M lld/test/ELF/linkerscript/copy-rel-symbol-value-err.s
    M lld/test/ELF/linkerscript/sections-padding.s
    M lld/test/ELF/linkerscript/symbol-assignexpr.s

  Log Message:
  -----------
  [ELF,test] Improve duplicate "symbol not found" error tests


  Commit: 744f38913fa380580431df0ae89ef5fb3df30240
      https://github.com/llvm/llvm-project/commit/744f38913fa380580431df0ae89ef5fb3df30240
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M lldb/include/lldb/Utility/CompletionRequest.h
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Commands/CommandCompletions.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Core/RichManglingContext.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Expression/REPL.cpp
    M lldb/source/Interpreter/CommandAlias.cpp
    M lldb/source/Interpreter/OptionArgParser.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Symbol/Symbol.cpp
    M lldb/source/Symbol/Symtab.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/TargetList.cpp
    M lldb/source/Utility/Args.cpp
    M lldb/source/Utility/CompletionRequest.cpp
    M lldb/source/Utility/FileSpec.cpp
    M lldb/source/Utility/FileSpecList.cpp
    M lldb/source/Utility/NameMatches.cpp
    M lldb/source/Utility/StringExtractor.cpp
    M lldb/source/Utility/TildeExpressionResolver.cpp
    M lldb/source/Utility/XcodeSDK.cpp
    M lldb/tools/lldb-dap/IOStream.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/Expression/ClangExpressionDeclMapTest.cpp
    M lldb/unittests/Process/minidump/RegisterContextMinidumpTest.cpp
    M lldb/unittests/TestingSupport/MockTildeExpressionResolver.cpp

  Log Message:
  -----------
  [lldb] Use StringRef::{starts,ends}_with (NFC)

This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::{starts,ends}_with in C++20.

I'm planning to deprecate and eventually remove
StringRef::{starts,ends}with.


  Commit: 038871ae684b9cf47222bc0de666847f7294cab5
      https://github.com/llvm/llvm-project/commit/038871ae684b9cf47222bc0de666847f7294cab5
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M llvm/lib/TargetParser/Host.cpp
    M llvm/unittests/Support/ProgramTest.cpp
    M llvm/unittests/Support/TypeNameTest.cpp

  Log Message:
  -----------
  [llvm] Use StringRef::{starts,ends}_with (NFC)

This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::{starts,ends}_with in C++20.

I'm planning to deprecate and eventually remove
StringRef::{starts,ends}with.


  Commit: c26510a2bf369a0031a6757dedc1fe9f901b3975
      https://github.com/llvm/llvm-project/commit/c26510a2bf369a0031a6757dedc1fe9f901b3975
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/sf_vfwmacc_4x4x4.ll

  Log Message:
  -----------
  [RISCV] Fix intrinsic names in sf_vfwmacc_4x4x4.ll. NFC

The type strings in the intrinsic name were using f16 instead of
bf16 for float types. Nothing really checks these strings so everything
still worked.


  Commit: ee667db4b83eb6171bbceca1010cddd0da6f17ca
      https://github.com/llvm/llvm-project/commit/ee667db4b83eb6171bbceca1010cddd0da6f17ca
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
    M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp

  Log Message:
  -----------
  [lldb] Use StringRef::{starts,ends}_with (NFC)

This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::{starts,ends}_with in C++20.

I'm planning to deprecate and eventually remove
StringRef::{starts,ends}with.


  Commit: b8f89b84bc26c46a5a10d01eb5414fbde3c8700a
      https://github.com/llvm/llvm-project/commit/b8f89b84bc26c46a5a10d01eb5414fbde3c8700a
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang/test/Index/recursive-cxx-member-calls.cpp
    M libc/utils/HdrGen/Generator.cpp
    M mlir/examples/toy/Ch2/toyc.cpp
    M mlir/examples/toy/Ch3/toyc.cpp
    M mlir/examples/toy/Ch4/toyc.cpp
    M mlir/examples/toy/Ch5/toyc.cpp
    M mlir/examples/toy/Ch6/toyc.cpp
    M mlir/examples/toy/Ch7/toyc.cpp
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp

  Log Message:
  -----------
  Use StringRef::{starts,ends}_with (NFC)

This patch replaces uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::{starts,ends}_with in C++20.

I'm planning to deprecate and eventually remove
StringRef::{starts,ends}with.


  Commit: 0ca95b269ff90afb706e2cf4c4a59d7c3afe6c65
      https://github.com/llvm/llvm-project/commit/0ca95b269ff90afb706e2cf4c4a59d7c3afe6c65
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M llvm/test/tools/llvm-objdump/X86/disassemble-zeroes-relocations.test
    M llvm/test/tools/llvm-objdump/X86/elf-disassemble-relocs.test

  Log Message:
  -----------
  [llvm-objdump,test] Improve zero dumping and inline relocs tests


  Commit: 2aaeef1fad0c1b233f6d3ca67a6c05877dc9e998
      https://github.com/llvm/llvm-project/commit/2aaeef1fad0c1b233f6d3ca67a6c05877dc9e998
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M clang/test/Index/recursive-cxx-member-calls.cpp

  Log Message:
  -----------
  [Index] Fix recursive-cxx-member-calls.cpp

b8f89b84bc26c46a5a10d01eb5414fbde3c8700a inadvertently replaced
startswith/endswith with starts_with/ends_with even though the test
uses a custom StringRef.  This patch reverts the change.


  Commit: 942b0901b09a89b09ebb75e75141e678a206cc36
      https://github.com/llvm/llvm-project/commit/942b0901b09a89b09ebb75e75141e678a206cc36
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-16 (Sat, 16 Dec 2023)

  Changed paths:
    M llvm/test/tools/llvm-objdump/X86/disassemble-zeroes-relocations.test
    M llvm/test/tools/llvm-objdump/X86/elf-disassemble-relocs-exec.test

  Log Message:
  -----------
  [llvm-objdump,test] Improve zero dumping and inline relocs tests


  Commit: ea979b24b0a755c9839e32dd716078ea816a0508
      https://github.com/llvm/llvm-project/commit/ea979b24b0a755c9839e32dd716078ea816a0508
  Author: Matthias Springer <me at m-sp.org>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp

  Log Message:
  -----------
  [mlir][SparseTensor][NFC] Remove `isNestedIn` helper function (#75729)

Use `Region::findAncestorBlockInRegion` instead of a custom IR
traversal.


  Commit: 5139299618cfc33eb7b4772cea5a8b60131dfc90
      https://github.com/llvm/llvm-project/commit/5139299618cfc33eb7b4772cea5a8b60131dfc90
  Author: Carl Ritson <carl.ritson at amd.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir

  Log Message:
  -----------
  [AMDGPU] Track physical VGPRs used for SGPR spills (#75573)

Physical VGPRs used for SGPR spills need to be tracked independent of
WWM reserved registers. The WWM reserved set contains extra registers
allocated during WWM pre-allocation pass.

This causes SGPR spills allocated after WWM pre-allocation to overlap
with WWM register usage, e.g. if frame pointer is spilt during
prologue/epilog insertion.


  Commit: d08b59f3337777acda520469309514cc6d8e4547
      https://github.com/llvm/llvm-project/commit/d08b59f3337777acda520469309514cc6d8e4547
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/test/MC/X86/index-operations.s

  Log Message:
  -----------
  [test] Improve MC/X86/index-operations.s


  Commit: a3952b4f022ce03c778ecc3b44ffff350b512735
      https://github.com/llvm/llvm-project/commit/a3952b4f022ce03c778ecc3b44ffff350b512735
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/include/llvm/Analysis/AliasAnalysisEvaluator.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h

  Log Message:
  -----------
  [Analysis] Remove unused forward declarations (NFC)


  Commit: 3a1ae2f46db473cfde4baa6e1b090f5dae67e8db
      https://github.com/llvm/llvm-project/commit/3a1ae2f46db473cfde4baa6e1b090f5dae67e8db
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir

  Log Message:
  -----------
  [mlir][vector] Fix invalid `LoadOp` indices being created (#75519)

Fixes https://github.com/llvm/llvm-project/issues/71326.

The cause of the issue was that a new `LoadOp` was created which looked
something like:
```mlir
%arg4 = 
func.func main(%arg1 : index, %arg2 : index) {
  %alloca_0 = memref.alloca() : memref<vector<1x32xi1>>
  %1 = vector.type_cast %alloca_0 : memref<vector<1x32xi1>> to memref<1xvector<32xi1>>
  %2 = memref.load %1[%arg1, %arg2] : memref<1xvector<32xi1>>
  return
}
```
which crashed inside the `LoadOp::verify`. Note here that `%alloca_0` is
0 dimensional, `%1` has one dimension, but `memref.load` tries to index
`%1` with two indices.

This is now fixed by using the fact that `unpackOneDim` always unpacks
one dim


https://github.com/llvm/llvm-project/blob/1bce61e6b01b38e04260be4f422bbae59c34c766/mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp#L897-L903

and so the `loadOp` should just index only one dimension.

---------

Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>


  Commit: 3eaed9e6f574f59d76389c055b047ef5c50afb8a
      https://github.com/llvm/llvm-project/commit/3eaed9e6f574f59d76389c055b047ef5c50afb8a
  Author: melonedo <44501064+melonedo at users.noreply.github.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    A llvm/include/llvm/IR/IntrinsicsRISCVXCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    A llvm/test/CodeGen/RISCV/xcvbitmanip.ll

  Log Message:
  -----------
  [RISCV] Implement intrinsics for XCVbitmanip extension in CV32E40P (#74993)

Implement XCVbitmanip intrinsics for CV32E40P according to the
specification.

This commit is part of a patch-set to upstream the vendor specific
extensions of CV32E40P that need LLVM intrinsics to implement Clang
builtins.

Contributors: @CharKeaney, @ChunyuLiao, @jeremybennett, @lewis-revill,
@NandniJamnadas, @PaoloS02, @simonpcook, @xingmingjie.

Spec:
https://github.com/openhwgroup/core-v-sw/blob/05481cf0ef7aa7b09067b14ff3f71faead7ba310/specifications/corev-builtin-spec.md#listing-of-pulp-bit-manipulation-builtins-xcvbitmanip.

Previously reviewed on Phabricator: https://reviews.llvm.org/D157510.
Parallel GCC patch:
https://gcc.gnu.org/pipermail/gcc-patches/2023-November/635795.html.

Co-authored-by: melonedo <funanzeng at gmail.com>


  Commit: fb877c19c048040702bb99423b0f11539192e89c
      https://github.com/llvm/llvm-project/commit/fb877c19c048040702bb99423b0f11539192e89c
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineLoad - don't bother truncating the alternative target constant data. NFC.

We only iterate over the original target constant/undef width, so keep the alternative data in its original form.

This should help if we try to merge constant data in the future.


  Commit: 9f5afc3de95d6f2b5f85024a8cf7f021fef41db0
      https://github.com/llvm/llvm-project/commit/9f5afc3de95d6f2b5f85024a8cf7f021fef41db0
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M mlir/lib/Conversion/VectorToSCF/VectorToSCF.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/test/Conversion/VectorToSCF/vector-to-scf.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir

  Log Message:
  -----------
  Revert "[mlir][vector] Fix invalid `LoadOp` indices being created (#75519)"

This reverts commit 3a1ae2f46db473cfde4baa6e1b090f5dae67e8db.


  Commit: b6cce87110072a2db19276e042cd40b06285abbc
      https://github.com/llvm/llvm-project/commit/b6cce87110072a2db19276e042cd40b06285abbc
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp

  Log Message:
  -----------
  [RISCV] Fix -Wbraced-scalar-init in RISCVISelLowering.cpp (NFC)

llvm-project/llvm/lib/Target/RISCV/RISCVISelLowering.cpp:339:24:
 error: braces around scalar initializer [-Werror,-Wbraced-scalar-init]
  339 |     setOperationAction({ISD::ROTL}, XLenVT, Expand);
      |                        ^~~~~~~~~~~
1 error generated.


  Commit: a418be96de7872f6058207c695ef4698cb1dbb93
      https://github.com/llvm/llvm-project/commit/a418be96de7872f6058207c695ef4698cb1dbb93
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [X86] combineLoad - extract target constants at the minimum scalar element width.

No need to extract at the byte level, and will make it easier to reconstruct constants in a future patch.


  Commit: 4b3078ef2d8b4ce833c2b493421486bb25802b32
      https://github.com/llvm/llvm-project/commit/4b3078ef2d8b4ce833c2b493421486bb25802b32
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/AntiDepBreaker.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/unittests/CodeGen/DwarfStringPoolEntryRefTest.cpp

  Log Message:
  -----------
  [CodeGen] Remove unnecessary includes (NFC)


  Commit: 2570c7e284c8ad1ee6db069e22d72b836ae935f6
      https://github.com/llvm/llvm-project/commit/2570c7e284c8ad1ee6db069e22d72b836ae935f6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/lib/CodeGen/AsmPrinter/DebugLocStream.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfFile.h

  Log Message:
  -----------
  [CodeGen] Remove unused forward declarations (NFC)


  Commit: 6eaf15d05e3d4490bf0b32fea553027ae3a4e996
      https://github.com/llvm/llvm-project/commit/6eaf15d05e3d4490bf0b32fea553027ae3a4e996
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp

  Log Message:
  -----------
  [Analysis] Use llvm::erase (NFC)


  Commit: 6655581038f8479f0f6942b7d34cbd6556d00a0e
      https://github.com/llvm/llvm-project/commit/6655581038f8479f0f6942b7d34cbd6556d00a0e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp

  Log Message:
  -----------
  [Dialect] Use llvm::is_contained (NFC)


  Commit: 6561efe142ae2a5d434ff646319b0bfb1dd39dee
      https://github.com/llvm/llvm-project/commit/6561efe142ae2a5d434ff646319b0bfb1dd39dee
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M mlir/test/python/pass_manager.py

  Log Message:
  -----------
  [mlir][python][nfc] Test `-print-ir-after-all` (#75742)

The functionality to `-print-ir-after-all` was added in
https://github.com/llvm/llvm-project/commit/caa159f044a05f782701a525d8b0e8f346abbd64.
This PR adds a test and, with that, some documentation.

---------

Co-authored-by: Maksim Levental <maksim.levental at gmail.com>


  Commit: d14ee76181fba376a04cb50afd9ab30cc406ee90
      https://github.com/llvm/llvm-project/commit/d14ee76181fba376a04cb50afd9ab30cc406ee90
  Author: darkbuck <michael.hliao at gmail.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [GISel][TableGen] Enhance default ops support (#75689)

- Instead of checking the default ops directly, this change queries DAG
default operands collected during patterns reading. It does not only
simplify the code but also handle few cases where integer values are
converted from convertible types, such as 'bits'.
- A test case is added GlobalISelEmitter.td as the regression test of
default 'bits' values.


  Commit: fc520f8b29416a3b0738e6c8c3a6d4eee67e42a6
      https://github.com/llvm/llvm-project/commit/fc520f8b29416a3b0738e6c8c3a6d4eee67e42a6
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/insert-const-shuf.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Precommit tests for PR75745 (NFC)


  Commit: 151ddf07a6f7a6c1440c587f2df52b127f29f99c
      https://github.com/llvm/llvm-project/commit/151ddf07a6f7a6c1440c587f2df52b127f29f99c
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/insert-const-shuf.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Stop propagating `undef` when element is demanded

Do not poison `undef` demanded elements in `SimplifyDemandedVectorElts`.
A miscompilation issue has been addressed with refined checking.

Proofs: https://alive2.llvm.org/ce/z/WA5oD5.


  Commit: c014454f43bf523fee2bf695c075882b1cefd21c
      https://github.com/llvm/llvm-project/commit/c014454f43bf523fee2bf695c075882b1cefd21c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
    A llvm/test/Transforms/ConstraintElimination/or-implied-by-operands.ll

  Log Message:
  -----------
  [ConstraintElim] Add extra tests with AND and OR of conditions.

Add additional tests where one of the operands of the AND/OR implies the
other.


  Commit: aad5c2f887d3cd1c69f798186e6502f0ed6e3dde
      https://github.com/llvm/llvm-project/commit/aad5c2f887d3cd1c69f798186e6502f0ed6e3dde
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake

  Log Message:
  -----------
  [cmake] Honor CMAKE_VERBOSE_MAKEFILE when building external projects (#75749)

When the top-level CMake invocation has `CMAKE_VERBOSE_MAKEFILE=ON`,
indicating the user wants to have verbose builds (i.e. all executed
commands explicitly echoed), some of the subprojects and runtimes (such
as compiler-rt, libcxx, etc) do not build in verbose mode. For example,
with Ninja:

```
[ 99% 6252/6308] cd /build/runtimes/builtins-bins && /usr/local/bin/cmake --build .
[  0% 6/308] Building C object CMakeFiles/clang_rt.builtins-i386.dir/absvti2.c.o
[  0% 7/308] Building C object CMakeFiles/clang_rt.builtins-i386.dir/absvdi2.c.o
[  0% 8/308] Building C object CMakeFiles/clang_rt.builtins-i386.dir/absvsi2.c.o
...
```

This is because `llvm_ExternalProject_Add()` and `add_custom_libcxx()`
use CMake's `ExternalProject_Add()` function to configure such
subproject builds, and do not pass through the `CMAKE_VERBOSE_MAKEFILE`
setting.

Similar to what is done in `clang/CMakeLists.txt`, add
`-DCMAKE_VERBOSE_MAKEFILE=ON` to the `ExternalProject_Add()` invocations
in `llvm_ExternalProject_Add()` and `add_custom_libcxx()`, whenever the
top-level CMake invocation had `CMAKE_VERBOSE_MAKEFILE` turned on.


  Commit: 68c976bf64f50fe9c16a335378a964c166851962
      https://github.com/llvm/llvm-project/commit/68c976bf64f50fe9c16a335378a964c166851962
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/lib/Target/X86/X86Subtarget.cpp
    M llvm/test/CodeGen/X86/tagged-globals-pic.ll
    M llvm/test/CodeGen/X86/tagged-globals-static.ll

  Log Message:
  -----------
  [X86] Fix referencing local tagged globals

We should treat the medium code model like the small code model.
Classifying non-local references already properly handled this.


  Commit: 401f0396c3070567ce1ad0b12be7e48713ec0c65
      https://github.com/llvm/llvm-project/commit/401f0396c3070567ce1ad0b12be7e48713ec0c65
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format] Fix a bug in `IndentExternBlock: NoIndent` (#75731)

Fixes #36620.
Fixes #75719.


  Commit: f1ab90ab632d137fc3c7deaa237751db31bcb22e
      https://github.com/llvm/llvm-project/commit/f1ab90ab632d137fc3c7deaa237751db31bcb22e
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/lib/IR/Metadata.cpp

  Log Message:
  -----------
  [IR] Use llvm::find (NFC)


  Commit: 211f5d00e26b62edc80bc86655a73c28e57b6964
      https://github.com/llvm/llvm-project/commit/211f5d00e26b62edc80bc86655a73c28e57b6964
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/docs/AliasAnalysis.rst
    M llvm/docs/ConvergentOperations.rst
    M llvm/docs/JITLink.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/TableGen/ProgRef.rst

  Log Message:
  -----------
  [llvm] Fix typos in documentation


  Commit: 364d7e775fcad5ef20a5c5788586f79c467b47db
      https://github.com/llvm/llvm-project/commit/364d7e775fcad5ef20a5c5788586f79c467b47db
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M lldb/bindings/python/python-typemaps.swig

  Log Message:
  -----------
  [lldb] Use StringRef::starts_with (NFC)

This patch replaces uses of StringRef::startswith with
StringRef::starts_with for consistency with
std::{string,string_view}::starts_with in C++20.

I'm planning to deprecate and eventually remove
StringRef::{starts,ends}with.


  Commit: 5ac12951b4e9bbfcc5791282d0961ec2b65575e9
      https://github.com/llvm/llvm-project/commit/5ac12951b4e9bbfcc5791282d0961ec2b65575e9
  Author: Kazu Hirata <kazu at google.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h

  Log Message:
  -----------
  [ADT] Deprecate StringRef::{starts,ends}with (#75491)

This patch deprecates StringRef::{starts,ends}with.  Note that I've
replaced all known uses of StringRef::{starts,ends}with with
StringRef::{starts,ends}_with for consistency with
std::{string,string_view}::{starts,ends}_with in C++20.


  Commit: dbe9a602561d5eecfc1652aab7e127754cb963c0
      https://github.com/llvm/llvm-project/commit/dbe9a602561d5eecfc1652aab7e127754cb963c0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsRISCV.td

  Log Message:
  -----------
  [RISCV] Correct the VLOperand for masked vssrl/vssra intrinsics.

Though I can't prove it matters for anything. The only use of
VLOperand I know of is for handling i64 splat operands to .vx
intrinsics on RV32. Shifts are special and always use XLen for .vx
so they are always legal.


  Commit: dd45be028d2788cc401400e208ab0fa64d929b0a
      https://github.com/llvm/llvm-project/commit/dd45be028d2788cc401400e208ab0fa64d929b0a
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUBase.td

  Log Message:
  -----------
  [mlir][gpu] Trim trailing whitespace in dialect docs. NFC.


  Commit: 31429e7a89590f88034920edd3e997aeabff8124
      https://github.com/llvm/llvm-project/commit/31429e7a89590f88034920edd3e997aeabff8124
  Author: Akira Hatanaka <ahatanak at gmail.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/Nontemporal.cpp

  Log Message:
  -----------
  [CodeGen] Emit a more accurate alignment for non-temporal loads/stores (#75675)

Call EmitPointerWithAlignment to compute the alignment based on the
underlying lvalue's alignment when it's available.


  Commit: 2c668fddadd885384381107be42f936f08ec0c4d
      https://github.com/llvm/llvm-project/commit/2c668fddadd885384381107be42f936f08ec0c4d
  Author: Jakub Kuderski <jakub at nod-labs.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td

  Log Message:
  -----------
  [mlir][gpu] Trim trailing whitespace in GPUOps.td. NFC.


  Commit: 5c1f44193dd6a7d3453fc002130f5cbc7cb351c2
      https://github.com/llvm/llvm-project/commit/5c1f44193dd6a7d3453fc002130f5cbc7cb351c2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2023-12-17 (Sun, 17 Dec 2023)

  Changed paths:
    M llvm/lib/Support/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Simplify PrintExtension. NFC (#75427)

Instead of using a format string that needs to be parsed, we can use
left_justify to print each string with padding.


  Commit: b83b28779ee56236aaf8827398f889334abbd28d
      https://github.com/llvm/llvm-project/commit/b83b28779ee56236aaf8827398f889334abbd28d
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute-arch.s

  Log Message:
  -----------
  [RISCV] Make Zhinx and Zvfh imply Zhinxmin and Zvfhmin respectively (#75735)

Zhinxmin is a subset of Zhinx and Zvfhmin is also a subset of Zvfh.


  Commit: 111a2290650743b27f70f9b24618411e54493b59
      https://github.com/llvm/llvm-project/commit/111a2290650743b27f70f9b24618411e54493b59
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Gnu.cpp
    A clang/test/Driver/riscv-toolchain-gcc-multilib-reuse.c

  Log Message:
  -----------
  [RISCV] Implement multi-lib reuse rule for RISC-V bare-metal toolchain (#73765)

Extend the multi-lib re-use selection mechanism for RISC-V.
This funciton will try to re-use multi-lib if they are compatible.
Definition of compatible:
  - ABI must be the same.
  - multi-lib is a subset of current arch, e.g. multi-lib=march=rv32im
    is a subset of march=rv32imc.
  - march that contains atomic extension can't reuse multi-lib that
    doesn't has atomic, vice versa. e.g. multi-lib=march=rv32im and
    march=rv32ima are not compatible, because software and hardware
    atomic operation can't work together correctly.


  Commit: 9bb47f7f8bcc17d90763d201f383d28489b9b071
      https://github.com/llvm/llvm-project/commit/9bb47f7f8bcc17d90763d201f383d28489b9b071
  Author: David Green <david.green at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/test/Transforms/simplifyintrinsics.fir

  Log Message:
  -----------
  [Flang] Add Maxloc to fir simplify intrinsics pass (#75463)

This takes the code from D144103 and extends it to maxloc, to allow the
simplifyMinMaxlocReduction method to work with both min and max
intrinsics by switching condition and limit/initial value.


  Commit: ca1034341cfec226c09ff0e473c6ecbcc2a1194c
      https://github.com/llvm/llvm-project/commit/ca1034341cfec226c09ff0e473c6ecbcc2a1194c
  Author: martinboehme <mboehme at google.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Fix an issue with `Environment::getResultObjectLocation()`. (#75483)

So far, if there was a chain of record type prvalues,
`getResultObjectLocation()` would assign a different result object
location to
each one. This makes no sense, of course, as all of these prvalues end
up
initializing the same result object.

This patch fixes this by propagating storage locations up through the
entire
chain of prvalues.

The new implementation also has the desirable effect of making it
possible to
make `getResultObjectLocation()` const, which seems appropriate given
that,
logically, it is just an accessor.


  Commit: c7cdf3cd5d748901e1370f1bfe803685ca658fb6
      https://github.com/llvm/llvm-project/commit/c7cdf3cd5d748901e1370f1bfe803685ca658fb6
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Gnu.cpp

  Log Message:
  -----------
  [clang] Use 'starts_with' instead of 'startswith' in Gnu.cpp (NFC)

llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp:1757:14:
 error: 'startswith' is deprecated: Use starts_with instead [-Werror,-Wdeprecated-declarations]
 1757 |     if (Flag.startswith("!march=") || Flag.startswith("-march="))
      |              ^~~~~~~~~~
      |              starts_with


  Commit: 945c645acb9670b7b866a4abd94bcc9b0ae5d87d
      https://github.com/llvm/llvm-project/commit/945c645acb9670b7b866a4abd94bcc9b0ae5d87d
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h

  Log Message:
  -----------
  [AArch64][SME] Warn when using a streaming builtin from a non-streaming function (#75487)

This PR adds a warning that's emitted when a non-streaming or
non-streaming-compatible builtin is called in an unsuitable function.

Uses work by Kerry McLaughlin.

This is a re-upload of #74064 and fixes a compile time increase.


  Commit: 2f82662ce901c6666fceb9c6c5e0de216a1c9667
      https://github.com/llvm/llvm-project/commit/2f82662ce901c6666fceb9c6c5e0de216a1c9667
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp

  Log Message:
  -----------
  [PowerPC] Let base implementation decide if MI is rematerizable by default (#75772)

If MI is not PPC specific instructions, let base implementation decide
if MI is rematerizable.
This can fix failure in #75570 after #75271 .


  Commit: 49b0e6dcc296792b577ae8f0f674e61a0929b99d
      https://github.com/llvm/llvm-project/commit/49b0e6dcc296792b577ae8f0f674e61a0929b99d
  Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll

  Log Message:
  -----------
  [LoopVectorize] Enable hoisting of runtime checks by default (#71538)

With commit https://reviews.llvm.org/D152366 I introduced functionality
that permitted the hoisting of runtime memory checks from a vectorised
inner loop to the preheader of the next outer-most loop. This is useful
for benchmarks like SPEC2017's x264 where the inner loop is vectorised
and only has a small trip count. In such cases the runtime memory checks
become expensive and since the checks never fail in the case of x264 it
makes sense to do this. However, this behaviour was controlled by the
flag -hoist-runtime-checks which was off by default.

This patch enables this flag by default for all targets, since I believe
this is a generally beneficial thing to do. I have tested this with
SPEC2017 and I see 2.3% and 2.6% improvements with x264 on neoverse-v1
and neoverse-n1, respectively. Similarly, I saw slight improvements in
the overall geomean on both machines. The only other notable changes
were a 1% drop in the roms benchmark, which was compensated for by a 1%
improvement in fotonik3d.


  Commit: d01be3c63109986627c1c029d6d0130f76a63a2f
      https://github.com/llvm/llvm-project/commit/d01be3c63109986627c1c029d6d0130f76a63a2f
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M compiler-rt/lib/asan/asan_posix.cpp
    M compiler-rt/lib/lsan/lsan_posix.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/fork_threaded.c

  Log Message:
  -----------
  [sanitizer] Disable InstallAtForkHandler on Solaris, NetBSD (#75659)

Handlers need missing FutexWait implementation.

Reported in #75290.


  Commit: d777504355dac9a2a8a7bbba6001d05b936868b2
      https://github.com/llvm/llvm-project/commit/d777504355dac9a2a8a7bbba6001d05b936868b2
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir

  Log Message:
  -----------
  [MLIR][OpenMP][Offload] Lower target update op to DeviceRT (#75159)

Adds support for lowring `UpdateDataOp` to the DeviceRT. This reuses the
existing utils used by other device directive.


  Commit: 9e3d915d8ebf86e24c9ff58766be8e7c6aa7b0c0
      https://github.com/llvm/llvm-project/commit/9e3d915d8ebf86e24c9ff58766be8e7c6aa7b0c0
  Author: Martin Storsjö <martin at martin.st>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/test/tools/llvm-rc/windres-preproc.test
    M llvm/tools/llvm-rc/llvm-rc.cpp

  Log Message:
  -----------
  [llvm-windres] Change the interpretation of --preprocessor to match Binutils 2.36 (#75391)

Binutils 2.36 had a somewhat controversial change in how the
--preprocessor option was handled in GNU windres; previously, the option
was interpreted as a part of the command string, potentially containing
multiple arguments (which even was hinted at in the documentation).

In Binutils 2.36, this was changed to interpret the --preprocessor
argument as one argument (possibly containing spaces) pointing at the
preprocessor executable.

The existing behaviour where implicit arguments like -E -xc -DRC_INVOKED
are dropped if --preprocessor is specified, was kept.

This was a breaking change for some users of GNU windres, see
https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=21c33bcbe36377abf01614fb1b9be439a3b6de20,
https://sourceware.org/bugzilla/show_bug.cgi?id=27594, and
https://sourceware.org/git/?p=binutils-gdb.git;a=commitdiff;h=5edb8e3f5ad8d74a83fc0df7f6e4514eed0aa77f.

As multiple years have passed since, the behaviour change seems to be
here to stay, and any users of the previous form of the option have been
forced to avoid this construct. Thus update llvm-windres to match the
new way Binutils of handling this option.

One construct for specifying the path to the preprocessor, which works
both before and after binutils 2.36 (and this change in llvm-windres) is
to specify options like this:

--preprocessor path/to/executable --preprocessor-arg -E
--preprocessor-arg -xc -DRC_INVOKED


  Commit: 428660cfb986dd0a59cd2a16972c5f7109080522
      https://github.com/llvm/llvm-project/commit/428660cfb986dd0a59cd2a16972c5f7109080522
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  [GitHub] Don't indent comment that revision has passed the formatting check

Due to the way the f string was written, the text ended up with 4 spaces
at the start. 4 space indent in Markdown means plain text, which is not
what we intend here.


  Commit: 6deb5d4e440f34e6838eaf617198caea7ce721c5
      https://github.com/llvm/llvm-project/commit/6deb5d4e440f34e6838eaf617198caea7ce721c5
  Author: Dominik Adamski <dominik.adamski at amd.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir

  Log Message:
  -----------
  [NFC][OpenMP][MLIR] Verify if empty workshare loop is lowered correctly (#75518)

Check if workshare loop without loop body is lowered correctly i.e.:
  1) null pointer is passed to OpenMP device RTL function as a
     parameter which denotes loop function body aggregated parameters
  2) Outlined loop function body has only one parameter - loop counter


  Commit: 1faa1cd02d569c1e58303ab4bd9d082aecda2a52
      https://github.com/llvm/llvm-project/commit/1faa1cd02d569c1e58303ab4bd9d082aecda2a52
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c

  Log Message:
  -----------
  [Clang][SVE2.1] Add intrinsics for `WHILEcc` resulting in predicate pair (#75107)

Add intrinsics of the form:

    svboolx2_t svwhile<cond>_b{8,16,32,64}_[{s,u}64]_x2([u]int64_t, [u]int64_t);

and their overloaded variants as specified in
https://github.com/ARM-software/acle/pull/257


  Commit: a34db9bdefe6d60b46f485aa1105ef6c95542e16
      https://github.com/llvm/llvm-project/commit/a34db9bdefe6d60b46f485aa1105ef6c95542e16
  Author: Jakub Chlanda <jakub at codeplay.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp

  Log Message:
  -----------
  [AMDGPU][NFC] Simplify needcopysign logic (#75176)

This was caught by coverity, reported as: `dead_error_condition`.
Since the conditional revolves around `CF`, it is guaranteed to be null
in the else clause, hence making the second part of the statement
redundant.


  Commit: a4deb14e353cd8c543f78979ce986f98023d36dd
      https://github.com/llvm/llvm-project/commit/a4deb14e353cd8c543f78979ce986f98023d36dd
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add check-dag to private-clause-fixes test


  Commit: 7c1d8c74e8576c12da526f589c802faa91bc410a
      https://github.com/llvm/llvm-project/commit/7c1d8c74e8576c12da526f589c802faa91bc410a
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add test for non-zero sub via known non equal (NFC)


  Commit: 337504683efa0b898bcf69b4e5be67d73dbaf180
      https://github.com/llvm/llvm-project/commit/337504683efa0b898bcf69b4e5be67d73dbaf180
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Use isKnownNonEqual() in isNonZeroSub()

(x - y) != 0 is true iff x != y, so use the isKnownNonEqual()
helper, which knows some additional tricks.


  Commit: 465ecf872ec6c09fe610bf161c54031f6a372e95
      https://github.com/llvm/llvm-project/commit/465ecf872ec6c09fe610bf161c54031f6a372e95
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Rename UndefElts -> PoisonElts (NFC)

In line with updated shufflevector semantics, this represents the
poison elements rather than undef elements now. This commit is a
pure rename, without any logic changes.


  Commit: 42239d2e96c5683a2973c39ea7ea20b616218b66
      https://github.com/llvm/llvm-project/commit/42239d2e96c5683a2973c39ea7ea20b616218b66
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/test/SemaTemplate/ctad.cpp

  Log Message:
  -----------
  [clang] Fix CTAD not respect default template arguments that were added after the definition. (#75569)

Fixes https://github.com/llvm/llvm-project/issues/69987


  Commit: 9c18f031968aabc7698e9ab0ea94da3b665d4d5a
      https://github.com/llvm/llvm-project/commit/9c18f031968aabc7698e9ab0ea94da3b665d4d5a
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M libcxx/include/version
    R libcxx/test/std/language.support/support.limits/support.limits.general/.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py

  Log Message:
  -----------
  [libc++] Adds headers to FTM. (#75699)

These feature-test macros had no headers listed in their associated
papers. This adds the expected headers.

Fixes https://github.com/llvm/llvm-project/issues/75577


  Commit: 3b08b3340d5adbd001cd1b328f6fd6ecf5d92f4a
      https://github.com/llvm/llvm-project/commit/3b08b3340d5adbd001cd1b328f6fd6ecf5d92f4a
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp

  Log Message:
  -----------
  [RISCV][test] Fix lifetime bug with Module in test

As pointed out by @s-barannikov in post-commit review of #72356, the
module is destroyed at the end of the constructor.


  Commit: a00c4220be6a9ce17e2a0b88191bdd08e65bf1ad
      https://github.com/llvm/llvm-project/commit/a00c4220be6a9ce17e2a0b88191bdd08e65bf1ad
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    A llvm/test/CodeGen/SystemZ/addr-04.ll

  Log Message:
  -----------
  [SystemZ] Fix complex address matching when i128 is legal

Complex address matching currently handles truncations, under
the assumption that those are no-ops.  This is no longer true
when i128 is legal.  Change the code to only handle actual
no-op truncations.

Fixes https://github.com/llvm/llvm-project/issues/75708
Fixes https://github.com/llvm/llvm-project/issues/75714


  Commit: df3ddd78f640ebec74151028d919904c6cf9ecdd
      https://github.com/llvm/llvm-project/commit/df3ddd78f640ebec74151028d919904c6cf9ecdd
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp

  Log Message:
  -----------
  CGBuiltin - fix gcc Wunused-variable warning. NFC.


  Commit: 2f8178806770b549c054b02ae3556b454cdeb722
      https://github.com/llvm/llvm-project/commit/2f8178806770b549c054b02ae3556b454cdeb722
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/test/CodeGen/ARM/fpenv.ll

  Log Message:
  -----------
  [ARM][FPEnv] Lowering of fpmode intrinsics (#74054)

LLVM intrinsics `get_fpmode`, `set_fpmode` and `reset_fpmode` operate
control modes, the bits of FP environment that affect FP operations. On
ARM these bits are in FPSCR together with the status bits. The
implementation of these intrinsics produces code close to that of
functions `fegetmode` and `fesetmode` from GLIBC.

Pull request: https://github.com/llvm/llvm-project/pull/74054


  Commit: dea16ebd2613a4a218c53045270fc4fcc9b427ad
      https://github.com/llvm/llvm-project/commit/dea16ebd2613a4a218c53045270fc4fcc9b427ad
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M llvm/include/llvm/IR/Constants.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
    M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp

  Log Message:
  -----------
  [LLVM][IR] Replace ConstantInt's specialisation of getType() with getIntegerType(). (#75217)

The specialisation will not be valid when ConstantInt gains native
support for vector types.

This is largely a mechanical change but with extra attention paid to constant
folding, InstCombineVectorOps.cpp, LoopFlatten.cpp and Verifier.cpp to
remove the need to call `getIntegerType()`.

Co-authored-by: Nikita Popov <github at npopov.com>


  Commit: 8f5628eaef3f8fe2f9007fb323808838ffdf8701
      https://github.com/llvm/llvm-project/commit/8f5628eaef3f8fe2f9007fb323808838ffdf8701
  Author: Benjamin Kramer <benny.kra at googlemail.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  Reapply "[bazel] Port 2e45326b088b3b2f5c8327f6d5e61bdd2845bbbe"

This reverts commit 0911f237737839dd90e77c93dd865756275aba69. The
corresponding Clang change re-landed in 945c645acb9670b7b866a4abd94bcc9b0ae5d87d


  Commit: 9727919a2e35d2114d52f33a7751696ae1595581
      https://github.com/llvm/llvm-project/commit/9727919a2e35d2114d52f33a7751696ae1595581
  Author: antoine moynault <antoine.moynault at linaro.org>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/lib/Driver/ToolChains/Gnu.cpp
    R clang/test/Driver/riscv-toolchain-gcc-multilib-reuse.c

  Log Message:
  -----------
  Revert "[RISCV] Implement multi-lib reuse rule for RISC-V bare-metal … (#75789)

…toolchain (#73765)"

This reverts commit 111a2290650743b27f70f9b24618411e54493b59,

as it broke several bots
  https://lab.llvm.org/buildbot/#/builders/245/builds/18162
  https://lab.llvm.org/buildbot/#/builders/188/builds/39436
  https://lab.llvm.org/buildbot/#/builders/187/builds/13723
  https://lab.llvm.org/buildbot/#/builders/182/builds/8449
  https://lab.llvm.org/buildbot/#/builders/198/builds/7438
  https://lab.llvm.org/buildbot/#/builders/176/builds/7419
  https://lab.llvm.org/buildbot/#/builders/186/builds/13781
  https://lab.llvm.org/buildbot/#/builders/183/builds/18116
  https://lab.llvm.org/buildbot/#/builders/197/builds/11410
  https://lab.llvm.org/buildbot/#/builders/184/builds/8651

When reapplying, please take care of another commit that have been
merged after this one:
c7cdf3cd5d74 [clang] Use 'starts_with' instead of 'startswith' in
Gnu.cpp (NFC)


  Commit: 482a37b86036f564a97ad66bbc7aca40fa9cee60
      https://github.com/llvm/llvm-project/commit/482a37b86036f564a97ad66bbc7aca40fa9cee60
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    A flang/test/Parser/OpenMP/threadprivate-blank-common-block.f90

  Log Message:
  -----------
  [Flang][OpenMp]Add testcase for threadprivate with blank common block (#74969)


  Commit: 74cf5254d284f0218db29f535e9ccbcc6a59a3a4
      https://github.com/llvm/llvm-project/commit/74cf5254d284f0218db29f535e9ccbcc6a59a3a4
  Author: arrv-sc <150441443+arrv-sc at users.noreply.github.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/include/llvm/Support/YAMLTraits.h
    M llvm/unittests/Support/YAMLIOTest.cpp

  Log Message:
  -----------
  [llvm][Support] Add indirection to call correct validate(...) function (#71966)

Previously "yamlize" overload for validatedMappingTraits was unconditionally calling "MappingTraits<T>::validate" even if "MappingContextTraits<T, Context>" was passed to it.

Therefore compilation failed when specifying "MappingContextTraits<T,Context>::validate()"


  Commit: 82a1bffd34dab41a379d5854ffa84332bd6456d2
      https://github.com/llvm/llvm-project/commit/82a1bffd34dab41a379d5854ffa84332bd6456d2
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/test/CodeGen/SystemZ/xor-09.ll

  Log Message:
  -----------
  [SelectionDAG] Do not crash on large integers in CheckInteger (#75787)

The CheckInteger routine called from TableGen-generated selection logic
uses getSExtValue - which will abort if the underlying APInt does not
fit into an int64_t.

This case is now triggered by the SystemZ back-end since i128 is a legal
type on certain machines. While we do not have any regular instructions
that take 128-bit immediates (like most other platforms), there are
patterns in the .td files that recognize an i128 "xor ..., -1" as a
"not".

These patterns cause code to be generated that calls the CheckInteger
routine on some i128-valued integer, which may trigger the assert.

Fix by using trySExtValue instead.

Fixes https://github.com/llvm/llvm-project/issues/75710


  Commit: 32a4e3fccaf304c8d541bdefdb1a7ef829f84c1c
      https://github.com/llvm/llvm-project/commit/32a4e3fccaf304c8d541bdefdb1a7ef829f84c1c
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlowFramework.h
    M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
    M mlir/test/Analysis/DataFlow/test-last-modified-callgraph.mlir
    M mlir/test/Analysis/DataFlow/test-next-access.mlir
    M mlir/test/Analysis/DataFlow/test-written-to.mlir
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseDataFlowAnalysis.h
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp

  Log Message:
  -----------
  [mlir] support non-interprocedural dataflow analyses (#75583)

The core implementation of the dataflow anlysis framework is
interpocedural by design. While this offers better analysis precision,
it also comes with additional cost as it takes longer for the analysis
to reach the fixpoint state. Add a configuration mechanism to the
dataflow solver to control whether it operates inteprocedurally or not
to offer clients a choice.

As a positive side effect, this change also adds hooks for explicitly
processing external/opaque function calls in the dataflow analyses,
e.g., based off of attributes present in the the function declaration or
call operation such as alias scopes and modref available in the LLVM
dialect.

This change should not affect existing analyses and the default solver
configuration remains interprocedural.

Co-authored-by: Jacob Peng <jacobmpeng at gmail.com>


  Commit: fda3a134bcd96bd08ab32d55f4731a06808880d2
      https://github.com/llvm/llvm-project/commit/fda3a134bcd96bd08ab32d55f4731a06808880d2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll
    R llvm/test/Transforms/InstCombine/obfuscated_splat-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/obfuscated_splat.ll

  Log Message:
  -----------
  [InstCombine] Regenerate test checks (NFC)


  Commit: 7e5019e82bb3d7c7a573aa9b3bd7c16a920fd453
      https://github.com/llvm/llvm-project/commit/7e5019e82bb3d7c7a573aa9b3bd7c16a920fd453
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp

  Log Message:
  -----------
  [AMDGPU] Simplify WaitcntBrackets::getRegInterval with getPhysRegBaseClass (#74087)

This means that getRegInterval no longer depends on the MCInstrDesc, so
it could be simplified further to take just a MachineOperand or just a
physical register. NFCI.


  Commit: 6c9813aa02ed8cbf518045e15787dce352e5e84d
      https://github.com/llvm/llvm-project/commit/6c9813aa02ed8cbf518045e15787dce352e5e84d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
    M llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll
    M llvm/test/Transforms/InstCombine/obfuscated_splat.ll
    M llvm/test/Transforms/InstCombine/trunc-extractelement.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Check for poison instead of undef in shuffle combine

Otherwise we may replace undef with poison.

Note that a lot of tests regressing here already have variants
that use poison instead of undef (often in a separate
inseltpoison file), which is why I'm not adjusting them to the
new pattern.


  Commit: 629412938b01773fe92cb5fd12f1c434fd80884d
      https://github.com/llvm/llvm-project/commit/629412938b01773fe92cb5fd12f1c434fd80884d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp

  Log Message:
  -----------
  Triple: Fix handling of macos with unexpected target arches (#75469)

Some tools with a specified target arch, but no full triple default to
the host triple. On macos hosts, this would then force using macho on
targets that didn't expect it, resulting in assertions.

We should also probably emit explicit errors if the object format is
specified on targets which don't handle it.


  Commit: e93d324adb4ff80dcbf0e5b678ed3342350eb2de
      https://github.com/llvm/llvm-project/commit/e93d324adb4ff80dcbf0e5b678ed3342350eb2de
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-simplify-image-buffer-stores.ll
    M llvm/test/Transforms/InstCombine/shufflevector-div-rem-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll

  Log Message:
  -----------
  [InstCombine] Preserve poison in evaluateInDifferentElementOrder()

Don't unnecessarily replace poison with undef.


  Commit: 6d91905f9786943139150bf9e2b1f10ba92444d5
      https://github.com/llvm/llvm-project/commit/6d91905f9786943139150bf9e2b1f10ba92444d5
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp

  Log Message:
  -----------
  [ValueTracking] Short-circuit on unknown bits in isKnownNonEqual() (NFC)

Don't bother computing known bits for the second operand if we
know nothing about the first.


  Commit: 58a2c4e2f24ffce3966c3988d1a4ca7b04c52244
      https://github.com/llvm/llvm-project/commit/58a2c4e2f24ffce3966c3988d1a4ca7b04c52244
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp

  Log Message:
  -----------
  [SLP][NFC]Check for equal opcode preliminary to meet weak strict order
requirement, NFC.

This change does not affect functionality, just fixes the assertions in
some standard c++ library implementations.


  Commit: 4ef6587715bec4520332528c4a71fe5a9ac10477
      https://github.com/llvm/llvm-project/commit/4ef6587715bec4520332528c4a71fe5a9ac10477
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    A clang/test/OpenMP/map_struct_ordering.cpp
    A openmp/libomptarget/test/offloading/struct_mapping_with_pointers.cpp

  Log Message:
  -----------
  [Clang][OpenMP] Fix mapping of structs to device (#75642)

Fix mapping of structs to device.

The following example fails:

```
#include <stdio.h>
#include <stdlib.h>

struct Descriptor {
  int *datum;
  long int x;
  int xi;
  long int arr[1][30];
};

int main() {
  Descriptor dat = Descriptor();
  dat.datum = (int *)malloc(sizeof(int)*10);
  dat.xi = 3;
  dat.arr[0][0] = 1;

  #pragma omp target enter data map(to: dat.datum[:10]) map(to: dat)

  #pragma omp target
  {
    dat.xi = 4;
    dat.datum[dat.arr[0][0]] = dat.xi;
  }

  #pragma omp target exit data map(from: dat)

 return 0;
}
```

This is a rework of the previous attempt:
https://github.com/llvm/llvm-project/pull/72410


  Commit: d0605e21af516f60c081df56fc85ef13342b5aa0
      https://github.com/llvm/llvm-project/commit/d0605e21af516f60c081df56fc85ef13342b5aa0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/X86/x86-avx2.ll
    M llvm/test/Transforms/InstCombine/X86/x86-muldq.ll
    M llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll
    M llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll
    M llvm/test/Transforms/InstCombine/icmp-bc-vec.ll
    M llvm/test/Transforms/InstCombine/icmp-vec.ll
    M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/trunc-extractelement.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize splat shuffles to use poison operand

If the splat shuffle is represented using an undef RHS, replace it
with poison.


  Commit: a35629cd8de18387c6f9d1be9111d517df88554a
      https://github.com/llvm/llvm-project/commit/a35629cd8de18387c6f9d1be9111d517df88554a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/test/libcxx/input.output/iostream.format/print.fun/transcoding.pass.cpp
    M libcxx/test/std/algorithms/robust_against_proxy_iterators_lifetime_bugs.pass.cpp
    M libcxx/test/std/containers/sequences/array/types.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp

  Log Message:
  -----------
  [libc++] Remove assumptions that std::array::iterator is a raw pointer (#74624)

This patch removes assumptions that std::array's iterators are raw
pointers in the source code and in our test suite. While this is true
right now, this doesn't have to be true and ion the future we might want
to enable bounded iterators in std::array, which would require this
change.

This is a pre-requisite for landing #74482


  Commit: cd1038a46a337042da7685973332481eb9c37707
      https://github.com/llvm/llvm-project/commit/cd1038a46a337042da7685973332481eb9c37707
  Author: Gheorghe-Teodor Bercea <doru.bercea at amd.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M openmp/libomptarget/test/offloading/struct_mapping_with_pointers.cpp

  Log Message:
  -----------
  [OpenMP][libomptarget][Fix]Require presence of libomptarget-debug for newly added test (#75807)

Require presence of libomptarget-debug fixes https://github.com/llvm/llvm-project/pull/75642


  Commit: 5cda366221236a43fdd89bca59e153b4384eaba8
      https://github.com/llvm/llvm-project/commit/5cda366221236a43fdd89bca59e153b4384eaba8
  Author: Podchishchaeva, Mariya <mariya.podchishchaeva at intel.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/Sema/missing-field-initializers.c
    M clang/test/SemaCXX/cxx2a-initializer-aggregates.cpp

  Log Message:
  -----------
  Revert "[clang] Fix false positive -Wmissing-field-initializer for anonymous unions (#70829)"

This reverts commit a01307a6ee788fc6ac2e09e58f0f52e5666def86 and its
follow-up fix 32d5221ec4810dd723ccebaabbda1df5d3b4cfcf.

It caused unexpected warnings emitted for nested designators in C.


  Commit: a5f34155339b4c01357462da95aac62291ed7ec8
      https://github.com/llvm/llvm-project/commit/a5f34155339b4c01357462da95aac62291ed7ec8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
    M clang/test/CodeGen/aarch64-neon-vcmla.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/Headers/wasm.c
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/AArch64/demandelts.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
    M llvm/test/Transforms/InstCombine/X86/x86-addsub.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx2.ll
    M llvm/test/Transforms/InstCombine/X86/x86-muldq.ll
    M llvm/test/Transforms/InstCombine/X86/x86-pack-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-pack.ll
    M llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll
    M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
    M llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/bitcast-vec-canon-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/bitcast-vec-canon.ll
    M llvm/test/Transforms/InstCombine/bitreverse.ll
    M llvm/test/Transforms/InstCombine/broadcast.ll
    M llvm/test/Transforms/InstCombine/bswap.ll
    M llvm/test/Transforms/InstCombine/extractelement.ll
    M llvm/test/Transforms/InstCombine/icmp-bc-vec.ll
    M llvm/test/Transforms/InstCombine/icmp-vec.ll
    M llvm/test/Transforms/InstCombine/insert-extract-shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
    M llvm/test/Transforms/InstCombine/matrix-multiplication-negation.ll
    M llvm/test/Transforms/InstCombine/nsw.ll
    M llvm/test/Transforms/InstCombine/obfuscated_splat.ll
    M llvm/test/Transforms/InstCombine/select-binop-cmp.ll
    M llvm/test/Transforms/InstCombine/select-extractelement-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/select-extractelement.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/shuffle-cast.ll
    M llvm/test/Transforms/InstCombine/shuffle-select-narrow.ll
    M llvm/test/Transforms/InstCombine/shuffle_select.ll
    M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll
    M llvm/test/Transforms/InstCombine/shufflevector-div-rem.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/trunc-extractelement-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/trunc-extractelement.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/InstCombine/type_pun.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/vec_phi_extract-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_phi_extract.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr61061.ll
    M llvm/test/Transforms/PhaseOrdering/X86/scalarization.ll
    M llvm/test/Transforms/PhaseOrdering/X86/shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll

  Log Message:
  -----------
  [InstCombine] Replace non-demanded undef vector with poison

If an operand (esp to shufflevector or insertelement) is not
demanded, canonicalize it from undef to poison.


  Commit: 87b45f1ca6d4ff4cb322c14b6375b2ea0063f82a
      https://github.com/llvm/llvm-project/commit/87b45f1ca6d4ff4cb322c14b6375b2ea0063f82a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [llvm-readobj] Print AMDGPU specific values in GNU mode (#75661)

Summary:
Currently, we don't emit any of the AMDGPU specific flags and options
when printing in GNU-mode (the default). This patch adds extra code to
handle outputting these values to match the output from GNU's `readelf`
when used on an AMDGPU image.


  Commit: e60167927bb6153408dbaa081fcb606e7a8f493a
      https://github.com/llvm/llvm-project/commit/e60167927bb6153408dbaa081fcb606e7a8f493a
  Author: Dominik Wójt <dominik.wojt at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M libcxx/cmake/caches/Armv7M-picolibc.cmake
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/run-buildbot
    M libcxxabi/test/catch_multi_level_pointer.pass.cpp

  Log Message:
  -----------
  [libc++] Add a picolibc test configuration with exceptions enabled (#75462)


  Commit: 27767959a5e53ffa3e91ea011f8c44eeeaf59132
      https://github.com/llvm/llvm-project/commit/27767959a5e53ffa3e91ea011f8c44eeeaf59132
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M libcxx/cmake/caches/Generic-no-tzdb.cmake

  Log Message:
  -----------
  [libc++][CI] Enable modules in no TZDB build. (#75704)

This is one of the few build where we didn't test modules.


  Commit: 1580877555f91c5ab7eed7926bb984b2f6b70bb4
      https://github.com/llvm/llvm-project/commit/1580877555f91c5ab7eed7926bb984b2f6b70bb4
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp

  Log Message:
  -----------
  [Libomptarget] Remove bitcode image map used for JIT processing (#75672)

Summary:
Libomptarget supports JIT by treating an LLVM-IR file as a regular input
image. The handling here used a global map to keep track of triples once
it was parsed. This was done to same time, however this created a global
constructor as well as an extra mutex to handle it. This patch removes
the use of this map.

Instead, we simply use the file magic to perform a quick check if the
input image is valid bitcode. If not, we then create a lazy module. This
should roughly equivalent to the old handling that create an IR symbol
table. Here we can prevent the module from materializing everything but
the single triple metadata we read in later.


  Commit: 0f5eef1fb3e3f6491fb27dfb69b230946ffea69c
      https://github.com/llvm/llvm-project/commit/0f5eef1fb3e3f6491fb27dfb69b230946ffea69c
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/test/OpenMP/nvptx_target_teams_ompx_bare_codegen.cpp
    M clang/test/OpenMP/ompx_bare_messages.c
    M clang/test/OpenMP/target_teams_ast_print.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp

  Log Message:
  -----------
  [OpenMP][Clang] Force use of `num_teams` and `thread_limit` for bare kernel (#68373)

This patch makes `num_teams` and `thread_limit` mandatory for bare
kernels,
similar to a reguar kernel language that when launching a kernel, the
grid size
has to be set explicitly.


  Commit: 9d25b28b9e412b66bb58993dff6646a8f08b8c8c
      https://github.com/llvm/llvm-project/commit/9d25b28b9e412b66bb58993dff6646a8f08b8c8c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vscale_extractelement.ll
    M llvm/test/Transforms/InstCombine/vscale_insertelement.ll

  Log Message:
  -----------
  [InstCombine] Explicitly canonicalize splat shuffles to use poison RHS

This is usually handled by demanded elements simplification. However,
as that is not supported for scalable vectors, also handle it
explicitly here.


  Commit: 8a233d8cfde4cd026b5dd12b56ea029749a02329
      https://github.com/llvm/llvm-project/commit/8a233d8cfde4cd026b5dd12b56ea029749a02329
  Author: Abhina Sree <69635948+abhina-sree at users.noreply.github.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/tools/libclang/CIndexer.cpp

  Log Message:
  -----------
  [SystemZ][z/OS] Add guard for dl_info and dladdr (#75637)

This patch fixes the following build error on z/OS `error: unknown type name 'Dl_info'` by adding a guard to check if we have dladdr.


  Commit: ddd11537e2af5596e8a1d213ed6f939a3ecfc72b
      https://github.com/llvm/llvm-project/commit/ddd11537e2af5596e8a1d213ed6f939a3ecfc72b
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Match poison instead of undef in binop of same-mask shuffle fold


  Commit: fd527def7edef8f8754b9e7812ed77f486bb144f
      https://github.com/llvm/llvm-project/commit/fd527def7edef8f8754b9e7812ed77f486bb144f
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-revd.ll

  Log Message:
  -----------
  [Clang][SVE2.1] Add floating-point variants of `svrevd_XX` (#75117)


  Commit: cd54c47424456a4dcf8161f3377234cbfa459e88
      https://github.com/llvm/llvm-project/commit/cd54c47424456a4dcf8161f3377234cbfa459e88
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll

  Log Message:
  -----------
  [InstCombine] Match poison instead of undef in foldVectorBinop()

Some negative tests turn into positive tests, as the differences
between undef and poison propagation allow additional transforms.


  Commit: d0285a31c85a9931ee0d9cbb8486f313dc21ada9
      https://github.com/llvm/llvm-project/commit/d0285a31c85a9931ee0d9cbb8486f313dc21ada9
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/test/CodeGen/AArch64/stack-probing-dynamic-no-frame-setup.ll

  Log Message:
  -----------
  aarch64: fix testcase (#75723)

Add missing < %s to RUN line.


  Commit: 4d9d105c7053d67507a3ab1e7cf34bf6d521cc44
      https://github.com/llvm/llvm-project/commit/4d9d105c7053d67507a3ab1e7cf34bf6d521cc44
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M mlir/test/Analysis/DataFlow/test-next-access.mlir

  Log Message:
  -----------
  [mlir] fix filecheck prefixes in a dataflow test (#75794)

-SAME and -LITERAL do not compose in CHECK commands.


  Commit: a0a3c793d212ffc70fdba4c94b024114d11532af
      https://github.com/llvm/llvm-project/commit/a0a3c793d212ffc70fdba4c94b024114d11532af
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h

  Log Message:
  -----------
  [Clang][SME] Warn when a function doesn't have ZA state (#75805)

This patch adds a warning that's emitted when a builtin call uses ZA
state but the calling function doesn't provide any.

Patch by David Sherwood <david.sherwood at arm.com>.


  Commit: 7b1e4239b396e57919a56a965282c30711b6b4e8
      https://github.com/llvm/llvm-project/commit/7b1e4239b396e57919a56a965282c30711b6b4e8
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll

  Log Message:
  -----------
  [DAG] Fold (vt trunc (extload (vt x))) -> (vt load x) (#75229)

We were only folding cases which remained extloads, but DAG.getExtLoad can also handle the cases which don't need to extend at all (we just can't do truncloads).

reduceLoadWidth can handle this for scalar loads, but not for vectors.

Noticed while triaging D152928


  Commit: 318d5bff0b65aa7d52fc7004d49587416f0fb564
      https://github.com/llvm/llvm-project/commit/318d5bff0b65aa7d52fc7004d49587416f0fb564
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/X86/clmulqdq.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
    M llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll
    M llvm/test/Transforms/InstCombine/broadcast.ll
    M llvm/test/Transforms/InstCombine/extractelement.ll
    M llvm/test/Transforms/InstCombine/inselt-binop.ll
    M llvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
    M llvm/test/Transforms/InstCombine/pr38984.ll
    M llvm/test/Transforms/InstCombine/shuffle_select.ll
    M llvm/test/Transforms/InstCombine/shufflevector-div-rem.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vector-casts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vector-casts.ll

  Log Message:
  -----------
  [InstCombine] Favour `m_Poison` in `SimplifyDemandedVectorElts`

A miscompilation issue has been addressed with refined checking.


  Commit: f888e739d3247d09e287e4642ef85c1f9bb1ce43
      https://github.com/llvm/llvm-project/commit/f888e739d3247d09e287e4642ef85c1f9bb1ce43
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c

  Log Message:
  -----------
  [Clang][SME2] Add multi-vector zip & unzip builtins (#74841)

Adds the following SME2 builtins:
 - svzip (x2 & x4)
 - svzipq (x2 & x4)
 - svuzp (x2 & x4)
 - svuzpq (x2 & x4)

See https://github.com/ARM-software/acle/pull/217/files

Patch by David Sherwood <david.sherwood at arm.com>


  Commit: 3b0705827dbe711788c6b6bec3afa94205db1ce8
      https://github.com/llvm/llvm-project/commit/3b0705827dbe711788c6b6bec3afa94205db1ce8
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M libcxx/modules/CMakeLists.txt.in

  Log Message:
  -----------
  [libc++][modules] Adds CMake 3.28 support. (#75700)

This is a preparation to start using CMake 3.28 in the CI.


  Commit: 35a77fc13ce62f4bc21b65c130801cb5f42fb228
      https://github.com/llvm/llvm-project/commit/35a77fc13ce62f4bc21b65c130801cb5f42fb228
  Author: Momchil Velikov <momchil.velikov at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp

  Log Message:
  -----------
  [Clang][SVE2.1] Update names of the `svwhileXX` builtins with predicate-as-counter (#75200)

The `_s64`/`_u64` part can be omitted now and the name variants do not
include unsigned comparison mnemonics. Both are inferred from
the argument types.


  Commit: fade67565e1a3d7447335f9b5dfbf85dccb5773b
      https://github.com/llvm/llvm-project/commit/fade67565e1a3d7447335f9b5dfbf85dccb5773b
  Author: Sam Tebbs <samuel.tebbs at arm.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp

  Log Message:
  -----------
  [AArch64][SME2] Enable bfm builtins for sme2 (#71927)

This patch enables the following builtins for SME2
    svbfmlslb_f32
    svbfmlslb_lane_f32
    svbfmlslt_f32
    svbfmlslt_lane_f32

Patch by: Kerry McLaughlin <kerry.mclaughlin at arm.com>

---------

Co-authored-by: Matthew Devereau <matthew.devereau at arm.com>


  Commit: 913622d012f72edb5ac3a501cef8639d0ebe471b
      https://github.com/llvm/llvm-project/commit/913622d012f72edb5ac3a501cef8639d0ebe471b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp

  Log Message:
  -----------
  [Libomptarget] Remove remaining global constructors in plugins (#75814)

Summary:
This patch fixes the remaining global constructor in the plguins after
addressing the ones in the JIT interface. This struct was mistakenly
using global constructors as not all the members were being initialized
properly. This was almost certainly being optimized out because it's
trivial, but would still be present in debug builds and prevented us
from compiling with `-Werror=global-constructors`. We will want to do
that once offloading is moved to a runtimes only build.


  Commit: e400c59beb5f853e109ada06eb5c855c3eab6a31
      https://github.com/llvm/llvm-project/commit/e400c59beb5f853e109ada06eb5c855c3eab6a31
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/X86/clmulqdq.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx512.ll
    M llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll
    M llvm/test/Transforms/InstCombine/broadcast.ll
    M llvm/test/Transforms/InstCombine/extractelement.ll
    M llvm/test/Transforms/InstCombine/inselt-binop.ll
    M llvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
    M llvm/test/Transforms/InstCombine/pr38984.ll
    M llvm/test/Transforms/InstCombine/shuffle_select.ll
    M llvm/test/Transforms/InstCombine/shufflevector-div-rem.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/vec_gep_scalar_arg.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vector-casts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vector-casts.ll

  Log Message:
  -----------
  Revert "[InstCombine] Favour `m_Poison` in `SimplifyDemandedVectorElts`"

This reverts commit 318d5bff0b65aa7d52fc7004d49587416f0fb564.

Has incomplete test updates.


  Commit: 245cddae705aa8c8c8c88f80afb128d46b911695
      https://github.com/llvm/llvm-project/commit/245cddae705aa8c8c8c88f80afb128d46b911695
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    A compiler-rt/test/profile/instrprof-thinlto-indirect-call-promotion.cpp
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/ThinLTO/X86/memprof-basic.ll
    M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
    M llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
    M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
    M llvm/test/ThinLTO/X86/memprof-inlined.ll
    R llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.ll
    A llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
    A llvm/test/Transforms/PGOProfile/Inputs/update_thinlto_indirect_call_promotion_inputs.sh
    M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [PGO][GlobalValue][LTO]In GlobalValues::getGlobalIdentifier, use semicolon as delimiter for local-linkage varibles. (#74008)

Commit fe05193 (phab D156569), IRPGO names uses format
`[<filepath>;]<linkage-name>` while prior format is
`[<filepath>:<mangled-name>`. The format change would break the use case
demonstrated in (updated)
`llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll` and
`compiler-rt/test/profile/instrprof-thinlto-indirect-call-promotion.cpp`

This patch changes `GlobalValues::getGlobalIdentifer` to use the
semicolon.

To elaborate on the scenario how things break without this PR
1. IRPGO raw profiles stores (compressed) IRPGO names of functions in
one section, and per-function profile data in another section. The
[NameRef](https://github.com/llvm/llvm-project/blob/fc715e4cd942612a091097339841733757b53824/compiler-rt/include/profile/InstrProfData.inc#L72)
field in per-function profile data is the MD5 hash of IRPGO names.
2. When raw profiles are converted to indexed format profiles, the
profiled address is
[mapped](https://github.com/llvm/llvm-project/blob/fc715e4cd942612a091097339841733757b53824/llvm/lib/ProfileData/InstrProf.cpp#L876-L885)
to the MD5 hash of the callee.
3. In `pgo-instr-use` thin-lto prelink pipeline, MD5 hash of IRPGO names
will be
[annotated](https://github.com/llvm/llvm-project/blob/fc715e4cd942612a091097339841733757b53824/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp#L1707)
as value profiles, and used to import indirect-call-prom candidates. If
the annotated MD5 hash is computed from the new format while import uses
the prior format, the callee cannot be imported.

*`compiler-rt/test/profile/instrprof-thinlto-indirect-call-promotion.cpp`
is added to have an end-to-end test.
* `llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll`
is updated to have better test coverage from another aspect (as runtime
tests are more sensitive to the environment and may be skipped by some
contributors)


  Commit: 8e2cc19e2e60d348859c0967a2707bcc8cb9936a
      https://github.com/llvm/llvm-project/commit/8e2cc19e2e60d348859c0967a2707bcc8cb9936a
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp

  Log Message:
  -----------
  [LinkerWrapper] Forward more arguments to the CPU offloading linker (#75757)

Summary:
The CPU target currently inherits all the libraries from the normal link
job to ensure that it has access to the same envrionment that the host
does. However, this previously was not respecting argument libraries
that are passed by name rather than `-l` as well as the whole archive
flags. This patch fixes this to allow the CPU linker to correctly pick
up the libraries associated with things like address sanitizers.

Fixes: https://github.com/llvm/llvm-project/issues/75651


  Commit: 3768039913be32666a316a2b5c12739c423dbc61
      https://github.com/llvm/llvm-project/commit/3768039913be32666a316a2b5c12739c423dbc61
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    A openmp/libomptarget/test/offloading/ompx_bare.c

  Log Message:
  -----------
  [OpenMP] Directly use user's grid and block size in kernel language mode (#70612)

In kernel language mode, use user's grid and blocks size directly. No
validity
check, which means if user's values are too large, the launch will fail,
similar
to what CUDA and HIP are doing right now.


  Commit: 3aa5d71127ae31f13cc3383ea461fd5bf86bf055
      https://github.com/llvm/llvm-project/commit/3aa5d71127ae31f13cc3383ea461fd5bf86bf055
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    R compiler-rt/test/profile/instrprof-thinlto-indirect-call-promotion.cpp
    M llvm/include/llvm/IR/GlobalValue.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/IR/Globals.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/test/Bitcode/thinlto-function-summary-originalnames.ll
    M llvm/test/ThinLTO/X86/memprof-basic.ll
    M llvm/test/ThinLTO/X86/memprof-duplicate-context-ids.ll
    M llvm/test/ThinLTO/X86/memprof-funcassigncloning.ll
    M llvm/test/ThinLTO/X86/memprof-indirectcall.ll
    M llvm/test/ThinLTO/X86/memprof-inlined.ll
    A llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.ll
    R llvm/test/Transforms/PGOProfile/Inputs/thinlto_indirect_call_promotion.profraw
    R llvm/test/Transforms/PGOProfile/Inputs/update_thinlto_indirect_call_promotion_inputs.sh
    M llvm/test/Transforms/PGOProfile/thinlto_indirect_call_promotion.ll
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  Revert "[PGO][GlobalValue][LTO]In GlobalValues::getGlobalIdentifier, use semicolon as delimiter for local-linkage varibles." (#75835)

Reverts llvm/llvm-project#74008

The compiler-rt test failed due to `llvm-dis` not found
(https://lab.llvm.org/buildbot/#/builders/127/builds/59884)
Will revert and investigate how to require the proper dependency.


  Commit: 672f1a036a28cf993e7b5b022bd5582a8924ee58
      https://github.com/llvm/llvm-project/commit/672f1a036a28cf993e7b5b022bd5582a8924ee58
  Author: Rik Huijzer <github at huijzer.xyz>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/test/Dialect/MemRef/invalid.mlir

  Log Message:
  -----------
  [mlir][memref] Make `LoadOp::verify` error more clear (#75831)

While debugging https://github.com/llvm/llvm-project/issues/71326, the
`LoadOp::verify` code and error were very confusing. This PR improves
that.

This code was a part from the reverted PR
https://github.com/llvm/llvm-project/pull/75519. Fixing the
`-convert-vector-to-scf` issue is going to take a bit longer and this
code was out of scope anyway.

Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>


  Commit: 96aca7c51701f9b3c5dd8567fcddf29492008e6d
      https://github.com/llvm/llvm-project/commit/96aca7c51701f9b3c5dd8567fcddf29492008e6d
  Author: Fangrui Song <i at maskray.me>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/test/CodeGen/invalid_global_asm.c
    M lld/test/MachO/lto-module-asm-err.ll
    M llvm/include/llvm/IR/DiagnosticHandler.h
    M llvm/lib/Object/ModuleSymbolTable.cpp

  Log Message:
  -----------
  [LTO] Improve diagnostics handling when parsing module-level inline assembly (#75726)

Non-LTO compiles set the buffer name to "<inline asm>"
(`AsmPrinter::addInlineAsmDiagBuffer`) and pass diagnostics to
`ClangDiagnosticHandler` (through the `MCContext` handler in
`MachineModuleInfoWrapperPass::doInitialization`) to ensure that
the exit code is 1 in the presence of errors. In contrast, LTO compiles
spuriously succeed even if error messages are printed.

```
% cat a.c
void _start() {}
asm("unknown instruction");
% clang -c a.c
<inline asm>:1:1: error: invalid instruction mnemonic 'unknown'
    1 | unknown instruction
      | ^
1 error generated.
% clang -c -flto a.c; echo $?  # -flto=thin is the same
error: invalid instruction mnemonic 'unknown'
unknown instruction
^~~~~~~
error: invalid instruction mnemonic 'unknown'
unknown instruction
^~~~~~~
0
```

`CollectAsmSymbols` parses inline assembly and is transitively called by
both `ModuleSummaryIndexAnalysis::run` and `WriteBitcodeToFile`, leading
to duplicate diagnostics.

This patch updates `CollectAsmSymbols` to be similar to non-LTO
compiles.
```
% clang -c -flto=thin a.c; echo $?
<inline asm>:1:1: error: invalid instruction mnemonic 'unknown'
    1 | unknown instruction
      | ^
1 errors generated.
1
```

The `HasErrors` check does not prevent duplicate warnings but assembler
warnings are very uncommon.


  Commit: 57cc7e0af3fb61bb20bc04ec8b705d05dc161ad3
      https://github.com/llvm/llvm-project/commit/57cc7e0af3fb61bb20bc04ec8b705d05dc161ad3
  Author: Justin Bogner <mail at justinbogner.com>
  Date:   2023-12-18 (Mon, 18 Dec 2023)

  Changed paths:
    M clang-tools-extra/clangd/index/remote/server/Server.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/test/CodeGen/Nontemporal.cpp
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2-constrained.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
    M clang/test/CodeGen/aarch64-neon-vcmla.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_add-i64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ld1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_ldr.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mopa-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za32.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_mops-za64.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_read.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_st1_vnum.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_str.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_write.c
    M clang/test/CodeGen/aarch64-sme-intrinsics/acle_sme_zero.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_uzpx4.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx2.c
    A clang/test/CodeGen/aarch64-sme2-intrinsics/acle_sme2_vector_zipx4.c
    M clang/test/CodeGen/aarch64-sve2-intrinsics/acle_sve2_revd.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_bfmlsl.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_cntp.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fclamp.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_pn.c
    A clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_while_x2.c
    M clang/test/CodeGen/invalid_global_asm.c
    M clang/test/CodeGen/nofpclass.c
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Headers/wasm.c
    A clang/test/OpenMP/map_struct_ordering.cpp
    M clang/test/OpenMP/nvptx_target_teams_ompx_bare_codegen.cpp
    M clang/test/OpenMP/ompx_bare_messages.c
    M clang/test/OpenMP/target_teams_ast_print.cpp
    M clang/test/OpenMP/target_teams_codegen.cpp
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_imm.cpp
    M clang/test/Sema/aarch64-sme-intrinsics/acle_sme_target.c
    M clang/test/Sema/aarch64-sme2-intrinsics/acle_sme2_imm.cpp
    M clang/test/Sema/aarch64-sve2p1-intrinsics/acle_sve2p1_imm.cpp
    M clang/test/Sema/missing-field-initializers.c
    M clang/test/SemaCXX/cxx2a-initializer-aggregates.cpp
    M clang/test/SemaTemplate/ctad.cpp
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/tools/libclang/CIndexer.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/utils/TableGen/NeonEmitter.cpp
    M clang/utils/TableGen/SveEmitter.cpp
    M clang/utils/TableGen/TableGen.cpp
    M clang/utils/TableGen/TableGenBackends.h
    M compiler-rt/cmake/Modules/AddCompilerRT.cmake
    M compiler-rt/lib/asan/asan_posix.cpp
    M compiler-rt/lib/lsan/lsan_posix.cpp
    M compiler-rt/test/sanitizer_common/TestCases/Posix/fork_threaded.c
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    A flang/test/Parser/OpenMP/threadprivate-blank-common-block.f90
    M flang/test/Transforms/simplifyintrinsics.fir
    M libc/utils/HdrGen/Generator.cpp
    M libcxx/cmake/caches/Armv7M-picolibc.cmake
    M libcxx/cmake/caches/Generic-no-tzdb.cmake
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/SpaceshipPapers.csv
    M libcxx/include/__format/buffer.h
    M libcxx/include/__format/formatter_integral.h
    M libcxx/include/__format/formatter_output.h
    M libcxx/include/version
    M libcxx/modules/CMakeLists.txt.in
    M libcxx/test/libcxx/input.output/iostream.format/print.fun/transcoding.pass.cpp
    M libcxx/test/std/algorithms/robust_against_proxy_iterators_lifetime_bugs.pass.cpp
    M libcxx/test/std/containers/sequences/array/types.pass.cpp
    M libcxx/test/std/containers/views/views.span/span.cons/iterator_sentinel.pass.cpp
    R libcxx/test/std/language.support/support.limits/support.limits.general/.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/format.version.compile.pass.cpp
    M libcxx/test/std/language.support/support.limits/support.limits.general/numeric.version.compile.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.floating_point.pass.cpp
    M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.pointer.pass.cpp
    M libcxx/utils/ci/buildkite-pipeline.yml
    M libcxx/utils/ci/run-buildbot
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxxabi/test/catch_multi_level_pointer.pass.cpp
    M lld/test/ELF/linkerscript/copy-rel-symbol-value-err.s
    M lld/test/ELF/linkerscript/sections-padding.s
    M lld/test/ELF/linkerscript/symbol-assignexpr.s
    M lld/test/MachO/lto-module-asm-err.ll
    M lldb/bindings/python/python-typemaps.swig
    M lldb/include/lldb/Utility/CompletionRequest.h
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Commands/CommandCompletions.cpp
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectMemory.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Commands/CommandObjectType.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Core/Module.cpp
    M lldb/source/Core/PluginManager.cpp
    M lldb/source/Core/RichManglingContext.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/Expression/IRExecutionUnit.cpp
    M lldb/source/Expression/REPL.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Interpreter/CommandAlias.cpp
    M lldb/source/Interpreter/OptionArgParser.cpp
    M lldb/source/Interpreter/Options.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionParser.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/CppModuleConfiguration.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/IRForTarget.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibStdcppTuple.cpp
    M lldb/source/Plugins/Language/ObjC/NSDictionary.cpp
    M lldb/source/Plugins/Language/ObjC/ObjCLanguage.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/CPlusPlus/ItaniumABI/ItaniumABILanguageRuntime.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformDarwinKernel.cpp
    M lldb/source/Plugins/Process/Linux/IntelPTSingleBufferTrace.cpp
    M lldb/source/Plugins/Process/Windows/Common/DebuggerThread.cpp
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/CompileUnitIndex.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
    M lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/ObjectFile.cpp
    M lldb/source/Symbol/Symbol.cpp
    M lldb/source/Symbol/Symtab.cpp
    M lldb/source/Symbol/Variable.cpp
    M lldb/source/Target/TargetList.cpp
    M lldb/source/Utility/Args.cpp
    M lldb/source/Utility/CompletionRequest.cpp
    M lldb/source/Utility/FileSpec.cpp
    M lldb/source/Utility/FileSpecList.cpp
    M lldb/source/Utility/NameMatches.cpp
    M lldb/source/Utility/StringExtractor.cpp
    M lldb/source/Utility/TildeExpressionResolver.cpp
    M lldb/source/Utility/XcodeSDK.cpp
    M lldb/tools/lldb-dap/IOStream.cpp
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/Expression/ClangExpressionDeclMapTest.cpp
    M lldb/unittests/Process/minidump/RegisterContextMinidumpTest.cpp
    M lldb/unittests/ScriptInterpreter/Lua/ScriptInterpreterTests.cpp
    M lldb/unittests/TestingSupport/MockTildeExpressionResolver.cpp
    M llvm/cmake/modules/LLVMExternalProjectUtils.cmake
    M llvm/docs/AliasAnalysis.rst
    M llvm/docs/ConvergentOperations.rst
    M llvm/docs/JITLink.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/TableGen/ProgRef.rst
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/Analysis/AliasAnalysis.h
    M llvm/include/llvm/Analysis/AliasAnalysisEvaluator.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/include/llvm/CodeGen/AntiDepBreaker.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/IR/Constants.h
    M llvm/include/llvm/IR/DiagnosticHandler.h
    M llvm/include/llvm/IR/IntrinsicsRISCV.td
    A llvm/include/llvm/IR/IntrinsicsRISCVXCV.td
    M llvm/include/llvm/Support/YAMLTraits.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/DebugLocStream.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.h
    M llvm/lib/CodeGen/AsmPrinter/DwarfFile.h
    M llvm/lib/CodeGen/MachineStableHash.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/ConstantFold.cpp
    M llvm/lib/IR/Metadata.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Object/ModuleSymbolTable.cpp
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/lib/Target/AArch64/SMEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPULibCalls.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.h
    M llvm/lib/Target/ARM/ARMInstrVFP.td
    M llvm/lib/Target/DirectX/DXILResource.cpp
    M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoXCV.td
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
    M llvm/lib/Target/SPIRV/SPIRVRegularizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
    M llvm/lib/Target/SystemZ/SystemZISelDAGToDAG.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86Subtarget.cpp
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/Transforms/IPO/OpenMPOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
    M llvm/lib/Transforms/Scalar/LoopFlatten.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-pcsections.ll
    M llvm/test/CodeGen/AArch64/stack-probing-dynamic-no-frame-setup.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-revd.ll
    M llvm/test/CodeGen/AMDGPU/ctpop16.ll
    M llvm/test/CodeGen/AMDGPU/cttz_zero_undef.ll
    M llvm/test/CodeGen/AMDGPU/kernel-args.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-overlap-wwm-reserve.mir
    M llvm/test/CodeGen/ARM/fpenv.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/rvv/sf_vfwmacc_4x4x4.ll
    A llvm/test/CodeGen/RISCV/xcvbitmanip.ll
    A llvm/test/CodeGen/SystemZ/addr-04.ll
    M llvm/test/CodeGen/SystemZ/xor-09.ll
    R llvm/test/CodeGen/X86/coalescer-breaks-subreg-to-reg-liveness.ll
    M llvm/test/CodeGen/X86/coalescer-implicit-def-regression-imp-operand-assert.mir
    R llvm/test/CodeGen/X86/coalescing-subreg-to-reg-requires-subrange-update.mir
    R llvm/test/CodeGen/X86/subreg-to-reg-coalescing.mir
    M llvm/test/CodeGen/X86/tagged-globals-pic.ll
    M llvm/test/CodeGen/X86/tagged-globals-static.ll
    A llvm/test/Instrumentation/AddressSanitizer/calls-only-smallfn.ll
    M llvm/test/Instrumentation/AddressSanitizer/calls-only.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/X86/index-operations.s
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/Transforms/ConstraintElimination/and-implied-by-operands.ll
    A llvm/test/Transforms/ConstraintElimination/or-implied-by-operands.ll
    M llvm/test/Transforms/InstCombine/AArch64/demandelts.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-demanded-vector-elts.ll
    M llvm/test/Transforms/InstCombine/AMDGPU/amdgcn-simplify-image-buffer-stores.ll
    M llvm/test/Transforms/InstCombine/X86/x86-addsub.ll
    M llvm/test/Transforms/InstCombine/X86/x86-avx2.ll
    M llvm/test/Transforms/InstCombine/X86/x86-muldq.ll
    M llvm/test/Transforms/InstCombine/X86/x86-pack-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/X86/x86-pack.ll
    M llvm/test/Transforms/InstCombine/X86/x86-pshufb.ll
    M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
    M llvm/test/Transforms/InstCombine/X86/x86-vpermil.ll
    M llvm/test/Transforms/InstCombine/assume.ll
    M llvm/test/Transforms/InstCombine/binop-select-cast-of-select-cond.ll
    M llvm/test/Transforms/InstCombine/bitcast-vec-canon-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/bitcast-vec-canon.ll
    M llvm/test/Transforms/InstCombine/bitreverse.ll
    M llvm/test/Transforms/InstCombine/broadcast.ll
    M llvm/test/Transforms/InstCombine/bswap.ll
    A llvm/test/Transforms/InstCombine/canonicalize-or-with-overflow-icmp.ll
    M llvm/test/Transforms/InstCombine/extractelement.ll
    M llvm/test/Transforms/InstCombine/icmp-bc-vec.ll
    M llvm/test/Transforms/InstCombine/icmp-vec.ll
    M llvm/test/Transforms/InstCombine/insert-const-shuf.ll
    M llvm/test/Transforms/InstCombine/insert-extract-shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/insert-extract-shuffle.ll
    M llvm/test/Transforms/InstCombine/logical-select.ll
    M llvm/test/Transforms/InstCombine/masked_intrinsics-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
    M llvm/test/Transforms/InstCombine/matrix-multiplication-negation.ll
    M llvm/test/Transforms/InstCombine/nsw.ll
    R llvm/test/Transforms/InstCombine/obfuscated_splat-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/obfuscated_splat.ll
    M llvm/test/Transforms/InstCombine/or.ll
    M llvm/test/Transforms/InstCombine/select-binop-cmp.ll
    M llvm/test/Transforms/InstCombine/select-extractelement-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/select-extractelement.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/shuffle-cast.ll
    M llvm/test/Transforms/InstCombine/shuffle-select-narrow.ll
    M llvm/test/Transforms/InstCombine/shuffle_select.ll
    M llvm/test/Transforms/InstCombine/shufflevec-bitcast.ll
    M llvm/test/Transforms/InstCombine/shufflevector-div-rem-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/shufflevector-div-rem.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/trunc-extractelement-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/trunc-extractelement.ll
    M llvm/test/Transforms/InstCombine/trunc.ll
    M llvm/test/Transforms/InstCombine/type_pun.ll
    M llvm/test/Transforms/InstCombine/vec_demanded_elts.ll
    M llvm/test/Transforms/InstCombine/vec_phi_extract-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_phi_extract.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/vec_shuffle.ll
    M llvm/test/Transforms/InstCombine/vscale_extractelement.ll
    M llvm/test/Transforms/InstCombine/vscale_insertelement.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/deterministic-type-shrinkage.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization-2.ll
    M llvm/test/Transforms/LoopVectorize/invariant-store-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/multiple-strides-vectorization.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-difference.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-dominance.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-loops.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-multiple-blocks.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/multiply-minimal.ll
    M llvm/test/Transforms/PhaseOrdering/X86/pr61061.ll
    M llvm/test/Transforms/PhaseOrdering/X86/scalarization.ll
    M llvm/test/Transforms/PhaseOrdering/X86/shuffle.ll
    M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/alternate-int.ll
    M llvm/test/Transforms/SLPVectorizer/X86/hadd.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47629.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr47642.ll
    M llvm/test/tools/llvm-objdump/X86/disassemble-zeroes-relocations.test
    M llvm/test/tools/llvm-objdump/X86/elf-disassemble-relocs-exec.test
    M llvm/test/tools/llvm-objdump/X86/elf-disassemble-relocs.test
    M llvm/test/tools/llvm-rc/windres-preproc.test
    M llvm/test/tools/llvm-readobj/ELF/file-header-os-abi.test
    M llvm/tools/llvm-rc/llvm-rc.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/unittests/Analysis/DomTreeUpdaterTest.cpp
    M llvm/unittests/CodeGen/DwarfStringPoolEntryRefTest.cpp
    M llvm/unittests/Support/ProgramTest.cpp
    M llvm/unittests/Support/TypeNameTest.cpp
    M llvm/unittests/Support/YAMLIOTest.cpp
    M llvm/unittests/Target/RISCV/RISCVInstrInfoTest.cpp
    M llvm/unittests/TargetParser/TripleTest.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/git/code-format-helper.py
    M mlir/examples/toy/Ch2/toyc.cpp
    M mlir/examples/toy/Ch3/toyc.cpp
    M mlir/examples/toy/Ch4/toyc.cpp
    M mlir/examples/toy/Ch5/toyc.cpp
    M mlir/examples/toy/Ch6/toyc.cpp
    M mlir/examples/toy/Ch7/toyc.cpp
    M mlir/include/mlir/Analysis/DataFlow/DenseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlow/SparseAnalysis.h
    M mlir/include/mlir/Analysis/DataFlowFramework.h
    M mlir/include/mlir/Dialect/GPU/IR/GPUBase.td
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/lib/Analysis/DataFlow/DenseAnalysis.cpp
    M mlir/lib/Analysis/DataFlow/SparseAnalysis.cpp
    M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/LoopEmitter.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.h
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleImport.cpp
    M mlir/test/Analysis/DataFlow/test-last-modified-callgraph.mlir
    M mlir/test/Analysis/DataFlow/test-next-access.mlir
    M mlir/test/Analysis/DataFlow/test-written-to.mlir
    M mlir/test/Dialect/Linalg/drop-unit-extent-dims.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseDataFlowAnalysis.h
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestSparseBackwardDataFlowAnalysis.cpp
    M mlir/test/python/pass_manager.py
    M openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    M openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
    M openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    M openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    A openmp/libomptarget/test/offloading/ompx_bare.c
    A openmp/libomptarget/test/offloading/struct_mapping_with_pointers.cpp
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel

  Log Message:
  -----------
  Rebase + clang-format

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/9d6e00bd972a...57cc7e0af3fb


More information about the All-commits mailing list