[all-commits] [llvm/llvm-project] e4fa2e: [DAG] isGuaranteedNotToBeUndefOrPoisonForTargetNod...

Alexey Bataev via All-commits all-commits at lists.llvm.org
Fri Mar 22 13:45:01 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpconsider-fsub-being-operand-of-llvmfabsicmp-eqne-0-commutative
  Home:   https://github.com/llvm/llvm-project
  Commit: e4fa2e3562f20106f0fe4a4d09df03a548db4eae
      https://github.com/llvm/llvm-project/commit/e4fa2e3562f20106f0fe4a4d09df03a548db4eae
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp

  Log Message:
  -----------
  [DAG] isGuaranteedNotToBeUndefOrPoisonForTargetNode - add fallback implementation (#86125)

Allow targets to rely on TargetLowering::isGuaranteedNotToBeUndefOrPoisonForTargetNode to test nodes for canCreateUndefOrPoisonForTargetNode + all arguments are isGuaranteedNotToBeUndefOrPoison.

Targets can still perform this themselves for specific special case nodes (e.g. target shuffles).

Matches the fallback in SelectionDAG::isGuaranteedNotToBeUndefOrPoison


  Commit: 7678e6e562811688b472ad19900fa64cd00b7c06
      https://github.com/llvm/llvm-project/commit/7678e6e562811688b472ad19900fa64cd00b7c06
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    A llvm/test/CodeGen/RISCV/zdinx-large-spill.mir

  Log Message:
  -----------
  [RISCV] Lower the alignment requirement for a GPR pair spill for Zdinx on RV32. (#85871)

I believe we can use XLen alignment as long as eliminateFrameIndex
limits the maximum folded offset to 2043. This way when we split
the load/store into two 2 instructions we'll be able to add 4
without overflowing simm12.


  Commit: c04807c84e2a2653ab325f1b8ec73916565e6c54
      https://github.com/llvm/llvm-project/commit/c04807c84e2a2653ab325f1b8ec73916565e6c54
  Author: aniplcc <aniplccode at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdio.rst
    M libc/spec/stdc.td
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/linux/CMakeLists.txt
    A libc/src/stdio/linux/rename.cpp
    A libc/src/stdio/rename.h
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/rename_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][c11] Add stdio.h's rename() function (#85068)

Adds stdio.h's rename() function as defined in n3096. Fixes  #84980.


  Commit: 50801f1095d33e712c3a51fdeef82569bd09007f
      https://github.com/llvm/llvm-project/commit/50801f1095d33e712c3a51fdeef82569bd09007f
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libcxx/modules/CMakeLists.txt

  Log Message:
  -----------
  Reapply [libcxx] [modules] Fix relative paths with absolute LIBCXX_INSTALL_MODULES_DIR (#86020)

This reapplies 272d1b44efdedb68c194970a610f0ca1b7b769c5 (from #85756),
which was reverted in
407937036fa7640f61f225474b1ea6623a40dbdd.

In the previous attempt, empty CMAKE_INSTALL_PREFIX was handled by
quoting them, in d209d1340b99d4fbd325dffb5e13b757ab8264ea. That made the
calls to cmake_path(ABSOLUTE_PATH) succeed, but the output paths of that
weren't actually absolute, which was required by file(RELATIVE_PATH).

Avoid this issue by constructing a non-empty base directory variable
to use for calculating the relative path.


  Commit: 7650a01927b8488b1d6d0930109e78c695193faf
      https://github.com/llvm/llvm-project/commit/7650a01927b8488b1d6d0930109e78c695193faf
  Author: timoh-ba <t.habighorst at beckhoff.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/MC/MCDwarf.cpp
    A llvm/test/MC/COFF/dwarf5lineinfo.s

  Log Message:
  -----------
  [DWARF5][COFF] Emit section-relative .debug_line_str relocations (#83773)

Dwarf 5 allows separating filenames from .debug_line into a separate
.debug_line_str section. The strings are referenced relative to the
start of the .debug_line_str section. Previously, on COFF, the
relocation information instead caused offsets to be relocated to the
base address of the COFF-File. This lead  to wrong offsets in linked
COFF (PE) files which caused the debugger to be unable to find the
correct source files.

This patch fixes this problem by making the offsets relative to the
start of the .debug_line_str section instead. There should be no
changes for ELF-Files as everything seems to be working there.

A test is also added to ensure that the correct relocation entries are
emitted.


  Commit: 0c8dfc85c3740bd8905e21642f616e6fd54854e0
      https://github.com/llvm/llvm-project/commit/0c8dfc85c3740bd8905e21642f616e6fd54854e0
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libc/test/src/stdio/CMakeLists.txt
    M libc/test/src/stdio/rename_test.cpp

  Log Message:
  -----------
  [libc][stdio][test] fixup rename test (#86136)

Link: #84980
Link: #85068


  Commit: 556fe5f290ea88dcbb7ced16b0f057dcebce1fd0
      https://github.com/llvm/llvm-project/commit/556fe5f290ea88dcbb7ced16b0f057dcebce1fd0
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/include/lldb/Symbol/LineEntry.h
    M lldb/include/lldb/Utility/SupportFile.h
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Symbol/CompileUnit.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/LineEntry.cpp
    M lldb/source/Symbol/LineTable.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/TraceDumper.cpp
    M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp

  Log Message:
  -----------
  [lldb] Reland: Store SupportFile in FileEntry (NFC) (#85892)

This is another step towards supporting DWARF5 checksums and inline
source code in LLDB. This is a reland of #85468 but without the
functional change of storing the support file from the line table (yet).


  Commit: 6295e677220bb6ec1fa8abe2f4a94b513b91b786
      https://github.com/llvm/llvm-project/commit/6295e677220bb6ec1fa8abe2f4a94b513b91b786
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/Float2Int/pr79158.ll

  Log Message:
  -----------
  [Float2Int] Pre-commit test for SIToFP/UIToFP ConstantRange bug. NFC

The range for these operations is being constructed without the
maximum value for the range due to an incorrect usage of the
ConstantRange constructor.

This causes Float2Int to think the range for 'uitofp i1' only
contains 0 instead of 0 and 1.


  Commit: 38f8a3cf0d75cd25e13d3757027f7356e4466cb9
      https://github.com/llvm/llvm-project/commit/38f8a3cf0d75cd25e13d3757027f7356e4466cb9
  Author: Finn Plummer <50529406+inbelic at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/test/Conversion/GPUToSPIRV/load-store.mlir
    M mlir/test/Conversion/MemRefToSPIRV/bitwidth-emulation.mlir
    M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
    M mlir/test/Conversion/SCFToSPIRV/for.mlir
    M mlir/test/Conversion/TensorToSPIRV/tensor-ops-to-spirv.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir

  Log Message:
  -----------
  [mlir][spirv] Improve folding of MemRef to SPIRV Lowering (#85433)

Investigate the lowering of MemRef Load/Store ops and implement
additional folding of created ops

Aims to improve readability of generated lowered SPIR-V code.

Part of work llvm#70704


  Commit: 6317c780d81327bd06701a6aa374fc92aa3d73ad
      https://github.com/llvm/llvm-project/commit/6317c780d81327bd06701a6aa374fc92aa3d73ad
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Core/Progress.h

  Log Message:
  -----------
  [lldb][progress][NFC] Clarify Doxygen comments for `details` field (#86002)

The Doxygen comments for the `details` field of a progress report
currently does not specify that this field will act as the initial set
of details for a progress report that gets updated with
`Progress::Increment()`. This commit clarifies this.


  Commit: f5c90f3000bc75a344bf01bd4e0401e3fb7f9453
      https://github.com/llvm/llvm-project/commit/f5c90f3000bc75a344bf01bd4e0401e3fb7f9453
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast.ll
    M llvm/test/CodeGen/RISCV/spill-fill-fold.ll

  Log Message:
  -----------
  [RISCV] Use BuildPairF64 and SplitF64 for bitcast i64<->f64 on rv32 regardless of Zfa. (#85982)

Previously we used BuildPairF64 and SplitF64 only if Zfa was supported
since they will select register file moves that are only available with
Zfa.

We recently changed the handling of BuildPairF64/SplitF64 for Zdinx to
not go through memory so we should use that for bitcast.

That leaves the D without Zfa case that does need to go through memory.
Previously we let type legalization expand to loads and stores using a
new stack temporary created for each bitcast. After this patch we will
create the loads ands stores in the custom inserter and share the same
stack slot for all. This also allows DAGCombiner to optimize when
bitcast is mixed with BuildPairF64/SplitF64.


  Commit: 81bd799819f498a55e32599bce51fa98b2e73238
      https://github.com/llvm/llvm-project/commit/81bd799819f498a55e32599bce51fa98b2e73238
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M lldb/source/Symbol/LineEntry.cpp

  Log Message:
  -----------
  [lldb] Add missing initialization in LineEntry ctor


  Commit: d8b0d8d6713d474cfd622e03090a7ad5206ee574
      https://github.com/llvm/llvm-project/commit/d8b0d8d6713d474cfd622e03090a7ad5206ee574
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td

  Log Message:
  -----------
  AMDGPU: Use defset to cleanup marking MFMA intrinsics as divergent (#85915)


  Commit: d9f0d9a1452ed78e943423c9fbbd63674625f7f5
      https://github.com/llvm/llvm-project/commit/d9f0d9a1452ed78e943423c9fbbd63674625f7f5
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M flang/include/flang/Common/Version.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Frontend/LangOptions.h

  Log Message:
  -----------
  [flang][NFC] Fix header guards

Some header guards conflicted with clang. Fix a few others to follow the
convention in the rest of the headers in flang.


  Commit: 12836467b76c56872b4c22a6fd44bcda696ea720
      https://github.com/llvm/llvm-project/commit/12836467b76c56872b4c22a6fd44bcda696ea720
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/test/Transforms/Float2Int/pr79158.ll
    M llvm/unittests/IR/ConstantRangeTest.cpp

  Log Message:
  -----------
  [ConstantRange] Fix off by 1 bugs in UIToFP and SIToFP handling. (#86041)

We were passing the min and max values of the range to the ConstantRange
constructor, but the constructor expects the upper bound to 1 more than
the max value so we need to add 1.

We also need to use getNonEmpty so that passing 0, 0 to the constructor
creates a full range rather than an empty range. And passing smin,
smax+1 doesn't cause an assertion.

I believe this fixes at least some of the reason #79158 was reverted.


  Commit: 9a87d4d546a4382879b1beb96687acbad0ef4cc0
      https://github.com/llvm/llvm-project/commit/9a87d4d546a4382879b1beb96687acbad0ef4cc0
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/CPP/type_traits/is_constant_evaluated.h
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc] Add `is_constant_evaluated` type_traits (#86139)

This will replace `__builtin_is_constant_evaluated` in math_extras.h.


  Commit: c1c2551a2876f536b5a06f48fa809aeedbc3d7ba
      https://github.com/llvm/llvm-project/commit/c1c2551a2876f536b5a06f48fa809aeedbc3d7ba
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/ubsan-builtin-checks.c
    R clang/test/Sema/builtin-popcountg.c
    A clang/test/Sema/count-builtins.c

  Log Message:
  -----------
  [clang] Implement __builtin_{clzg,ctzg} (#83431)


Fixes #83075, fixes #83076.


  Commit: 6eff53b4f07c1d8f6ae271254499ec087f40cc83
      https://github.com/llvm/llvm-project/commit/6eff53b4f07c1d8f6ae271254499ec087f40cc83
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libc/src/stdio/linux/rename.cpp
    M libc/test/src/stdio/rename_test.cpp

  Log Message:
  -----------
  [libc][stdio] implement rename via SYS_renameat2 (#86140)

SYS_rename may be unavailable on architectures such as aarch64 and
riscv.
rename can be implemented in terms of SYS_rename, SYS_renameat, or
SYS_renameat2. I don't have a full picture of the history here, but it
seems
that SYS_renameat might also be unavailable on some platforms.

`man 2 rename` mentions that SYS_renameat2 was added in Linux 3.15. We
don't
need to support such ancient kernel versions prior.

Link: #84980
Link: #85068


  Commit: 69429276098df2f2cf67dcab1c96ce8f56280c11
      https://github.com/llvm/llvm-project/commit/69429276098df2f2cf67dcab1c96ce8f56280c11
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAG] combineConcatVectorOfScalars - stop always creating UNDEF nodes. NFC.

Noticed in debug logs - most calls to visitVECTOR_SHUFFLE resulted into wasteful UNDEF node creations, despite almost never being used.


  Commit: 4bf8dc1a0f9546afb2c13c121e34237ce16cfca6
      https://github.com/llvm/llvm-project/commit/4bf8dc1a0f9546afb2c13c121e34237ce16cfca6
  Author: Ilya Biryukov <ibiryukov at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/__config
    M libcxx/include/__memory/allocator.h
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx2a.pass.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.verify.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx2a.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx20.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp
    R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_allocator_void_no_members.verify.cpp
    R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_with_removed_members.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/types.pass.cpp
    M libcxx/test/std/containers/sequences/list/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector/types.pass.cpp

  Log Message:
  -----------
  [libc++] Remove macros for keeping std::allocator members and void specialization after C++20 (#85806)

Fixes #75975.

Remove `_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS` for the LLVM 19
release, it was previously marked as deprecated in LLVM 18.

I believe that
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION` was only
used by Google in conjunction with
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_MEMBERS`.

Removing both macros together should not cause any issues in practice,
even though we did not announce the removal of
`_LIBCPP_ENABLE_CXX20_REMOVED_ALLOCATOR_VOID_SPECIALIZATION` before.


  Commit: 797336b1278cb7a8b788e467f8fbbc11939143a8
      https://github.com/llvm/llvm-project/commit/797336b1278cb7a8b788e467f8fbbc11939143a8
  Author: Janek van Oirschot <5994977+JanekvO at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
    R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    R llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
    R llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
    R llvm/test/MC/AMDGPU/hsa-tg-split.s

  Log Message:
  -----------
  Revert "[AMDGPU] MCExpr-ify MC layer kernel descriptor" (#86151)

Reverts llvm/llvm-project#80855


  Commit: c8772940ee4d85b1a4578b3faea7c825300ce59f
      https://github.com/llvm/llvm-project/commit/c8772940ee4d85b1a4578b3faea7c825300ce59f
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    M clang/test/Analysis/inlining/false-positive-suppression.cpp

  Log Message:
  -----------
  [analyzer] Wrap SymbolicRegions by ElementRegions before getting a FieldRegion (#85211)

Inside the ExprEngine when we process the initializers, we create a
PostInitializer program-point, which will refer to the field being
initialized, see `FieldLoc` inside `ExprEngine::ProcessInitializer`.

When a constructor (of which we evaluate the initializer-list) is
analyzed in top-level context, then the `this` pointer will be
represented by a `SymbolicRegion`, (as it should be).

This means that we will form a `FieldRegion{SymbolicRegion{.}}` as the
initialized region.

```c++
class Bear {
public:
  void brum() const;
};
class Door {
public:
  // PostInitializer would refer to "FieldRegion{SymRegion{this}}"
  // whereas in the store and everywhere else it would be:
  // "FieldRegion{ELementRegion{SymRegion{Ty*, this}, 0, Ty}".
  Door() : ptr(nullptr) {
    ptr->brum(); // Bug
  }
private:
  Bear* ptr;
};
```

We (as CSA folks) decided to avoid the creation of FieldRegions directly
of symbolic regions in the past:

https://github.com/llvm/llvm-project/commit/f8643a9b31c4029942f67d4534c9139b45173504

---

In this patch, I propose to also canonicalize it as in the mentioned
patch, into this: `FieldRegion{ElementRegion{SymbolicRegion{Ty*, .}, 0,
Ty}`

This would mean that FieldRegions will/should never simply wrap a
SymbolicRegion directly, but rather an ElementRegion that is sitting in
between.

This patch should have practically no observable effects, as the store
(due to the mentioned patch) was made resilient to this issue, but we
use `PostInitializer::getLocationValue()` for an alternative reporting,
where we faced this issue.

Note that in really rare cases it suppresses now dereference bugs, as
demonstrated in the test. It is because in the past we failed to follow
the region of the PostInitializer inside the StoreSiteFinder visitor -
because it was using this code:
```c++
// If this is a post initializer expression, initializing the region, we
// should track the initializer expression.
if (std::optional<PostInitializer> PIP =
        Pred->getLocationAs<PostInitializer>()) {
  const MemRegion *FieldReg = (const MemRegion *)PIP->getLocationValue();
  if (FieldReg == R) {
    StoreSite = Pred;
    InitE = PIP->getInitializer()->getInit();
  }
}
```
Notice that the equality check didn't pass for the regions I'm
canonicalizing in this patch.

Given the nature of this change, we would rather upstream this patch.

CPP-4954


  Commit: 86d479fd7c837e97be116ffb9e4c92812b87360f
      https://github.com/llvm/llvm-project/commit/86d479fd7c837e97be116ffb9e4c92812b87360f
  Author: T-Gruber <100079402+T-Gruber at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn

  Log Message:
  -----------
  Adapted MemRegion::getDescriptiveName to handle ElementRegions (#85104)

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

Changes:
- Adapted MemRegion::getDescriptiveName
- Added unittest to check name for a given clang::ento::ElementRegion
- Some format changes due to clang-format

---------

Co-authored-by: Andreas Steinhausen <andreas.steinhausen at concenrio.io>
Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: aa571a1e8f03faa311fb135ea4b24b9414db1b74
      https://github.com/llvm/llvm-project/commit/aa571a1e8f03faa311fb135ea4b24b9414db1b74
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 797336b1278c


  Commit: e84a985cbf4b26c10812e9bd339db9cfd037f581
      https://github.com/llvm/llvm-project/commit/e84a985cbf4b26c10812e9bd339db9cfd037f581
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M flang/lib/Lower/ConvertConstant.cpp
    A flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90

  Log Message:
  -----------
  [Flang] Support for NULL() and procedure in structure constructor for procedure pointer component. (#85991)

This PR fixes a subset of procedure pointer component initialization in
structure constructor.
It covers
  1. NULL()
  2. procedure
  
 For example:
 ```
   MODULE M
    TYPE :: DT
      !PROCEDURE(Fun), POINTER, NOPASS :: pp1
      PROCEDURE(Fun), POINTER :: pp1
    END TYPE

    CONTAINS

    INTEGER FUNCTION Fun(Arg)
     class(dt) :: arg
    END FUNCTION

  END MODULE

  PROGRAM MAIN
  USE M
  IMPLICIT NONE
  TYPE (DT), PARAMETER :: v1 = DT(NULL())
  TYPE (DT) :: v2
  v2 = DT(fun)
  END
  ```
  
Passing a procedure pointer itself or reference to a function that
returns a procedure pointer is TODO.


  Commit: 3218570620a320573dfd3315da8277600a010bc1
      https://github.com/llvm/llvm-project/commit/3218570620a320573dfd3315da8277600a010bc1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/oddshuffles.ll

  Log Message:
  -----------
  [X86] Add shuffle test case for Issue #86068


  Commit: aa7f8200ac29823e6c662d1f41763c2509514161
      https://github.com/llvm/llvm-project/commit/aa7f8200ac29823e6c662d1f41763c2509514161
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h

  Log Message:
  -----------
  [IR] Add helpers for `NUWAddLike` and `NSWAddLike` to also match `or disjoint`; NFC

`or disjoint` implies `add nuw nsw`: https://alive2.llvm.org/ce/z/VABhDA


  Commit: ac13e5c0f698c1e3f759e622d2d3cf36ab3b77f3
      https://github.com/llvm/llvm-project/commit/ac13e5c0f698c1e3f759e622d2d3cf36ab3b77f3
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/sadd-with-overflow.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll

  Log Message:
  -----------
  [InstCombine] Add tests for integrating `N{U,S}WAddLike`; NFC


  Commit: b3ee127e7dead25fa284b26d2c5a067671d0e896
      https://github.com/llvm/llvm-project/commit/b3ee127e7dead25fa284b26d2c5a067671d0e896
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/sadd-with-overflow.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll

  Log Message:
  -----------
  [InstCombine] integrate `N{U,S}WAddLike` into existing folds

Just went a quick replacement of `N{U,S}WAdd` with the `Like` variant
that old matches `or disjoint`

Closes #86082


  Commit: 796efa8cd5800a42eb8362564be64f3d72512a05
      https://github.com/llvm/llvm-project/commit/796efa8cd5800a42eb8362564be64f3d72512a05
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/Float2Int.cpp

  Log Message:
  -----------
  [Float2Int] Fix pessimization in the MinBW calculation. (#86051)

The MinBW was being calculated using the significant bits of the upper
and lower bounds. The upper bound is 1 past the last value in the range
so I don't think it should be included. Instead use ConstantRange::getMinSignedBits.

I'm still not sure if the +1 is needed after the getMinSignedBits call.


  Commit: f5ef9bd26d531d104f44f9e5b283bd2f80c024be
      https://github.com/llvm/llvm-project/commit/f5ef9bd26d531d104f44f9e5b283bd2f80c024be
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/ProfileData/RawMemProfReader.cpp

  Log Message:
  -----------
  [memprof] Call SmallVector::reserve (#86055)

With one raw memprof file I have, NumPCs averages about 41.  Given the
default number of inline elements being 8 for SmallVector<uint64_t>,
we should reserve the storage in advance.


  Commit: 999d4f840777bf8de26d45947192aa0728edc0fb
      https://github.com/llvm/llvm-project/commit/999d4f840777bf8de26d45947192aa0728edc0fb
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/test/Sema/warn-cast-function-type-strict.c
    M clang/test/SemaCXX/warn-cast-function-type-strict.cpp

  Log Message:
  -----------
  Split -Wcast-function-type into a separate group (#86131)

We want to add -Wcast-function-type to -Wextra (as done in
1de7e6c8cba27296f3fc16d107822ea0ee856759), but we do not want to add
-Wcast-function-type-strict in at the same time
(https://lab.llvm.org/buildbot/#/builders/57/builds/33601/steps/5/logs/stdio).

This moves the existing warning to a new group
(-Wcast-function-type-mismatch), puts the new group under the existing
-Wcast-function-type warning group, and adds
-Wcast-function-type-mismatch to -Wextra.


  Commit: 3fefeafa49299ef924414bfa1b678e0f656b3618
      https://github.com/llvm/llvm-project/commit/3fefeafa49299ef924414bfa1b678e0f656b3618
  Author: dmaclach <dmaclach at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaType.cpp
    A clang/test/SemaObjC/attr-objc-NSObject.m

  Log Message:
  -----------
  [OBJC] Allow __attribute__((NSObject)) types be used as lightweight generic specifiers (#84593)

As per
https://clang.llvm.org/docs/AutomaticReferenceCounting.html#retainable-object-pointers,
types with `__attribute__((NSObject))` are retainable, and thus should
be eligible to be used as lightweight generic specifiers.

Fix for #84592 84592


  Commit: 22e7e68a40b8b1aac8b44137685d21ac4b98bd17
      https://github.com/llvm/llvm-project/commit/22e7e68a40b8b1aac8b44137685d21ac4b98bd17
  Author: lorenzo chelini <lchelini at nvidia.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp

  Log Message:
  -----------
  [mlir][Affine] Fix unused variable warning (NFC)


  Commit: c96b61adc33b9d4ab26e2d0e4bce929b31c48768
      https://github.com/llvm/llvm-project/commit/c96b61adc33b9d4ab26e2d0e4bce929b31c48768
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libc/src/__support/CPP/iterator.h

  Log Message:
  -----------
  [libc] Add reverse_iterator comparisons (#86147)

https://en.cppreference.com/w/cpp/iterator/reverse_iterator/operator_cmp


  Commit: 3eb58d15b353534fd42a3a0d1eeb7cd33d128b34
      https://github.com/llvm/llvm-project/commit/3eb58d15b353534fd42a3a0d1eeb7cd33d128b34
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libc/src/__support/CPP/iterator.h

  Log Message:
  -----------
  Revert "[libc] Add reverse_iterator comparisons" (#86186)

Reverts llvm/llvm-project#86147


  Commit: 536cb1fad3ea3edaba8264992c8de2f4b07abc84
      https://github.com/llvm/llvm-project/commit/536cb1fad3ea3edaba8264992c8de2f4b07abc84
  Author: Michele Scandale <michele.scandale at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/test/Transforms/InstCombine/shuffle_select-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/shuffle_select.ll

  Log Message:
  -----------
  [InstCombine] Fix for folding select-like `shufflevector` into floating point binary operators. (#85452)

Folding a select-like `shufflevector` into a floating point binary
operators can only be done if the result is preserved for both case. In
particular, if the common operand of the `shufflevector` and the
floating point binary operator can be a NaN, then the transformation
won't preserve the result value.


  Commit: 85ccfb5ed5389a5fb2d58eab12a9266e7ea064ce
      https://github.com/llvm/llvm-project/commit/85ccfb5ed5389a5fb2d58eab12a9266e7ea064ce
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp

  Log Message:
  -----------
  [HWASan] [NFC] pull logic to get sanitizer ptr out of hwasan (#86024)

Also some drive by cleanup removing an unnnecessary argument and a
redundant condition.


  Commit: 6d939a6ec69adf284cdbef2034b49fd02ba503fc
      https://github.com/llvm/llvm-project/commit/6d939a6ec69adf284cdbef2034b49fd02ba503fc
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    A lldb/test/API/debuginfod/Normal/Makefile
    A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    A lldb/test/API/debuginfod/Normal/main.c
    A lldb/test/API/debuginfod/SplitDWARF/Makefile
    A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    A lldb/test/API/debuginfod/SplitDWARF/main.c

  Log Message:
  -----------
  DebugInfoD tests + fixing issues exposed by tests (#85693)

Finally getting back to Debuginfod tests:
I've migrated the tests in my [earlier
PR](https://github.com/llvm/llvm-project/pull/79181) from shell to API
(at @JDevlieghere's suggestion) and addressed a couple issues that came
about during testing.

The tests first test the "normal" situation (no DebugInfoD involvement,
just normal debug files sitting around), then the "no debug info"
situation (to make sure the test is seeing failure properly), then it
tests to validate that when Debuginfod returns the symbols, things work
properly. This is duplicated for DWP/split-dwarf scenarios.

---------

Co-authored-by: Kevin Frei <freik at meta.com>


  Commit: 2ab106cbd428984df3dda2f6983d5f956917cb69
      https://github.com/llvm/llvm-project/commit/2ab106cbd428984df3dda2f6983d5f956917cb69
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp

  Log Message:
  -----------
  [flang][OpenMP] Convert processTODO and remove unused objects (#81627)

Remove `ClauseIterator2` and `clauses2` from ClauseProcessor.

[Clause representation 5/6]


  Commit: 6b1cf0040059c407264d2609403c4fc090673167
      https://github.com/llvm/llvm-project/commit/6b1cf0040059c407264d2609403c4fc090673167
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    A bolt/test/X86/linux-static-keys.s

  Log Message:
  -----------
  [BOLT] Add support for Linux kernel static keys jump table (#86090)

Runtime code modification used by static keys is the most ubiquitous
self-modifying feature of the Linux kernel. The idea is to to eliminate
the condition check and associated conditional jump on a hot path if
that condition (based on a boolean value of a static key) does not
change often. Whenever they condition changes, the kernel runtime
modifies all code paths associated with that key flipping the code
between nop and (unconditional) jump.


  Commit: 70a9c527b8c9857fb63a87b2d2025bf9defea7f2
      https://github.com/llvm/llvm-project/commit/70a9c527b8c9857fb63a87b2d2025bf9defea7f2
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

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

  Log Message:
  -----------
  [libc][bazel] Fix bazel build (#86190)

Follow up on #86140


  Commit: 628068113710d501e88b63a1506d66dd20ce7e94
      https://github.com/llvm/llvm-project/commit/628068113710d501e88b63a1506d66dd20ce7e94
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/X86/Inputs/blarge_new.preagg.txt
    A bolt/test/X86/Inputs/blarge_new.yaml
    A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
    A bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Output basic YAML profile in BAT mode

Relax assumptions that YAML output is not supported in BAT mode.
Set up basic infrastructure for emitting YAML for functions not covered
by BAT, such as from `.bolt.org.text` section (code identical to input binary
sans external refs), or non-rewritten functions in non-relocation mode (where
the function stays in the same section but BAT mapping is not emitted).

This diff only produces YAML profile for non-BAT functions (skipped,
non-simple). YAML profile for BAT functions is added in follow-up diffs:
- https://github.com/llvm/llvm-project/pull/76911 emits YAML profile with
  internal control flow information only (branch profile),
- https://github.com/llvm/llvm-project/pull/76896 adds cross-function profile
  (calls profile).

Test Plan: Added bolt/test/X86/bolt-address-translation-yaml.test

Reviewers: ayermolo, dcci, maksfb, rafaelauler

Reviewed By: rafaelauler

Pull Request: https://github.com/llvm/llvm-project/pull/76910


  Commit: cde54df39cab3a1d60a3e1862ab341609bee3cc3
      https://github.com/llvm/llvm-project/commit/cde54df39cab3a1d60a3e1862ab341609bee3cc3
  Author: Cooper Partin <coopp at microsoft.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/MC/DXContainerPSVInfo.h
    M llvm/include/llvm/MC/StringTableBuilder.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/MC/DXContainerPSVInfo.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    A llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
    A llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp

  Log Message:
  -----------
  Add support for PSV EntryFunctionName (#84409)

This change introduces a version 3 of the PSV data that includes support
for the name of the entry function as an offset into StringTable data to
a null-terminated utf-8 string.

Additional tests were added to ensure that the new value was properly
serialized/deserialized from object data.

Fixes #80175

---------

Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>


  Commit: b19bf3e888f95c35bf641cd0eee18a8da702f6fe
      https://github.com/llvm/llvm-project/commit/b19bf3e888f95c35bf641cd0eee18a8da702f6fe
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/unsupported-option-gpu.c

  Log Message:
  -----------
  [clang][SPIRV] Don't warn on -mcmodel (#86039)

The code model doesn't affect the sub-compilation, so don't check it.

Followup to #70740.


  Commit: b609a4d7ea8b716f5f0ec83d10945362f42e730d
      https://github.com/llvm/llvm-project/commit/b609a4d7ea8b716f5f0ec83d10945362f42e730d
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  [lld-macho][NFC] Refactor insertions into inputSections (#85692)

Before this change, after `InputSection` objects are created, they need
to be added to the appropriate container for tracking.
The logic for selecting the appropriate container lives in `Driver.cpp`
/ `gatherInputSections`, where the `InputSection` is added to the
matching container depending on the input config and the type of
`InputSection`.

Also, multiple other locations also insert directly into `inputSections`
array - assuming that that is the appropriate container for the
`InputSection`'s they create. Currently this is the correct assumption,
however an upcoming feature will change this.

For an upcoming feature (relative method lists), we need to route
`InputSection`'s either to `inputSections` array or to a synthetic
section, depending on weather the relative method list optimization is
enabled or not.

We can achieve the above either by duplicating some of the logic or
refactoring the routing and `InputSection`'s and reusing that.

The refactoring & code sharing approach seems the correct way to go - as
such this diff performs the refactoring while not introducing any
functional changes. Later on we can just call `addInputSection` and not
have to worry about routing logic.

---------


  Commit: e4a672ef85f76c3402b81640e1e83e5d3069d1b9
      https://github.com/llvm/llvm-project/commit/e4a672ef85f76c3402b81640e1e83e5d3069d1b9
  Author: alx32 <103613512+alx32 at users.noreply.github.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M lld/MachO/ObjC.cpp

  Log Message:
  -----------
  [lld][macho] Fix gcc category merging warning (#86091)

Fixing gcc warning regarding creating non-null-terminated string:
```
../../lld/MachO/ObjC.cpp:1226:10: warning: 'char* strncpy(char*, const char*, size_t)' output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
 1226 |   strncpy(strData, str, len);
      |   ~~~~~~~^~~~~~~~~~~~~~~~~~~
../../lld/MachO/ObjC.cpp: In member function 'void {anonymous}::ObjcCategoryMerger::emitAndLinkPointerList(lld::macho::Defined*, uint32_t, const {anonymous}::ObjcCategoryMerger::ClassExtensionInfo&, const {anonymous}::ObjcCategoryMerger::PointerListInfo&)':
../../lld/MachO/ObjC.cpp:1223:24: note: length computed here
 1223 |   uint32_t len = strlen(str);
      |                  ~~~~~~^~~~~
```
This is not actually a bug, as `newSectionData` returns a
zero-initialized memory region, so the null terminator will be there.


  Commit: e470ca89ba77b2f200ff3a8ad65c74028f42c5f7
      https://github.com/llvm/llvm-project/commit/e470ca89ba77b2f200ff3a8ad65c74028f42c5f7
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/lib/InstallAPI/DylibVerifier.cpp
    M clang/test/InstallAPI/diagnostics-cpp.test
    A clang/test/InstallAPI/linker-symbols.test
    A clang/test/InstallAPI/mismatching-objc-class-symbols.test
    A clang/test/InstallAPI/symbol-flags.test
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp

  Log Message:
  -----------
  [InstallAPI] Report exports discovered in binary but not in interface (#86025)

This patch completes the classes of errors installapi can detect.


  Commit: b8e53630f899ddb8a2ec0d37bcb86608d58c4960
      https://github.com/llvm/llvm-project/commit/b8e53630f899ddb8a2ec0d37bcb86608d58c4960
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h

  Log Message:
  -----------
  [compiler-rt] Avoid pulling in __cxa_pure_virtual

When building optimized versions of the runtime libraries the compiler
is generally able to elide these references, but when building them
for maximum debug info (with -O0), these references remain which causes
the test suite to fail for tests that do not pull in the C++ standard
library.

Reviewed By: vitalybuka

Pull Request: https://github.com/llvm/llvm-project/pull/84613


  Commit: c56211b2430cf63ba3a469a4ae89cf2e829e9332
      https://github.com/llvm/llvm-project/commit/c56211b2430cf63ba3a469a4ae89cf2e829e9332
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M libc/include/llvm-libc-macros/math-macros.h

  Log Message:
  -----------
  [libc] Make math-macros.h C++-friendly (#86206)

The isfinite, isnan, and isinf "functions" are specified by C99..C23 to
be macros that act as type-generic functions. Defining them as their
__builtin_* counterparts works fine for this. However, in C++ the
identifiers need to be usable in different contexts, such as being
declared inside a C++ namespace. So define inline constexpr template
functions for them under `#ifdef __cplusplus`.


  Commit: 00f3454bbe04ae8cf0eeda981c439e7f97390bd4
      https://github.com/llvm/llvm-project/commit/00f3454bbe04ae8cf0eeda981c439e7f97390bd4
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt
    A flang/runtime/external-unit.cpp
    M flang/runtime/io-stmt.cpp
    M flang/runtime/lock.h
    A flang/runtime/pseudo-unit.cpp
    M flang/runtime/tools.h
    M flang/runtime/unit.cpp
    M flang/runtime/unit.h

  Log Message:
  -----------
  [flang][runtime] Added pseudo file unit for simplified PRINT. (#86134)

A file unit is emulated via a temporary buffer that accumulates
the output, which is printed out via std::printf at the end
of the IO statement. This implementation will be used for the offload
devices.


  Commit: 6f9297fc4da9df776aef7ee9a18ac426053aaed4
      https://github.com/llvm/llvm-project/commit/6f9297fc4da9df776aef7ee9a18ac426053aaed4
  Author: Alexander Richardson <alexrichardson at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/lib/msan/tests/CMakeLists.txt
    M compiler-rt/lib/tsan/tests/CMakeLists.txt

  Log Message:
  -----------
  [compiler-rt] Fix build race with COMPILER_RT_TEST_STANDALONE_BUILD_LIBS

Since this standalone build configuration uses the runtime libraries that
are being built just now, we need to ensure that e.g. the TSan unit tests
depend on the tsan runtime library. Also fix TSAN_DEPS being overridden
to not include the tsan runtime (commit .....).
This change fixes a build race seen in the CI checks for
TsanRtlTest-x86_64-Test in https://github.com/llvm/llvm-project/pull/83088.

Reviewed By: vitalybuka

Pull Request: https://github.com/llvm/llvm-project/pull/83650


  Commit: 8d1affb87181b9636b87e04a245bcde06f8a7d47
      https://github.com/llvm/llvm-project/commit/8d1affb87181b9636b87e04a245bcde06f8a7d47
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Update @dcaballe in CODEOWNERS (#86177)

It fixes a few rules that don't seem to be working and adding myself to a few paths where I've been contributing and can offer my review. Also minor sorting changes.


  Commit: 1538b82fd395a2fba90842b8a8010b8dcc919499
      https://github.com/llvm/llvm-project/commit/1538b82fd395a2fba90842b8a8010b8dcc919499
  Author: Cooper Partin <coopp at microsoft.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/DXContainer.h
    M llvm/include/llvm/MC/DXContainerPSVInfo.h
    M llvm/include/llvm/MC/StringTableBuilder.h
    M llvm/include/llvm/Object/DXContainer.h
    M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
    M llvm/lib/MC/DXContainerPSVInfo.cpp
    M llvm/lib/Object/DXContainer.cpp
    M llvm/lib/ObjectYAML/DXContainerEmitter.cpp
    M llvm/lib/ObjectYAML/DXContainerYAML.cpp
    R llvm/test/ObjectYAML/DXContainer/PSVv3-amplification.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-compute.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-domain.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-geometry.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-hull.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-mesh.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-pixel.yaml
    R llvm/test/ObjectYAML/DXContainer/PSVv3-vertex.yaml
    M llvm/tools/obj2yaml/dxcontainer2yaml.cpp

  Log Message:
  -----------
  Revert "Add support for PSV EntryFunctionName (#84409)" (#86211)

This reverts commit cde54df39cab3a1d60a3e1862ab341609bee3cc3.

Co-authored-by: Cooper Partin <coopp at ntdev.microsoft.com>


  Commit: dc74bf7a5412df82223f7062d9a6b814abbfca45
      https://github.com/llvm/llvm-project/commit/dc74bf7a5412df82223f7062d9a6b814abbfca45
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  Add myself as codeowner for InstallAPI & TextAPI


  Commit: 06d245242e3e24cd4558f545fb5ceba0582c4f03
      https://github.com/llvm/llvm-project/commit/06d245242e3e24cd4558f545fb5ceba0582c4f03
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll

  Log Message:
  -----------
  [RISCV] Recursively split concat_vector into smaller LMULs when lowering (#85825)

This is a reimplementation of the combine added in #83035 but as a
lowering instead of a combine, so we don't regress the test case added
in e59f120e3a14ccdc55fcb7be996efaa768daabe0 by interfering with the
strided load combine

Previously the combine had to concatenate the split vectors with
insert_subvector instead of concat_vectors to prevent an infinite
combine loop. And the reasoning behind keeping it as a combine was
because if we emitted the insert_subvector during lowering then we
didn't fold away inserts of undef subvectors.

However it turns out we can avoid this if we just do this in lowering
and select a concat_vector directly, since we get the undef folding for
free with `DAG.getNode(ISD::CONCAT_VECTOR, ...)` via foldCONCAT_VECTORS.


  Commit: 51d5b6581912c8495360a09a0e6be978e0374d90
      https://github.com/llvm/llvm-project/commit/51d5b6581912c8495360a09a0e6be978e0374d90
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsub-sdnode.ll

  Log Message:
  -----------
  [RISCV] Handle scalable ops with < EEW / 2 narrow types in combineBinOp_VLToVWBinOp_VL (#84158)

We can remove the restriction that the narrow type needs to be exactly
EEW / 2 for scalable ISD::{ADD,SUB,MUL} nodes. This allows us to perform
the combine even if we can't fully fold the extend into the widening op.

VP intrinsics already do this, since they are lowered to _VL nodes which
don't have this restriction.

The "exactly EEW / 2" narrow type restriction prevented us from emitting
V{S,Z}EXT_VL nodes with i1 element types which crash when we try to
select them, since no other legal type is double the size of i1, see the
test case added in this PR `i1_zext`. So to preserve this, this adds a
check for i1 narrow types instead.


  Commit: d22cf4365ca58ccf1db21341d63ac49921f1c47a
      https://github.com/llvm/llvm-project/commit/d22cf4365ca58ccf1db21341d63ac49921f1c47a
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/tools/CMakeLists.txt

  Log Message:
  -----------
  [cmake] Place clang behind mlir in the liist of external projects

In preparation for the initial ClangIR upstreaming process, move clang
behind MLIR in the list of external projects. Otherwise, cmake will
attempt to build clang before MLIR.

reland of https://github.com/llvm/llvm-project/pull/86050

Reviewers: 

Pull Request: https://github.com/llvm/llvm-project/pull/86210


  Commit: e66b670f3bf9312f696e66c31152ae535207d6bb
      https://github.com/llvm/llvm-project/commit/e66b670f3bf9312f696e66c31152ae535207d6bb
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Driver/Types.def
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/FrontendOptions.cpp

  Log Message:
  -----------
  [CIR][Basic][NFC] Add the CIR language to the Language enum

Add the CIR language to the Language enum and the standard usages of it.

commit-id:fd12b2c2

Reviewers: bcardosolopes, AaronBallman, erichkeane

Reviewed By: AaronBallman, bcardosolopes

Pull Request: https://github.com/llvm/llvm-project/pull/86072


  Commit: 3942bd2fb56380aa050977dc6aede011e191d9b0
      https://github.com/llvm/llvm-project/commit/3942bd2fb56380aa050977dc6aede011e191d9b0
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll

  Log Message:
  -----------
  [SLP]Fix a crash if the argument of call was affected by minbitwidt
analysis.

Need to support proper type conversion for function arguments to avoid
compiler crash.


  Commit: 7564566779eb07e9daf41a351b09cf7607871845
      https://github.com/llvm/llvm-project/commit/7564566779eb07e9daf41a351b09cf7607871845
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
    M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
    M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
    M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
    M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
    M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
    M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
    M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
    M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
    M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
    M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
    M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
    M llvm/test/CodeGen/X86/callbr-asm-kill.mir
    M llvm/test/CodeGen/X86/late-remat-update.mir
    M llvm/test/CodeGen/X86/limit-split-cost.mir
    M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
    M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
    M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-load-folding.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced2.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-through-regalloc.mir
    M llvm/test/DebugInfo/MIR/InstrRef/stack-coloring-dbg-phi.mir
    M llvm/test/DebugInfo/MIR/InstrRef/survives-livedebugvars.mir
    M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg-debugonly.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvars-crossbb-interval.mir
    M llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
    A llvm/test/MachineVerifier/test_adjustsstack.mir

  Log Message:
  -----------
  Reapply "Move assertion for AdjustsStack from PEI to MachineVerifier (#85698)"

- The check is now actually done in both PEI and the MachineVerifier.
- More .mir tests trivially updated with "adjustsStack: true" as needed.


  Commit: 8cb2d436ca50117026a8dc901c8039d9bd39b507
      https://github.com/llvm/llvm-project/commit/8cb2d436ca50117026a8dc901c8039d9bd39b507
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [Passes] Expose parseSinglePassOption (#86117)

BPF and some machine function passes need it.


  Commit: a2dfc9ac7da23ccf0077081c8825a23aed1df0c0
      https://github.com/llvm/llvm-project/commit/a2dfc9ac7da23ccf0077081c8825a23aed1df0c0
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan_fp.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll

  Log Message:
  -----------
  [NewPM][AMDGPU] Add AMDGPUPassRegistry.def (#86095)

Move the pass registry to a separate file, prepare for porting dag-isel.


  Commit: 3e4caa9da4356247444e973eb470a25adae083b0
      https://github.com/llvm/llvm-project/commit/3e4caa9da4356247444e973eb470a25adae083b0
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/test/CodeGen/X86/apx/domain-reassignment.mir

  Log Message:
  -----------
  [X86] Support DomainReassignment for APX NDD instructions (#85737)


  Commit: 8d7d581ad2a96ebe54aed0e5a626048d2e2a8d2d
      https://github.com/llvm/llvm-project/commit/8d7d581ad2a96ebe54aed0e5a626048d2e2a8d2d
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  Revert "[Passes] Expose parseSinglePassOption" (#86225)

Reverts llvm/llvm-project#86117


  Commit: 718fbbef5f18a2b7e7fc4f842b1452ae9bee581a
      https://github.com/llvm/llvm-project/commit/718fbbef5f18a2b7e7fc4f842b1452ae9bee581a
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  [llvm-exegesis] Kill process that recieve a signal (#86069)

Before this patch, llvm-exegesis would leave processes lingering that
experienced signals like segmentation faults. They would up in a
signal-delivery-stop state under the ptrace and never exit. This does
not cause problems (or at least many) in llvm-exegesis as they are
cleaned up after the main process exits, which usually happens quickly.
However, in downstream use, when many blocks are being executed (many of
which run into signals) within a single process, these processes stay
around and can easily exhaust the process limit on some systems.

This patch cleans them up by sending SIGKILL after information about the
signal that was sent has been gathered.


  Commit: 4d7f28a2c4b187f0bef3877081100786156defc7
      https://github.com/llvm/llvm-project/commit/4d7f28a2c4b187f0bef3877081100786156defc7
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/lib/Passes/PassBuilder.cpp

  Log Message:
  -----------
  [Passes] Expose parseSinglePassOption (#86226)

Reland #86225, adjust the name space.


  Commit: 40beb9b001a3c67c60b98fae9e999dcaa2d88717
      https://github.com/llvm/llvm-project/commit/40beb9b001a3c67c60b98fae9e999dcaa2d88717
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [lldb] Handle clang::Language::CIR (#86234)

commit e66b670f3bf9312f696e66c31152ae535207d6bb
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   Thu Mar 21 19:53:48 2024 -0400

triggers:

  lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp:478:16:
  error: enumeration value 'CIR' not handled in switch
  [-Werror,-Wswitch]

This patch teaches lldb to handle clang::Language::CIR the same way as
clang::Language::LLVM_IR.


  Commit: 4865dab04cad1c5ce47468b0a52ea968e5a5503b
      https://github.com/llvm/llvm-project/commit/4865dab04cad1c5ce47468b0a52ea968e5a5503b
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp

  Log Message:
  -----------
  [BOLT] Fix unused variable warnings

This patch fixes:

  bolt/lib/Rewrite/LinuxKernelRewriter.cpp:1664:20: error: unused
  variable 'TargetAddress' [-Werror,-Wunused-variable]

  bolt/lib/Rewrite/LinuxKernelRewriter.cpp:1666:20: error: unused
  variable 'KeyAddress' [-Werror,-Wunused-variable]


  Commit: c67ed2f1e12e1b0e16b25606e67b67a47ca848d5
      https://github.com/llvm/llvm-project/commit/c67ed2f1e12e1b0e16b25606e67b67a47ca848d5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll

  Log Message:
  -----------
  [SelectionDAG][RISCV] Use TypeSize version of ComputeValueVTs in TargetLowering::LowerCallTo. (#86166)

This is needed to support non-intrinsic functions returning tuple types
which are represented as structs with scalable vector types in IR.

I suspect this may have been broken since
https://reviews.llvm.org/D158115


  Commit: e1a8120a63cdb6c9567b0f68d9a0390e4f5da184
      https://github.com/llvm/llvm-project/commit/e1a8120a63cdb6c9567b0f68d9a0390e4f5da184
  Author: Pravin Jagtap <prjagtap at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll

  Log Message:
  -----------
  [AMDGPU] Support double type in atomic optimizer. (#84307)

Presently the atomic optimizer supports only 32-bit operations. Plan is
to extend the atomic optimizer for 64-bit operations for compute and
graphics. This patch extends support for double type for `uniform
values` only. Going forward, will extend the support for divergent
values. Adding support for divergent values requires
extending/legalizing readfirstlane, readlane, writelane, etc ops for
64-bit operations to avoid `bitcast` noise that we have currently.

---------

Authored-by: Pravin Jagtap <Pravin.Jagtap at amd.com>


  Commit: 4e165dd5ab7f7c022e23b645cd8f4676b03a9ec4
      https://github.com/llvm/llvm-project/commit/4e165dd5ab7f7c022e23b645cd8f4676b03a9ec4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-21 (Thu, 21 Mar 2024)

  Changed paths:
    M llvm/utils/TableGen/InfoByHwMode.cpp
    M llvm/utils/TableGen/InfoByHwMode.h

  Log Message:
  -----------
  [TableGen] Remove unused CodeGenHwModes argument from RegSizeInfo constructor. NFC


  Commit: 90454a609894ab278a87be2b9f5c49714caba8df
      https://github.com/llvm/llvm-project/commit/90454a609894ab278a87be2b9f5c49714caba8df
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    A llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect-explicitsect.ll

  Log Message:
  -----------
  [PowerPC][AIX] support explicit sections for -ffunction-sections (#85351)

Fix crashes in https://godbolt.org/z/6voEa1o6Y


  Commit: 0289ae51aa375fd297f1d03d27ff517223e5e998
      https://github.com/llvm/llvm-project/commit/0289ae51aa375fd297f1d03d27ff517223e5e998
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/sroa.mlir
    M mlir/test/Dialect/LLVMIR/type-consistency.mlir

  Log Message:
  -----------
  [MLIR][LLVM][SROA] Support incorrectly typed memory accesses (#85813)

This commit relaxes the assumption of type consistency for LLVM dialect
load and store operations in SROA. Instead, there is now a check that
loads and stores are in the bounds specified by the sub-slot they
access.

This commit additionally removes the corresponding patterns from the
type consistency pass, as they are no longer necessary.

Note: It will be necessary to extend Mem2Reg with the logic for
differently sized accesses as well. This is non-the-less a strict
upgrade for productive flows, as the type consistency pass can produce
invalid IR for some odd cases.


  Commit: c5f839bd58e7f888acc4cb39a18e9e5bbaa9fb0a
      https://github.com/llvm/llvm-project/commit/c5f839bd58e7f888acc4cb39a18e9e5bbaa9fb0a
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libc/src/__support/CPP/iterator.h

  Log Message:
  -----------
  [reland][libc] Add reverse_iterator comparisons (#86188)

This is a reland of #86147 but with a proper `base()` function.

https://en.cppreference.com/w/cpp/iterator/reverse_iterator/operator_cmp


  Commit: 5f1b2cffe5fab0aa733fc8d5f1546c1c800faac4
      https://github.com/llvm/llvm-project/commit/5f1b2cffe5fab0aa733fc8d5f1546c1c800faac4
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir

  Log Message:
  -----------
  [mlir][vector] Add support for masks in castAwayContractionLeadingOneDim (#81906)

Updates `castAwayContractionLeadingOneDim` to inherit from
`MaskableOpRewritePattern` so that this pattern can support masking.

Builds on top of #83827


  Commit: 99d8c25b3104fc07f46532bd681515c5f3c71133
      https://github.com/llvm/llvm-project/commit/99d8c25b3104fc07f46532bd681515c5f3c71133
  Author: David Green <david.green at arm.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/insert-subvector.ll

  Log Message:
  -----------
  [AArch64] Extra tests for v2i8 concat loads. NFC


  Commit: 465ea0bfa69aa48afef58666b084467a1c96c81b
      https://github.com/llvm/llvm-project/commit/465ea0bfa69aa48afef58666b084467a1c96c81b
  Author: Crefeda Rodrigues <65665931+cfRod at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir

  Log Message:
  -----------
  [mlir][vector] Propagate scalability in TransferWriteNonPermutationLowering (#85632)

Updates `extendVectorRank` so that scalability in patterns
that use it (in particular, `TransferWriteNonPermutationLowering`),
is correctly propagated.


Closed related previous PR
https://github.com/llvm/llvm-project/pull/85270

---------

Signed-off-by: Crefeda Rodrigues <crefeda.rodrigues at arm.com>
Co-authored-by: Benjamin Maxwell <macdue at dueutil.tech>


  Commit: de7a50fb88faa1dafee33f10149561936214062b
      https://github.com/llvm/llvm-project/commit/de7a50fb88faa1dafee33f10149561936214062b
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/test/Lower/HLFIR/cray-pointers.f90
    M flang/test/Lower/cray-pointer.f90

  Log Message:
  -----------
  [flang] Fix lowering of host associated cray pointee symbols (#86121)

Cray pointee symbols can be host associated from a module or host
procedure while the related cray pointer is not explicitly associated.
This caused the "not yet implemented: lowering symbol to HLFIR" to fire
when lowering a reference to the cray pointee and fetching the cray
pointer.

This patch:
- Ensures cray pointers are always instantiated when instantiating a
cray pointee.
- Fix internal procedure lowering to deal with cray pointee host
association like it does for pointers (the lowering strategy for cray
pointee is to create a pointer that is updated with the cray pointer
value before being fetched).

This should fix the bug reported in
https://github.com/llvm/llvm-project/issues/85420.


  Commit: 66f88de80599ec4461b0fdac3d1e396b6e83052d
      https://github.com/llvm/llvm-project/commit/66f88de80599ec4461b0fdac3d1e396b6e83052d
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    A clang/test/Driver/riscv-profiles.c
    M llvm/lib/Support/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Support RISC-V Profiles in -march option (#76357)

This PR implements the draft
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/36.

Currently, we replace specified profile in `-march` with standard
arch string.


  Commit: cb4453dc69d75064c9a82e9a6a9bf0d0ded4b204
      https://github.com/llvm/llvm-project/commit/cb4453dc69d75064c9a82e9a6a9bf0d0ded4b204
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/addcarry.ll

  Log Message:
  -----------
  [SelectionDAG] Prevent combination on inconsistent type in `combineCarryDiamond` (#84888)

Fixes #84831
When matching carry pattern with `getAsCarry`, it may produce different
type of carryout. This patch checks such case and does early exit.

I'm new to DAG, any suggestion is appreciated.


  Commit: 6e755c51a916dc521ffe89738bcab47a5442ad06
      https://github.com/llvm/llvm-project/commit/6e755c51a916dc521ffe89738bcab47a5442ad06
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    R clang/test/Driver/riscv-profiles.c
    M llvm/lib/Support/RISCVISAInfo.cpp

  Log Message:
  -----------
  Revert "[RISCV] Support RISC-V Profiles in -march option (#76357)"

This reverts commit 66f88de80599ec4461b0fdac3d1e396b6e83052d as
there are some failures.


  Commit: a62441d4bb6bd0cd8eccab8c5692340c5a2c60bb
      https://github.com/llvm/llvm-project/commit/a62441d4bb6bd0cd8eccab8c5692340c5a2c60bb
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp

  Log Message:
  -----------
  [clang][analyzer][NFC] UnixAPIMisuseChecker inherits from Checker<check::PreCall> (#83027)


  Commit: 730ca47a0cc7380def6df1d25b30c1378fd8bf14
      https://github.com/llvm/llvm-project/commit/730ca47a0cc7380def6df1d25b30c1378fd8bf14
  Author: Alejandro Álvarez Ayllón <alejandro.alvarez at sonarsource.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
    A clang/test/Analysis/getline-unixapi.c
    M clang/test/Analysis/stream.c

  Log Message:
  -----------
  [clang][analyzer] Model getline/getdelim preconditions and evaluation (#83027)

According to POSIX 2018.

1. lineptr, n and stream can not be NULL.
2. If *n is non-zero, *lineptr must point to a region of at least *n
   bytes, or be a NULL pointer.

Additionally, if *lineptr is not NULL, *n must not be undefined.


  Commit: d8e5c0b4e546c73b2d10956a9517f1f2727702ae
      https://github.com/llvm/llvm-project/commit/d8e5c0b4e546c73b2d10956a9517f1f2727702ae
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    A llvm/test/CodeGen/DirectX/abs-vec.ll
    A llvm/test/CodeGen/DirectX/abs.ll
    A llvm/test/CodeGen/DirectX/fabs.ll

  Log Message:
  -----------
  [DXIL] Complete abs lowering (#86158)

This change completes #86155
- `DXIL.td` - lowering `fabs` intrinsic to the float dxil op.
- `DXILIntrinsicExpansion.cpp` - Add intrinsic expansion for the abs
case.


  Commit: 79c32eb03d9ee4dd0a913c4130bc87c5e8ce7908
      https://github.com/llvm/llvm-project/commit/79c32eb03d9ee4dd0a913c4130bc87c5e8ce7908
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    A llvm/test/CodeGen/DirectX/cos.ll
    A llvm/test/CodeGen/DirectX/cos_error.ll
    A llvm/test/CodeGen/DirectX/floor.ll
    A llvm/test/CodeGen/DirectX/floor_error.ll

  Log Message:
  -----------
  [DXIL] Add lowerings for cosine and floor (#86173)

Completes #86170
Completes #86172
- `DXIL.td` - Add changes to lower the cosine and floor intrinsics to
dxilOps.


  Commit: db33444ffa7e210e7040d8def958a14171f52eef
      https://github.com/llvm/llvm-project/commit/db33444ffa7e210e7040d8def958a14171f52eef
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  CODEOWNERS: extend scope of MLIR transform dialect

There are a bunch of related directories in another dialects.


  Commit: e925968e7815ac3810fdb54bb884b8a8bed02eb5
      https://github.com/llvm/llvm-project/commit/e925968e7815ac3810fdb54bb884b8a8bed02eb5
  Author: Balazs Benics <benicsbalazs at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    A clang/test/Analysis/cxx23-static-operator.cpp

  Log Message:
  -----------
  [analyzer] Support C++23 static operator calls (#84972)

Made by following:
https://github.com/llvm/llvm-project/pull/83585#issuecomment-1980340866

Thanks for the details Tomek!

CPP-5080


  Commit: 74c3150ffc86a149abc68acdf8af1eed1ea0f038
      https://github.com/llvm/llvm-project/commit/74c3150ffc86a149abc68acdf8af1eed1ea0f038
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll

  Log Message:
  -----------
  [X86] Add shuffle tests from Issue #86076

SLP should be doing a better job, but both shuffles lower to poorer codegen than necessary


  Commit: ceabaa7e7a2d02b20cbd2b31e8336dedb1d4d9f5
      https://github.com/llvm/llvm-project/commit/ceabaa7e7a2d02b20cbd2b31e8336dedb1d4d9f5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp

  Log Message:
  -----------
  [DAG] Fix some missing formatting when I rewrote the SUB(MAX,MIN) -> ABD patterns. NFC.


  Commit: c41286af3f30e099556c6edbef0001466afaefcb
      https://github.com/llvm/llvm-project/commit/c41286af3f30e099556c6edbef0001466afaefcb
  Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/test/Dialect/Linalg/tile-to-forall.mlir

  Log Message:
  -----------
  [mlir][linalg] Emit a warning when tile_using_forall generates non thread-safe code (#80813)

**Description**

The documentation of `transform.structured.tile_using_forall` says:

_"It is the user’s responsibility to ensure that num_threads/tile_sizes
is a valid tiling specification (i.e. that only tiles parallel
dimensions, e.g. in the Linalg case)."_

In other words, tiling a non-parallel dimension would generate code with
data races which is not safe to parallelize. For example, consider this
example (included in the tests in this PR):

```
func.func @tile_thread_safety2(%arg0: tensor<100x300x8xf32>, %arg1: tensor<300x8xf32>) -> tensor<300x8xf32> {
  %0 = scf.forall (%arg2) in (8) shared_outs(%arg3 = %arg1) -> (tensor<300x8xf32>) {
    %1 = affine.min #map(%arg2)
    %2 = affine.max #map1(%1)
    %3 = affine.apply #map2(%arg2)
    %extracted_slice = tensor.extract_slice %arg0[%3, 0, 0] [%2, 300, 8] [1, 1, 1] : tensor<100x300x8xf32> to tensor<?x300x8xf32>
    %4 = linalg.generic {indexing_maps = [#map3, #map4], iterator_types = ["reduction", "parallel", "parallel"]} ins(%extracted_slice : tensor<?x300x8xf32>) outs(%arg3 : tensor<300x8xf32>) {
    ^bb0(%in: f32, %out: f32):
      %5 = arith.addf %in, %out : f32
      linalg.yield %5 : f32
    } -> tensor<300x8xf32>
    scf.forall.in_parallel {
      tensor.parallel_insert_slice %4 into %arg3[0, 0] [300, 8] [1, 1] : tensor<300x8xf32> into tensor<300x8xf32>
    }
  }
  return %0 : tensor<300x8xf32>
}
```

We can easily see that this is not safe to parallelize because all
threads would be writing to the same position in `%arg3` (in the
`scf.forall.in_parallel`.

This PR detects wether it's safe to `tile_using_forall` and emits a
warning in the case it is not.

**Brief explanation**
It first generates a vector of affine expressions representing the tile
values and stores it in `dimExprs`. These affine expressions are
compared with the affine expressions coming from the results of the
affine map of each output in the linalg op. So going back to the
previous example, the original transform is:

```
#map = affine_map<(d0, d1, d2) -> (d0, d1, d2)>
#map1 = affine_map<(d0, d1, d2) -> (d1, d2)>

func.func @tile_thread_safety2(%arg0: tensor<100x300x8xf32>, %arg1: tensor<300x8xf32>) -> tensor<300x8xf32> {
  // expected-warning at +1 {{tiling is not thread safe at axis #0}}
  %0 = linalg.generic {indexing_maps = [#map, #map1], iterator_types = ["reduction", "parallel", "parallel"]} ins(%arg0 : tensor<100x300x8xf32>) outs(%arg1 : tensor<300x8xf32>) {
  ^bb0(%in: f32, %out: f32):
    %1 = arith.addf %in, %out : f32
    linalg.yield %1 : f32
  } -> tensor<300x8xf32>
  return %0 : tensor<300x8xf32>
}

module attributes {transform.with_named_sequence} {
  transform.named_sequence @__transform_main(%arg0: !transform.any_op {transform.readonly}) {
    %0 = transform.structured.match ops{["linalg.generic"]} in %arg0 : (!transform.any_op) -> !transform.any_op
    %forall, %tiled_generic = transform.structured.tile_using_forall %0 num_threads [8]
          : (!transform.any_op) -> (!transform.any_op, !transform.any_op)
    transform.yield
  }
}
```

The `num_threads` attribute would be represented as `(d0)`. Because the
linalg op has only one output (`arg1`) it would only check against the
results of `#map1`, which are `(d1, d2)`. The idea is to check that all
affine expressions in `dimExprs` are present in the output affine map.
In this example, `d0` is not in `(d1, d2)`, so tiling that axis is
considered not thread safe.


  Commit: d03f470cbdbae3f86469ea4d79bb54d3ef680512
      https://github.com/llvm/llvm-project/commit/d03f470cbdbae3f86469ea4d79bb54d3ef680512
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [Clang] Make '-frtlib-add-rpath' include the standard library directory (#86217)

Summary:
The original intention of the `openmp-add-rpath` option was to add the
rpath to the language runtime directory. However, the current
implementation only adds it to the compiler's resource directory. This
patch adds support for appending the `-rpath` to the compiler's standard
library directory as well. Currently this is `<exe>/../lib/<triple>`.


  Commit: d51f1c442b1dc999267726a33e25b7d019726c89
      https://github.com/llvm/llvm-project/commit/d51f1c442b1dc999267726a33e25b7d019726c89
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/docs/DirectX/DXILArchitecture.rst

  Log Message:
  -----------
  [DirectX][Docs] Add DXILIntrinsicExpansion  Pass to DXILArchitecture.rst (#86198)

Completes #84839

---------

Co-authored-by: Farzon Lotfi <farzon at farzon.com>


  Commit: fe64b26df9429c82f706424dcdae3d65723c3e5e
      https://github.com/llvm/llvm-project/commit/fe64b26df9429c82f706424dcdae3d65723c3e5e
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp

  Log Message:
  -----------
  NFC Rename LoadBitcodeIntoNewDbgInforFormat to LoadBitcodeIntoNewDbgInfoFormat

(drop additional 'r' before Format)


  Commit: e1f50fdc03efecb5da39c1df4fc08d2ce5da90e9
      https://github.com/llvm/llvm-project/commit/e1f50fdc03efecb5da39c1df4fc08d2ce5da90e9
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h

  Log Message:
  -----------
  [mlir] Remove unused and untested `shouldSplitInputFile`. (#85622)

This was changed by #84765 but turned out to be buggy. Since it isn't
used and isn't tested, it is probably best to remove it.


  Commit: 83da7b6338053ca04cf0afe3c70ef5b8a9f6d300
      https://github.com/llvm/llvm-project/commit/83da7b6338053ca04cf0afe3c70ef5b8a9f6d300
  Author: Ingo Müller <ingomueller at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/test/mlir-opt/split-markers.mlir
    M mlir/test/mlir-pdll/split-markers.pdll

  Log Message:
  -----------
  [mlir] Extend split marker tests of `mlir-opt` and `mlir-pdll`. (#85620)

Recently #84765 made the split markers of various tools configurable but
did not test *not* using the split markers for two of them. This PR adds
those tests.


  Commit: 04a6e0f1634f9a53120c27a30250d26dff4ada1c
      https://github.com/llvm/llvm-project/commit/04a6e0f1634f9a53120c27a30250d26dff4ada1c
  Author: Paul Robinson <paul.robinson at sony.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/xmmintrin.h

  Log Message:
  -----------
  [X86][Headers] change 'yields' to 'returns' in more places


  Commit: 31a9a4b83720af79110941824abe28fc6ff42355
      https://github.com/llvm/llvm-project/commit/31a9a4b83720af79110941824abe28fc6ff42355
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/include/tuple
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG3528 (`make_from_tuple` can perform (the equivalent of) a C-style cast) (#85263)

Implement [LWG3528](https://wg21.link/LWG3528).
Based on LWG3528(https://wg21.link/LWG3528) and
http://eel.is/c++draft/description#structure.requirements-9, the
standard allows to impose requirements, we constraint
`std::make_from_tuple` to make `std::make_from_tuple` SFINAE friendly
and also avoid worse diagnostic messages. We still keep the constraints
of `std::__make_from_tuple_impl` so that `std::__make_from_tuple_impl`
will have the same advantages when used alone.

---------

Signed-off-by: yronglin <yronglin777 at gmail.com>


  Commit: 3b3de48fd84b8269d5f45ee0a9dc6b7448368424
      https://github.com/llvm/llvm-project/commit/3b3de48fd84b8269d5f45ee0a9dc6b7448368424
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/unsupported-option-gpu.c
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  [BOLT] Add BB index to BAT (#86044)


  Commit: b3f98dff75469b115e3d4b1f10cbf270c8ee81af
      https://github.com/llvm/llvm-project/commit/b3f98dff75469b115e3d4b1f10cbf270c8ee81af
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/LTO/LTO.cpp
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp

  Log Message:
  -----------
  [RemoveDIs] Load into new debug info format by default in llvm-lto and llvm-lto2 (#86271)

Directly load all bitcode into the new debug info format in `llvm-lto`
and `llvm-lto2`. This means that new-mode bitcode no longer round-trips
back to old-mode after parsing, and that old-mode bitcode gets
auto-upgraded to new-mode debug info (which is the current in-memory
default in LLVM).


  Commit: a277dd82d89a17849cf99fb335660ea0b8894878
      https://github.com/llvm/llvm-project/commit/a277dd82d89a17849cf99fb335660ea0b8894878
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-half-conversions.ll

  Log Message:
  -----------
  [X86] vector-half-conversions.ll - add v4f16->v4i32 fptosi/fptoui test coverage


  Commit: f82d0187a7e581d4f8f825021dbcb08e8eb37d61
      https://github.com/llvm/llvm-project/commit/f82d0187a7e581d4f8f825021dbcb08e8eb37d61
  Author: David Green <david.green at arm.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/misched-bundle.mir

  Log Message:
  -----------
  [AArch64] Add a test to show incorrect latencies into Bundle instructions. NFC


  Commit: e54af608160350baa7ae1b8069f916eb625beadd
      https://github.com/llvm/llvm-project/commit/e54af608160350baa7ae1b8069f916eb625beadd
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Added AlignConsecutiveTableGenBreakingDAGArgColons option. (#86150)

The option to specify the style of alignment of the colons inside TableGen's DAGArg.


  Commit: 46b853a82ce64e5213f8dfa2c12c6e6a950018a0
      https://github.com/llvm/llvm-project/commit/46b853a82ce64e5213f8dfa2c12c6e6a950018a0
  Author: Billy Laws <blaws05 at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/test/MC/AArch64/coff-relocations.s

  Log Message:
  -----------
  [MC][COFF][AArch64] Treat ARM64EC/X as ARM64 for relocations (#86019)

Since ARM64EC/X objects use regular ARM64 relocations, any special
handling must be done for them too.


  Commit: d231e3b10ead90e4360f7ceb88e4bca9d42d7d04
      https://github.com/llvm/llvm-project/commit/d231e3b10ead90e4360f7ceb88e4bca9d42d7d04
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A clang/test/C/C11/n1282.c
    M clang/test/C/drs/dr0xx.c
    M clang/www/c_dr_status.html
    M clang/www/c_status.html

  Log Message:
  -----------
  [C11] Add test & update status of N1282 and DR087

Our existing diagnostics for catching unsequenced modifications handles
test coverage for N1282, which is correcting the standard based on the
resolution of DR087.


  Commit: 8612fa0d84c730a753d04de012a8372ba5a10677
      https://github.com/llvm/llvm-project/commit/8612fa0d84c730a753d04de012a8372ba5a10677
  Author: agozillon <Andrew.Gozillon at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-2.f90
    A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-scalar.f90

  Log Message:
  -----------
  [MLIR][OpenMP] Refactor bounds offsetting and fix to apply to all directives (#84349)

This PR refactors bounds offsetting by combining the two differing
implementations (one applying to initial derived type member map
implementation for descriptors and the other for regular arrays,
effectively allocatable array vs regular array in fortran) now that it's
a little simpler to do.

The PR also moves the utilization of createAlteredByCaptureMap into
genMapInfoOp, where it will be correctly applied to all MapInfoData,
appropriately offsetting and altering Pointer data set in the kernel
argument structure on the host. This primarily means bounds offsets will
now correctly apply to enter/exit/update map clauses as opposed to just
the Target directive that is currently the case. A few fortran runtime
tests have been added to verify this new behavior.

This PR depends on: https://github.com/llvm/llvm-project/pull/84328 and
is an extraction of the larger derived type member map PR stack (so a
requirement for it to land).


  Commit: 71db97152173a524a3e16e02b7fdc50f405c8695
      https://github.com/llvm/llvm-project/commit/71db97152173a524a3e16e02b7fdc50f405c8695
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    A mlir/test/Conversion/ArithToEmitC/arith-to-emitc-failed.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir

  Log Message:
  -----------
  [mlir][emitc] Arith to EmitC: Handle addi, subi and muli (#86120)

Important to consider that `arith` has wrap around semantics, and in C++
signed overflow is UB.
Unless the operation guarantees that no signed overflow happens, we will
perform the arithmetic in an equivalent unsigned type.
`bool` also doesn't wrap around in C++, and is not addressed here.


  Commit: 9c0a0659d40f613e873e416833d2293365b48e06
      https://github.com/llvm/llvm-project/commit/9c0a0659d40f613e873e416833d2293365b48e06
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/RISCV/small-tree-not-schedulable-bv-node.ll

  Log Message:
  -----------
  [SLP]Fix a crash for non-profitable non-schedulable single buildvector node tree, if the threshold allows its vectorization.


  Commit: 6f44bb7717897191be25aa01161831c67cdf5b84
      https://github.com/llvm/llvm-project/commit/6f44bb7717897191be25aa01161831c67cdf5b84
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Object/OffloadBinary.cpp

  Log Message:
  -----------
  [Object] Ensure header size not to underflow in `OffloadBinary::create`

Prevent potential integer underflows when header size is not valid.

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


  Commit: b44771f480385fa93ba7719a57e759e19747e709
      https://github.com/llvm/llvm-project/commit/b44771f480385fa93ba7719a57e759e19747e709
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    A clang/test/Driver/riscv-profiles.c
    M llvm/lib/Support/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Support RISC-V Profiles in -march option (#76357)

This PR implements the draft
https://github.com/riscv-non-isa/riscv-toolchain-conventions/pull/36.

Currently, we replace specified profile in `-march` with standard
arch string.

This is recommitted as 66f88de was reverted because of failures
caused by lacking `--target` option.


  Commit: cdbec7baf1bc31b59526442c9d4d5f53aac746eb
      https://github.com/llvm/llvm-project/commit/cdbec7baf1bc31b59526442c9d4d5f53aac746eb
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libc/include/arpa/inet.h.def
    M libc/include/assert.h.def
    M libc/include/ctype.h.def
    M libc/include/dirent.h.def
    M libc/include/errno.h.def
    M libc/include/fcntl.h.def
    M libc/include/features.h.def
    M libc/include/fenv.h.def
    M libc/include/float.h.def
    M libc/include/gpu/rpc.h.def
    M libc/include/inttypes.h.def
    M libc/include/limits.h.def
    M libc/include/llvm-libc-macros/containerof-macro.h
    M libc/include/llvm-libc-macros/sys-queue-macros.h
    M libc/include/llvm-libc-types/__mutex_type.h
    M libc/include/llvm-libc-types/cookie_io_functions_t.h
    M libc/include/llvm-libc-types/fd_set.h
    M libc/include/llvm-libc-types/mtx_t.h
    M libc/include/llvm-libc-types/once_flag.h
    M libc/include/llvm-libc-types/pthread_attr_t.h
    M libc/include/llvm-libc-types/pthread_mutex_t.h
    M libc/include/llvm-libc-types/pthread_once_t.h
    M libc/include/llvm-libc-types/pthread_t.h
    M libc/include/llvm-libc-types/siginfo_t.h
    M libc/include/llvm-libc-types/sigset_t.h
    M libc/include/llvm-libc-types/stack_t.h
    M libc/include/llvm-libc-types/struct_dirent.h
    M libc/include/llvm-libc-types/struct_epoll_event.h
    M libc/include/llvm-libc-types/struct_rlimit.h
    M libc/include/llvm-libc-types/struct_rusage.h
    M libc/include/llvm-libc-types/struct_sched_param.h
    M libc/include/llvm-libc-types/struct_sigaction.h
    M libc/include/llvm-libc-types/struct_sockaddr.h
    M libc/include/llvm-libc-types/struct_sockaddr_un.h
    M libc/include/llvm-libc-types/struct_stat.h
    M libc/include/llvm-libc-types/struct_termios.h
    M libc/include/llvm-libc-types/struct_timespec.h
    M libc/include/llvm-libc-types/struct_timeval.h
    M libc/include/llvm-libc-types/thrd_t.h
    M libc/include/math.h.def
    M libc/include/pthread.h.def
    M libc/include/sched.h.def
    M libc/include/search.h.def
    M libc/include/setjmp.h.def
    M libc/include/signal.h.def
    M libc/include/spawn.h.def
    M libc/include/stdbit.h.def
    M libc/include/stdckdint.h.def
    M libc/include/stdfix.h.def
    M libc/include/stdint.h.def
    M libc/include/stdio.h.def
    M libc/include/stdlib.h.def
    M libc/include/string.h.def
    M libc/include/strings.h.def
    M libc/include/sys/auxv.h.def
    M libc/include/sys/epoll.h.def
    M libc/include/sys/ioctl.h.def
    M libc/include/sys/mman.h.def
    M libc/include/sys/prctl.h.def
    M libc/include/sys/queue.h
    M libc/include/sys/random.h.def
    M libc/include/sys/resource.h.def
    M libc/include/sys/select.h.def
    M libc/include/sys/sendfile.h.def
    M libc/include/sys/socket.h.def
    M libc/include/sys/stat.h.def
    M libc/include/sys/time.h.def
    M libc/include/sys/types.h.def
    M libc/include/sys/utsname.h.def
    M libc/include/sys/wait.h.def
    M libc/include/termios.h.def
    M libc/include/threads.h.def
    M libc/include/time.h.def
    M libc/include/uchar.h.def
    M libc/include/unistd.h.def
    M libc/include/wchar.h.def

  Log Message:
  -----------
  [libc] fix up the use of angle includes in include/ (#86027)

Performed en-masse via:

    $ grep -rn "#include <ll" libc/include -l | \
      xargs perl -pi -e 's/#include <ll(.*)>/#include "ll$1"/'
    $ grep -rn "#include <__" libc/include -l | \
      xargs perl -pi -e 's/#include <__(.*)>/#include "__$1"/'

Link: #83463
Link: #83210


  Commit: 4318f7e5301fb737a7abaacb3b43b6a9289055f3
      https://github.com/llvm/llvm-project/commit/4318f7e5301fb737a7abaacb3b43b6a9289055f3
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/exit.cpp

  Log Message:
  -----------
  [libc][stdlib] initial support for __cxa_finalize (#85865)

I'm trying to break up the pieces of supporting __cxa_finalize into smaller
commits. Provide this symbol first, and make use of it from exit.

Next will be to store __dso_handle, then finally to only run callbacks that
were registered from a specific dso.

Link: #85651
Link: https://itanium-cxx-abi.github.io/cxx-abi/abi.html#dso-dtor


  Commit: 6e28ecd79995a72a8dbde8f16a1afc18309442a1
      https://github.com/llvm/llvm-project/commit/6e28ecd79995a72a8dbde8f16a1afc18309442a1
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Object/ELF.cpp

  Log Message:
  -----------
  [Object][ELF] Ensure offset to locate dyn section does not go past size

Validate `p_offset` in `dynamicEntries` before computing the entry offset.

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


  Commit: f66d631bf8dc0fe33c6ba88c3dc7f00ac5946065
      https://github.com/llvm/llvm-project/commit/f66d631bf8dc0fe33c6ba88c3dc7f00ac5946065
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/unsupported-option-gpu.c
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/SyntheticSections.cpp

  Log Message:
  -----------
  Revert "[BOLT] Add BB index to BAT (#86044)"

This reverts commit 3b3de48fd84b8269d5f45ee0a9dc6b7448368424.


  Commit: b0e23639c5b19030bee2b307173802914f64aad6
      https://github.com/llvm/llvm-project/commit/b0e23639c5b19030bee2b307173802914f64aad6
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test

  Log Message:
  -----------
  [BOLT] Add BB index to BAT

Add input basic block index to BAT metadata. This addresses the case
where some basic blocks are eliminated, and output index is not equal
to the input block index. These indices are used in non-stale-matching
mode.

Increases BAT section size to:
- large binary: 39521512 bytes (1.02x original),
- medium binary: 3799988 bytes (0.64x),
- small binary: 920 bytes (0.64x).

Test Plan:
Updated bolt-address-translation{,-yaml}.test

Pull Request: https://github.com/llvm/llvm-project/pull/86044


  Commit: cb300c33059c1d14f72392ce5dffcf050ad7567d
      https://github.com/llvm/llvm-project/commit/cb300c33059c1d14f72392ce5dffcf050ad7567d
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/test/Dialect/LLVMIR/sroa.mlir

  Log Message:
  -----------
  [MLIR][LLVM][SROA] Fix pointer escape through stores bug (#86291)

This commit resolves a SROA bug caused by not properly checking if a
llvm store operation writes the pointer to memory or not. Now, we do no
longer consider stores that use a slot pointer as a value to store as
fixable.


  Commit: ceba3a38e8f7b378ad20641832d568460892af1d
      https://github.com/llvm/llvm-project/commit/ceba3a38e8f7b378ad20641832d568460892af1d
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M bolt/docs/BAT.md
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/test/X86/bolt-address-translation-yaml.test

  Log Message:
  -----------
  [BOLT] Add number of basic blocks to BAT

YAML profile reader checks the number of basic blocks in regular,
no-stale-matching mode. Add it to BAT.

This increases the size of BAT section to:
- large binary: 39583080 bytes (1.02x of the original),
- medium binary: 3816492 bytes (0.64x),
- small binary: 920 bytes (0.64x, no change due to alignment).

Test Plan: Updated bolt-address-translation-yaml.test

Reviewers: rafaelauler, ayermolo, maksfb, dcci

Reviewed By: rafaelauler

Pull Request: https://github.com/llvm/llvm-project/pull/86045


  Commit: 2091c74796b1dac68e622284c63a870b88b7554f
      https://github.com/llvm/llvm-project/commit/2091c74796b1dac68e622284c63a870b88b7554f
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/tools/llvm-c-test/debuginfo.c

  Log Message:
  -----------
  [RemoveDIs] Update DIBuilder C API with DbgRecord functions [2/2] (#85657)

Follow on from #84915 which adds the DbgRecord function variants.

Update the LLVMDIBuilderInsert... functions to insert DbgRecords instead
of debug intrinsics.

    LLVMDIBuilderInsertDeclareBefore
    LLVMDIBuilderInsertDeclareAtEnd
    LLVMDIBuilderInsertDbgValueBefore
    LLVMDIBuilderInsertDbgValueAtEnd

Calling these functions will now cause an assertion if the module is in the
wrong debug info format. They should only be used when the module is in "new
debug format".

Use LLVMIsNewDbgInfoFormat to query and LLVMSetIsNewDbgInfoFormat to change the
debug info format of a module.

Please see https://llvm.org/docs/RemoveDIsDebugInfo.html#c-api-change
(RemoveDIsDebugInfo.md) for more info.


  Commit: 3054d0dae7a813c493d2bb8e969aa2321145a83b
      https://github.com/llvm/llvm-project/commit/3054d0dae7a813c493d2bb8e969aa2321145a83b
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl

  Log Message:
  -----------
  AMDGPU: Rename and add bf16 support for global_load_tr builtins (#86202)

Make the name of a clang builtin as close to the mnemonic instruction
name as possible. The data type suffix may not be enough to tell what
instruction the builtin is going to produce.
  This patch also add the bf16 support for global_load_tr_b128 builtins.


  Commit: 631e54aa1a0b7a79d0dec8dce7ec0f5e506acf6c
      https://github.com/llvm/llvm-project/commit/631e54aa1a0b7a79d0dec8dce7ec0f5e506acf6c
  Author: long.chen <lipracer at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/test/Dialect/Arith/expand-ops.mlir
    M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
    M mlir/test/Transforms/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] fix wrong floordivsi fold (#83248)

Fixs https://github.com/llvm/llvm-project/issues/83079


  Commit: 01b1b0c1f728e2c2639edc654424f50830295989
      https://github.com/llvm/llvm-project/commit/01b1b0c1f728e2c2639edc654424f50830295989
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir

  Log Message:
  -----------
  [mlir][SVE] Add e2e for 1D depthwise WC convolution (#85225)

Follow-up for https://github.com/llvm/llvm-project/pull/81625


  Commit: ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39
      https://github.com/llvm/llvm-project/commit/ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M utils/bazel/.bazelrc
    M utils/bazel/.bazelversion

  Log Message:
  -----------
  [bazel] Update to 7.x (#86297)


  Commit: 26857582e5ee7980a71133ef8f8f579bcd90bdc8
      https://github.com/llvm/llvm-project/commit/26857582e5ee7980a71133ef8f8f579bcd90bdc8
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/tools/llvm-c-test/debuginfo.c

  Log Message:
  -----------
  Revert "[RemoveDIs] Update DIBuilder C API with DbgRecord functions [2/2] (#85657)"

This reverts commit 2091c74796b1dac68e622284c63a870b88b7554f.

Builtbot failure: https://lab.llvm.org/buildbot/#/builders/16/builds/63080


  Commit: 8155ec13968b6457c61b8507f2ae8ba3ac3b748b
      https://github.com/llvm/llvm-project/commit/8155ec13968b6457c61b8507f2ae8ba3ac3b748b
  Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [HIP][NFC] Refactor managed var codegen (#85976)

Refactor managed variable handling in codegen so that the transformation
is done separately from registration.

This will allow the new driver to register the managed var in the linker
wrapper.


  Commit: 7269570e4b2a5197201c959652c3e86804ed1eeb
      https://github.com/llvm/llvm-project/commit/7269570e4b2a5197201c959652c3e86804ed1eeb
  Author: Abhin P Jose <abhinjose at live.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M compiler-rt/lib/asan/tests/asan_noinst_test.cpp

  Log Message:
  -----------
  Fixed build breaking due to #77178 and #86131 (#86290)

Fixed a small issue of matching pthread signature, which was causing the
build to break for the compiler-rt project after adding
-Wcast-function-type-mismatch to -Wextra dignostic group
(https://github.com/llvm/llvm-project/pull/77178 &
https://github.com/llvm/llvm-project/pull/86131).


  Commit: d2f684685afeffcffba7e889e7267bce1d905911
      https://github.com/llvm/llvm-project/commit/d2f684685afeffcffba7e889e7267bce1d905911
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A clang/test/C/drs/dr290.c
    M clang/www/c_dr_status.html

  Log Message:
  -----------
  [C99] Update status of DR290, which we do not yet implement


  Commit: 527a624205748814dd9309eda7ee308b40b2359a
      https://github.com/llvm/llvm-project/commit/527a624205748814dd9309eda7ee308b40b2359a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A clang/test/C/C11/n1365.c
    M clang/www/c_status.html

  Log Message:
  -----------
  [C11] Update the status of N1365 on constant expression handling

This paper is about constant expression handling in the presence of
FLT_EVAL_METHOD, which we handle via insertion of implicit cast nodes
in the AST.


  Commit: 72c729f354d71697a1402720c90b57ff521b6739
      https://github.com/llvm/llvm-project/commit/72c729f354d71697a1402720c90b57ff521b6739
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M utils/bazel/.bazelrc
    M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/defs.bzl
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel

  Log Message:
  -----------
  [bazel] Add support for --incompatible_disallow_empty_glob (#85999)

This bazel flag, that should be flipped in an upcoming release
https://github.com/bazelbuild/bazel/pull/15327, fails if globs have no
matches. This helps find libraries where you are accidentally not
including files because of typos. This change removes the various globs
that were not matching anything, and uncovered some targets that were
doing nothing because their source files were deleted. There are a few
cases where globs were intentionally optional in the case of loops that
expanded to different potential options, so those now use `allow_empty =
True`. This allows downstream consumers to also flip this flags for
their own builds, where previously this would fail in LLVM instead.

The downside to this change is that if files are added in these
relatively standard locations, manual work will have to be done to add
this patterns back. If folks prefer we could instead add `allow_empty =
True` to every glob.


  Commit: 5184e6ad69b0ca69dfba6fb0982a675c595f49a2
      https://github.com/llvm/llvm-project/commit/5184e6ad69b0ca69dfba6fb0982a675c595f49a2
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M clang/test/C/C11/n1365.c

  Log Message:
  -----------
  Removing accidental code from 527a624205748814dd9309eda7ee308b40b2359a


  Commit: bd493756fa51e538575fc320aae50d75394f0567
      https://github.com/llvm/llvm-project/commit/bd493756fa51e538575fc320aae50d75394f0567
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  [llvm-exegesis] Refactor parent code to separate function (#86232)

This patch refactors the parent code to a separate function in the
subprocess executor to make the code more clear and easy to follow.


  Commit: d2f8ba7d6dc7251815f1431cf8715053576615f4
      https://github.com/llvm/llvm-project/commit/d2f8ba7d6dc7251815f1431cf8715053576615f4
  Author: Sacha Coppey <sacha.coppey at oracle.com>
  Date:   2024-03-23 (Sat, 23 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h

  Log Message:
  -----------
  [RISCV][NFC] Add generateMCInstSeq in RISCVMatInt (#84462)

This allows to avoid duplicating the code handling the instructions
outputted by `generateInstSeq` when emitting `MCInst`s.


  Commit: c3a41aac5f32475b9a0499e6e888e713763566dc
      https://github.com/llvm/llvm-project/commit/c3a41aac5f32475b9a0499e6e888e713763566dc
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  Revert "[llvm-exegesis] Refactor parent code to separate function (#86232)"

This reverts commit bd493756fa51e538575fc320aae50d75394f0567.

Causes build failures on non-X86 platforms.
https://lab.llvm.org/buildbot/#/changes/128363


  Commit: 36a6afdd2c7fa02548260ebe4c993b705c6e6e38
      https://github.com/llvm/llvm-project/commit/36a6afdd2c7fa02548260ebe4c993b705c6e6e38
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp

  Log Message:
  -----------
  Reland "[llvm-exegesis] Refactor parent code to separate function (#86232)"

This reverts commit c3a41aac5f32475b9a0499e6e888e713763566dc.

This relands commit bd493756fa51e538575fc320aae50d75394f0567.

Apparently I forgot to update a couple values, so this change failed on
every builder that builds those sections (should be every Linux
platform) rather than something architecture specific like originally
thought. I swore I updated the values and ran check-llvm before merging.
Wondering If I forgot to push those changes...


  Commit: bbcfe6f4311af8cf6095a5bc5937fa68a87b4289
      https://github.com/llvm/llvm-project/commit/bbcfe6f4311af8cf6095a5bc5937fa68a87b4289
  Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    A mlir/test/Dialect/Linalg/flatten-unsupported.mlir

  Log Message:
  -----------
  [mlir][transform] Emit error message with `emitSilenceableFailure` (#86146)

The previous implementation used a `notifyMatchFailure` to emit failure
message inappropriately and then used the
`emitDefaultSilenceableFailure`. This patch changes this to use the more
appropriate `emitSilenceableFailure` with error message. Additionally a
failure test has been added.


  Commit: cd8286a667d568c4319b09baa63ba899e3101a19
      https://github.com/llvm/llvm-project/commit/cd8286a667d568c4319b09baa63ba899e3101a19
  Author: Danny Mösch <danny.moesch at icloud.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub] Allow shortcut for "introductory issue" and request linking to issue in PR (#84635)

The answer to many requests in issues to be assigned to users is often
"just create a pull request". That's in contradiction to the
"introductory issue" instructions posted by the GitHub bot.

This change updates the instructions, mentioning the shortcut of "just
creating a PR". Moreover, it now explains linking PRs to issues in order
to close them automatically upon merge.


  Commit: fb329f18445cb33d242cc500ca618d03674b22ad
      https://github.com/llvm/llvm-project/commit/fb329f18445cb33d242cc500ca618d03674b22ad
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/MC/MCRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp

  Log Message:
  -----------
  [Target] Move SubRegIdxRanges from MCSubtargetInfo to TargetInfo. (#86245)

I'm planning to add HwMode support to SubRegIdxRanges for RISC-V GPR
pairs. The MC layer is currently unaware of the HwMode for registers and
I'd like to keep it that way.

This information is not used by the MC layer so I think it is safe to
move it.


  Commit: b1575f9082071702bd6aaa2600ce9fe011a091e9
      https://github.com/llvm/llvm-project/commit/b1575f9082071702bd6aaa2600ce9fe011a091e9
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp

  Log Message:
  -----------
  Missed a null-ptr check in previous PR for Debuginfod testing (#86292)

@GeorgeHuyubo noticed an unchecked shared pointer result in
https://github.com/llvm/llvm-project/pull/85693/. This is the fix for
that issue.

Co-authored-by: Kevin Frei <freik at meta.com>


  Commit: 721f149596f27f3d4c5c28ec2a2fac33340fb876
      https://github.com/llvm/llvm-project/commit/721f149596f27f3d4c5c28ec2a2fac33340fb876
  Author: Job Henandez Lara <hj93 at protonmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libc/src/math/docs/add_math_function.md

  Log Message:
  -----------
  Fix typo (#86319)

Im working on the floating point fmaximum and fminimum functions right
now in a different pr and I ran the individual tests by doing

```
ninja libc.test.src.math.smoke.<func>_test.__unit__
```


  Commit: 83e96977cdb6041196366fc01e8abdca52cadb2e
      https://github.com/llvm/llvm-project/commit/83e96977cdb6041196366fc01e8abdca52cadb2e
  Author: Vinayak Dev <104419489+vinayakdsci at users.noreply.github.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/spec/stdc.td
    M libc/src/stdlib/CMakeLists.txt
    A libc/src/stdlib/strfromd.cpp
    A libc/src/stdlib/strfromd.h
    M libc/src/stdlib/strfromf.h
    A libc/src/stdlib/strfroml.cpp
    A libc/src/stdlib/strfroml.h
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/StrfromTest.h
    A libc/test/src/stdlib/strfromd_test.cpp
    M libc/test/src/stdlib/strfromf_test.cpp
    A libc/test/src/stdlib/strfroml_test.cpp

  Log Message:
  -----------
  [libc] Implement strfromd() and strfroml() (#86113)

Follow up to #85438.

Implements the functions `strfromd()` and `strfroml()` introduced in
C23, and unifies the testing framework for `strfrom*()` functions.


  Commit: e64e15ee597370a9731fcba0b2b8a514f26125e7
      https://github.com/llvm/llvm-project/commit/e64e15ee597370a9731fcba0b2b8a514f26125e7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td

  Log Message:
  -----------
  [RISCV] Move the RISCVSchedule.td include after RISCVRegisterInfo.td. NFC

Registers shouldn't depend on the scheduler, but a scheduler
predicate could depend on a register.

This would make it possible to move VLDSX0Pred out of the SiFive7
scheduler model to RISCVSchedule.td if another model needed it.


  Commit: 2120f574103c487787390263b3692c4b167f6bdf
      https://github.com/llvm/llvm-project/commit/2120f574103c487787390263b3692c4b167f6bdf
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A .github/workflows/issue-write.yml
    M .github/workflows/pr-code-format.yml
    M llvm/utils/git/code-format-helper.py

  Log Message:
  -----------
  Reapply [workflows] Split pr-code-format into two parts to make it more secure (#78215) (#80495)

Actions triggered by pull_request_target events have access to all
repository secrets, so it is unsafe to use them when executing untrusted
code. The pr-code-format workflow does not execute any untrusted code,
but it passes untrused input into clang-format. An attacker could use
this to exploit a flaw in clang-format and potentially gain access to
the repository secrets.
    
By splitting the workflow, we can use the pull_request target which is
more secure and isolate the issue write permissions in a separate job.
The pull_request target also makes it easier to test changes to the
code-format-helepr.py script, because the version of the script from the
pull request will be used rather than the version of the script from
main.
    
Fixes #77142


  Commit: 80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
      https://github.com/llvm/llvm-project/commit/80fc61270d6cae8d1bfbd9211727fe1d22fc0cd5
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M utils/bazel/.bazelrc
    M utils/bazel/.bazelversion

  Log Message:
  -----------
  Revert "[bazel] Update to 7.x (#86297)" (#86325)

Reverting for
https://github.com/llvm/llvm-project/pull/86297#issuecomment-2015660662

This reverts commit ab8ace3bfd5165a8532f710f9c2d8dd40c3fac39.


  Commit: 50e6218132d6d9cfc2645fa19cf72d0437a62d95
      https://github.com/llvm/llvm-project/commit/50e6218132d6d9cfc2645fa19cf72d0437a62d95
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
    M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp

  Log Message:
  -----------
  Reland "[llvm-exegesis] Add thread IDs to subprocess memory names (#84451)"

This reverts commit 1fe9c417a0bf143f9bb9f9e1fbf7b20f44196883.

This relands commit 6bbe8a296ee91754d423c59c35727eaa624f7140.

This was causing build failures on one of the ARMv8 builders. Still not
completely sure why, but relanding it to see if the failure pops up
again. If it does, the plan is to fix forward by disabling tests on ARM
temporarily as llvm-exegesis does not currently use SubprocessMemory
on ARM.


  Commit: 4b907414d2c0445ac1ae11811aaa4aaa2e060cf9
      https://github.com/llvm/llvm-project/commit/4b907414d2c0445ac1ae11811aaa4aaa2e060cf9
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    A llvm/test/CodeGen/SystemZ/readcyclecounter.ll

  Log Message:
  -----------
  [SystemZ] Add support for llvm.readcyclecounter

The llvm.readcyclecounter intrinsic can be implemented via the
STORE CLOCK FAST (STCKF) instruction.


  Commit: ee9fa38554f8427f5361708b28551e70ff0e1256
      https://github.com/llvm/llvm-project/commit/ee9fa38554f8427f5361708b28551e70ff0e1256
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

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

  Log Message:
  -----------
  [libc] fix missing macro dependency in bazel (#86298)

![image](https://github.com/llvm/llvm-project/assets/20108837/94cb5718-3526-4bae-8a79-f5b1d19b352d)


  Commit: d394f3a162b871668d0c8e8bf6a94922fa8698ae
      https://github.com/llvm/llvm-project/commit/d394f3a162b871668d0c8e8bf6a94922fa8698ae
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_affinity.h
    M openmp/runtime/src/kmp_os.h
    M openmp/runtime/src/z_Linux_util.cpp
    M openmp/runtime/test/lit.cfg

  Log Message:
  -----------
  [OpenMP][AIX] Affinity implementation for AIX (#84984)

This patch implements `affinity` for AIX, which is quite different from
platforms such as Linux.
- Setting CPU affinity through masks and related functions are not
supported. System call `bindprocessor()` is used to bind a thread to one
CPU per call.
- There are no system routines to get the affinity info of a thread. The
implementation of `get_system_affinity()` for AIX gets the mask of all
available CPUs, to be used as the full mask only.
- Topology is not available from the file system. It is obtained through
system SRAD (Scheduler Resource Allocation Domain).

This patch has run through the libomp LIT tests successfully with
`affinity` enabled.


  Commit: dfe4ca9b7f4a422500d78280dc5eefd1979939e6
      https://github.com/llvm/llvm-project/commit/dfe4ca9b7f4a422500d78280dc5eefd1979939e6
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/riscv-tlsdesc-relax.s
    M lld/test/ELF/riscv-tlsdesc.s
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp

  Log Message:
  -----------
  [RISCV][lld] Set the type of TLSDESC relocation's referenced local symbol to STT_NOTYPE

When adding fixups for RISCV_TLSDESC_ADD_LO and RISCV_TLSDESC_LOAD_LO,
the local label added for RISCV TLSDESC relocations have STT_TLS set,
which is incorrect. Instead, these labels should have `STT_NOTYPE`.

This patch stops adding such fixups and avoid setting the STT_TLS on
these symbols. Failing to do so can cause LLD to emit an error `has an
STT_TLS symbol but doesn't have an SHF_TLS section`. We additionally,
adjust how LLD services these relocations to avoid errors with
incompatible relocation and symbol types.

Reviewers: topperc, MaskRay

Reviewed By: MaskRay

Pull Request: https://github.com/llvm/llvm-project/pull/85817


  Commit: e9639e9c0636d9e2b9591c2cdac5cac75e363e77
      https://github.com/llvm/llvm-project/commit/e9639e9c0636d9e2b9591c2cdac5cac75e363e77
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp

  Log Message:
  -----------
  [flang][NFC] Extract FIROpConversion to its own files (#86213)

This PR extracts `FIROpConversion` and `FIROpAndTypeConversion`
templated base patterns to a header file. All the functions from
FIROpConversion that do not require the template argument are moved to a
base class named `ConvertFIRToLLVMPattern`.
This move is done so the `FIROpConversion` pattern and all its utility
functions can be reused outside of the codegen pass.

For the most part the code is only moved to the new files and not
modified. The only update is that addition of the PatternBenefit
argument with a default value to the constructor so it can be forwarded
to the `ConversionPattern` ctor.

This split is done in a similar way for the `ConvertOpToLLVMPattern`
base pattern that is based on the `ConvertToLLVMPattern` base class in
`mlir/include/mlir/Conversion/LLVMCommon/Pattern.h`.


  Commit: f0543e1019eb74ecaa4318278b4acc274e5e1a99
      https://github.com/llvm/llvm-project/commit/f0543e1019eb74ecaa4318278b4acc274e5e1a99
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-22 (Fri, 22 Mar 2024)

  Changed paths:
    M .github/CODEOWNERS
    A .github/workflows/issue-write.yml
    M .github/workflows/pr-code-format.yml
    M bolt/docs/BAT.md
    M bolt/include/bolt/Core/MCPlus.h
    M bolt/include/bolt/Core/MCPlusBuilder.h
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Profile/DataAggregator.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/MCPlusBuilder.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCPlusBuilder.cpp
    M bolt/lib/Utils/CommandLineOpts.cpp
    A bolt/test/X86/Inputs/blarge_new.preagg.txt
    A bolt/test/X86/Inputs/blarge_new.yaml
    A bolt/test/X86/Inputs/blarge_new_bat.preagg.txt
    A bolt/test/X86/bolt-address-translation-yaml.test
    M bolt/test/X86/bolt-address-translation.test
    A bolt/test/X86/linux-static-keys.s
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAMDGPU.def
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticInstallAPIKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/LangStandard.h
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Format/Format.h
    M clang/include/clang/InstallAPI/DylibVerifier.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
    M clang/lib/Basic/LangStandards.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Format/WhitespaceManager.h
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/FrontendActions.cpp
    M clang/lib/Frontend/FrontendOptions.cpp
    M clang/lib/Headers/mmintrin.h
    M clang/lib/Headers/smmintrin.h
    M clang/lib/Headers/xmmintrin.h
    M clang/lib/InstallAPI/DylibVerifier.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaType.cpp
    M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
    M clang/lib/StaticAnalyzer/Core/CallEvent.cpp
    M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp
    M clang/lib/StaticAnalyzer/Core/MemRegion.cpp
    M clang/lib/StaticAnalyzer/Core/ProgramState.cpp
    A clang/test/Analysis/cxx23-static-operator.cpp
    A clang/test/Analysis/getline-unixapi.c
    M clang/test/Analysis/inlining/false-positive-suppression.cpp
    M clang/test/Analysis/stream.c
    A clang/test/C/C11/n1282.c
    A clang/test/C/C11/n1365.c
    M clang/test/C/drs/dr0xx.c
    A clang/test/C/drs/dr290.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/ubsan-builtin-checks.c
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx11-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w32-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-gfx12-w64-err.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w32.cl
    M clang/test/CodeGenOpenCL/builtins-amdgcn-global-load-tr-w64.cl
    A clang/test/Driver/riscv-profiles.c
    M clang/test/Driver/unsupported-option-gpu.c
    M clang/test/InstallAPI/diagnostics-cpp.test
    A clang/test/InstallAPI/linker-symbols.test
    A clang/test/InstallAPI/mismatching-objc-class-symbols.test
    A clang/test/InstallAPI/symbol-flags.test
    R clang/test/Sema/builtin-popcountg.c
    A clang/test/Sema/count-builtins.c
    M clang/test/Sema/warn-cast-function-type-strict.c
    M clang/test/SemaCXX/warn-cast-function-type-strict.cpp
    A clang/test/SemaObjC/attr-objc-NSObject.m
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/MemRegionDescriptiveNameTest.cpp
    M clang/www/c_dr_status.html
    M clang/www/c_status.html
    M compiler-rt/cmake/Modules/CompilerRTCompile.cmake
    M compiler-rt/lib/asan/tests/asan_noinst_test.cpp
    M compiler-rt/lib/msan/tests/CMakeLists.txt
    M compiler-rt/lib/sanitizer_common/sanitizer_stacktrace_printer.h
    M compiler-rt/lib/tsan/tests/CMakeLists.txt
    M flang/include/flang/Common/Version.h
    M flang/include/flang/Frontend/CodeGenOptions.h
    M flang/include/flang/Frontend/LangOptions.h
    M flang/include/flang/Lower/ConvertVariable.h
    A flang/include/flang/Optimizer/CodeGen/FIROpPatterns.h
    M flang/include/flang/Optimizer/CodeGen/TypeConverter.h
    M flang/include/flang/Semantics/tools.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.h
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/PFTBuilder.cpp
    M flang/lib/Optimizer/CodeGen/CMakeLists.txt
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    A flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Semantics/tools.cpp
    M flang/runtime/CMakeLists.txt
    A flang/runtime/external-unit.cpp
    M flang/runtime/io-stmt.cpp
    M flang/runtime/lock.h
    A flang/runtime/pseudo-unit.cpp
    M flang/runtime/tools.h
    M flang/runtime/unit.cpp
    M flang/runtime/unit.h
    M flang/test/Lower/HLFIR/cray-pointers.f90
    A flang/test/Lower/HLFIR/procedure-pointer-component-structure-constructor.f90
    M flang/test/Lower/cray-pointer.f90
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdio.rst
    M libc/include/arpa/inet.h.def
    M libc/include/assert.h.def
    M libc/include/ctype.h.def
    M libc/include/dirent.h.def
    M libc/include/errno.h.def
    M libc/include/fcntl.h.def
    M libc/include/features.h.def
    M libc/include/fenv.h.def
    M libc/include/float.h.def
    M libc/include/gpu/rpc.h.def
    M libc/include/inttypes.h.def
    M libc/include/limits.h.def
    M libc/include/llvm-libc-macros/containerof-macro.h
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/include/llvm-libc-macros/sys-queue-macros.h
    M libc/include/llvm-libc-types/__mutex_type.h
    M libc/include/llvm-libc-types/cookie_io_functions_t.h
    M libc/include/llvm-libc-types/fd_set.h
    M libc/include/llvm-libc-types/mtx_t.h
    M libc/include/llvm-libc-types/once_flag.h
    M libc/include/llvm-libc-types/pthread_attr_t.h
    M libc/include/llvm-libc-types/pthread_mutex_t.h
    M libc/include/llvm-libc-types/pthread_once_t.h
    M libc/include/llvm-libc-types/pthread_t.h
    M libc/include/llvm-libc-types/siginfo_t.h
    M libc/include/llvm-libc-types/sigset_t.h
    M libc/include/llvm-libc-types/stack_t.h
    M libc/include/llvm-libc-types/struct_dirent.h
    M libc/include/llvm-libc-types/struct_epoll_event.h
    M libc/include/llvm-libc-types/struct_rlimit.h
    M libc/include/llvm-libc-types/struct_rusage.h
    M libc/include/llvm-libc-types/struct_sched_param.h
    M libc/include/llvm-libc-types/struct_sigaction.h
    M libc/include/llvm-libc-types/struct_sockaddr.h
    M libc/include/llvm-libc-types/struct_sockaddr_un.h
    M libc/include/llvm-libc-types/struct_stat.h
    M libc/include/llvm-libc-types/struct_termios.h
    M libc/include/llvm-libc-types/struct_timespec.h
    M libc/include/llvm-libc-types/struct_timeval.h
    M libc/include/llvm-libc-types/thrd_t.h
    M libc/include/math.h.def
    M libc/include/pthread.h.def
    M libc/include/sched.h.def
    M libc/include/search.h.def
    M libc/include/setjmp.h.def
    M libc/include/signal.h.def
    M libc/include/spawn.h.def
    M libc/include/stdbit.h.def
    M libc/include/stdckdint.h.def
    M libc/include/stdfix.h.def
    M libc/include/stdint.h.def
    M libc/include/stdio.h.def
    M libc/include/stdlib.h.def
    M libc/include/string.h.def
    M libc/include/strings.h.def
    M libc/include/sys/auxv.h.def
    M libc/include/sys/epoll.h.def
    M libc/include/sys/ioctl.h.def
    M libc/include/sys/mman.h.def
    M libc/include/sys/prctl.h.def
    M libc/include/sys/queue.h
    M libc/include/sys/random.h.def
    M libc/include/sys/resource.h.def
    M libc/include/sys/select.h.def
    M libc/include/sys/sendfile.h.def
    M libc/include/sys/socket.h.def
    M libc/include/sys/stat.h.def
    M libc/include/sys/time.h.def
    M libc/include/sys/types.h.def
    M libc/include/sys/utsname.h.def
    M libc/include/sys/wait.h.def
    M libc/include/termios.h.def
    M libc/include/threads.h.def
    M libc/include/time.h.def
    M libc/include/uchar.h.def
    M libc/include/unistd.h.def
    M libc/include/wchar.h.def
    M libc/spec/stdc.td
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/iterator.h
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/CPP/type_traits/is_constant_evaluated.h
    M libc/src/math/docs/add_math_function.md
    M libc/src/stdio/CMakeLists.txt
    M libc/src/stdio/linux/CMakeLists.txt
    A libc/src/stdio/linux/rename.cpp
    A libc/src/stdio/rename.h
    M libc/src/stdlib/CMakeLists.txt
    M libc/src/stdlib/atexit.cpp
    M libc/src/stdlib/exit.cpp
    A libc/src/stdlib/strfromd.cpp
    A libc/src/stdlib/strfromd.h
    M libc/src/stdlib/strfromf.h
    A libc/src/stdlib/strfroml.cpp
    A libc/src/stdlib/strfroml.h
    M libc/test/src/stdio/CMakeLists.txt
    A libc/test/src/stdio/rename_test.cpp
    M libc/test/src/stdlib/CMakeLists.txt
    A libc/test/src/stdlib/StrfromTest.h
    A libc/test/src/stdlib/strfromd_test.cpp
    M libc/test/src/stdlib/strfromf_test.cpp
    A libc/test/src/stdlib/strfroml_test.cpp
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/__config
    M libcxx/include/__memory/allocator.h
    M libcxx/include/tuple
    M libcxx/modules/CMakeLists.txt
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.cxx2a.pass.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/address.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.cxx2a.verify.cpp
    M libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/allocate.depr_in_cxx17.verify.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/construct.cxx2a.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx20.verify.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator.members/max_size.cxx2a.pass.cpp
    A libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx20.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/allocator_types.cxx2a.pass.cpp
    R libcxx/test/libcxx/depr/depr.default.allocator/enable_removed_allocator_members.deprecated.verify.cpp
    R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_allocator_void_no_members.verify.cpp
    R libcxx/test/libcxx/utilities/memory/default.allocator/allocator_types.void.cxx20_with_removed_members.compile.pass.cpp
    M libcxx/test/std/containers/sequences/deque/types.pass.cpp
    M libcxx/test/std/containers/sequences/list/types.pass.cpp
    M libcxx/test/std/containers/sequences/vector/types.pass.cpp
    M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.apply/make_from_tuple.pass.cpp
    M lld/ELF/Relocations.cpp
    M lld/MachO/Driver.cpp
    M lld/MachO/InputSection.cpp
    M lld/MachO/InputSection.h
    M lld/MachO/ObjC.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/test/ELF/riscv-tlsdesc-relax.s
    M lld/test/ELF/riscv-tlsdesc.s
    M lldb/include/lldb/Core/Disassembler.h
    M lldb/include/lldb/Core/Progress.h
    M lldb/include/lldb/Symbol/LineEntry.h
    M lldb/include/lldb/Utility/SupportFile.h
    M lldb/packages/Python/lldbsuite/test/make/Makefile.rules
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Breakpoint/BreakpointResolver.cpp
    M lldb/source/Breakpoint/BreakpointResolverFileLine.cpp
    M lldb/source/Commands/CommandObjectBreakpoint.cpp
    M lldb/source/Commands/CommandObjectSource.cpp
    M lldb/source/Commands/CommandObjectThread.cpp
    M lldb/source/Core/Address.cpp
    M lldb/source/Core/Disassembler.cpp
    M lldb/source/Core/FormatEntity.cpp
    M lldb/source/Core/IOHandlerCursesGUI.cpp
    M lldb/source/Core/SourceManager.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionSourceCode.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp
    M lldb/source/Plugins/SymbolLocator/CMakeLists.txt
    M lldb/source/Plugins/SymbolVendor/ELF/SymbolVendorELF.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/CompileUnit.cpp
    M lldb/source/Symbol/Function.cpp
    M lldb/source/Symbol/LineEntry.cpp
    M lldb/source/Symbol/LineTable.cpp
    M lldb/source/Symbol/SymbolContext.cpp
    M lldb/source/Target/StackFrame.cpp
    M lldb/source/Target/StackFrameList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Target/TraceDumper.cpp
    A lldb/test/API/debuginfod/Normal/Makefile
    A lldb/test/API/debuginfod/Normal/TestDebuginfod.py
    A lldb/test/API/debuginfod/Normal/main.c
    A lldb/test/API/debuginfod/SplitDWARF/Makefile
    A lldb/test/API/debuginfod/SplitDWARF/TestDebuginfodDWP.py
    A lldb/test/API/debuginfod/SplitDWARF/main.c
    M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
    M llvm/docs/DirectX/DXILArchitecture.rst
    M llvm/include/llvm/CodeGen/TargetRegisterInfo.h
    M llvm/include/llvm/IR/IntrinsicsAMDGPU.td
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/include/llvm/Passes/PassBuilder.h
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetRegisterInfo.cpp
    M llvm/lib/IR/ConstantRange.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/MC/MCDwarf.cpp
    M llvm/lib/MC/MCRegisterInfo.cpp
    M llvm/lib/MC/WinCOFFObjectWriter.cpp
    M llvm/lib/Object/ELF.cpp
    M llvm/lib/Object/OffloadBinary.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/ProfileData/RawMemProfReader.cpp
    M llvm/lib/Support/RISCVISAInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.h
    M llvm/lib/Target/AMDGPU/AMDGPUAtomicOptimizer.cpp
    A llvm/lib/Target/AMDGPU/AMDGPUPassRegistry.def
    M llvm/lib/Target/AMDGPU/AMDGPUSearchableTables.td
    M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.cpp
    R llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCKernelDescriptor.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMatInt.h
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.td
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.h
    M llvm/lib/Target/SystemZ/SystemZInstrSystem.td
    M llvm/lib/Target/SystemZ/SystemZOperators.td
    M llvm/lib/Target/X86/X86DomainReassignment.cpp
    M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineVectorOps.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/Float2Int.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/CodeGen/AArch64/clear-dead-implicit-def-impdef.mir
    M llvm/test/CodeGen/AArch64/implicit-def-remat-requires-impdef-check.mir
    M llvm/test/CodeGen/AArch64/implicit-def-with-impdef-greedy-assert.mir
    M llvm/test/CodeGen/AArch64/insert-subvector.ll
    A llvm/test/CodeGen/AArch64/misched-bundle.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/fold-restore-undef-use.mir
    M llvm/test/CodeGen/AMDGPU/fp64-atomics-gfx90a.ll
    M llvm/test/CodeGen/AMDGPU/global_atomic_optimizer_fp_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_iterative_scan_fp.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_optimizer_fp_no_rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/greedy-alloc-fail-sgpr1024-spill.mir
    M llvm/test/CodeGen/AMDGPU/ran-out-of-sgprs-allocation-failure.mir
    M llvm/test/CodeGen/AMDGPU/sched-crash-dbg-value.mir
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-wrong-stack-id.mir
    M llvm/test/CodeGen/AMDGPU/snippet-copy-bundle-regression.mir
    M llvm/test/CodeGen/AMDGPU/virtregrewrite-undef-identity-copy.mir
    M llvm/test/CodeGen/ARM/no-register-coalescing-in-returnsTwice.mir
    A llvm/test/CodeGen/DirectX/abs-vec.ll
    A llvm/test/CodeGen/DirectX/abs.ll
    A llvm/test/CodeGen/DirectX/cos.ll
    A llvm/test/CodeGen/DirectX/cos_error.ll
    A llvm/test/CodeGen/DirectX/fabs.ll
    A llvm/test/CodeGen/DirectX/floor.ll
    A llvm/test/CodeGen/DirectX/floor_error.ll
    M llvm/test/CodeGen/Hexagon/regalloc-bad-undef.mir
    A llvm/test/CodeGen/PowerPC/aix-xcoff-funcsect-explicitsect.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/inline-asm-d-constraint-f.ll
    M llvm/test/CodeGen/RISCV/rvv/active_lane_mask.ll
    M llvm/test/CodeGen/RISCV/rvv/calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/combine-store-extract-crash.ll
    M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitcast.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-concat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-strided-load-combine.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/mgather-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/pr63596.ll
    M llvm/test/CodeGen/RISCV/rvv/vscale-vw-web-simplification.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwmul-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/vwsub-sdnode.ll
    M llvm/test/CodeGen/RISCV/spill-fill-fold.ll
    A llvm/test/CodeGen/RISCV/zdinx-large-spill.mir
    M llvm/test/CodeGen/SystemZ/RAbasic-invalid-LR-update.mir
    M llvm/test/CodeGen/SystemZ/clear-liverange-spillreg.mir
    M llvm/test/CodeGen/SystemZ/int-cmp-56.mir
    A llvm/test/CodeGen/SystemZ/readcyclecounter.ll
    M llvm/test/CodeGen/SystemZ/regcoal-subranges-update.mir
    M llvm/test/CodeGen/X86/addcarry.ll
    M llvm/test/CodeGen/X86/apx/domain-reassignment.mir
    M llvm/test/CodeGen/X86/callbr-asm-kill.mir
    M llvm/test/CodeGen/X86/late-remat-update.mir
    M llvm/test/CodeGen/X86/limit-split-cost.mir
    M llvm/test/CodeGen/X86/oddshuffles.ll
    M llvm/test/CodeGen/X86/regalloc-copy-hints.mir
    M llvm/test/CodeGen/X86/statepoint-fastregalloc.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-enter-at-end.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-hoist-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-inline-spiller.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra-remove-back-copies.mir
    M llvm/test/CodeGen/X86/statepoint-invoke-ra.mir
    M llvm/test/CodeGen/X86/statepoint-vreg-folding.mir
    M llvm/test/CodeGen/X86/vector-half-conversions.ll
    M llvm/test/CodeGen/X86/vector-shuffle-512-v16.ll
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-folding-tieddef.mir
    M llvm/test/DebugInfo/MIR/InstrRef/memory-operand-load-folding.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalesce-subreg.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-coalescing.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-on-stack-coalesced2.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-regallocd-to-stack.mir
    M llvm/test/DebugInfo/MIR/InstrRef/phi-through-regalloc.mir
    M llvm/test/DebugInfo/MIR/InstrRef/stack-coloring-dbg-phi.mir
    M llvm/test/DebugInfo/MIR/InstrRef/survives-livedebugvars.mir
    M llvm/test/DebugInfo/MIR/Mips/livedebugvars-stop-trimming-loc.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg-debugonly.mir
    M llvm/test/DebugInfo/MIR/X86/live-debug-vars-unused-arg.mir
    M llvm/test/DebugInfo/MIR/X86/livedebugvars-crossbb-interval.mir
    M llvm/test/DebugInfo/X86/live-debug-vars-intervals.mir
    M llvm/test/MC/AArch64/coff-relocations.s
    R llvm/test/MC/AMDGPU/hsa-amdgpu-exprs.s
    R llvm/test/MC/AMDGPU/hsa-sym-expr-failure.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx10.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx11.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx12.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx7.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx8.s
    R llvm/test/MC/AMDGPU/hsa-sym-exprs-gfx90a.s
    R llvm/test/MC/AMDGPU/hsa-tg-split.s
    A llvm/test/MC/COFF/dwarf5lineinfo.s
    A llvm/test/MachineVerifier/test_adjustsstack.mir
    A llvm/test/Transforms/Float2Int/pr79158.ll
    M llvm/test/Transforms/InstCombine/add.ll
    M llvm/test/Transforms/InstCombine/div.ll
    M llvm/test/Transforms/InstCombine/sadd-with-overflow.ll
    M llvm/test/Transforms/InstCombine/shift-add.ll
    M llvm/test/Transforms/InstCombine/shuffle_select-inseltpoison.ll
    M llvm/test/Transforms/InstCombine/shuffle_select.ll
    M llvm/test/Transforms/InstCombine/uadd-with-overflow.ll
    M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/small-tree-not-schedulable-bv-node.ll
    A llvm/test/Transforms/SLPVectorizer/X86/call-arg-reduced-by-minbitwidth.ll
    M llvm/tools/CMakeLists.txt
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
    M llvm/tools/llvm-lto/llvm-lto.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/unittests/CodeGen/MFCommon.inc
    M llvm/unittests/IR/ConstantRangeTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
    M llvm/utils/TableGen/InfoByHwMode.cpp
    M llvm/utils/TableGen/InfoByHwMode.h
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/git/code-format-helper.py
    M llvm/utils/git/github-automation.py
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/AMDGPU/MCTargetDesc/BUILD.gn
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/Transforms/TypeConsistency.h
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorTransforms.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.h
    M mlir/include/mlir/Tools/mlir-opt/MlirOptMain.h
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Conversion/MemRefToSPIRV/MemRefToSPIRV.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
    M mlir/lib/Dialect/Arith/Transforms/ExpandOps.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/LLVMIR/Transforms/TypeConsistency.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Tiling.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
    M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorTransfer.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    A mlir/test/Conversion/ArithToEmitC/arith-to-emitc-failed.mlir
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Conversion/GPUToSPIRV/load-store.mlir
    M mlir/test/Conversion/MemRefToSPIRV/bitwidth-emulation.mlir
    M mlir/test/Conversion/MemRefToSPIRV/memref-to-spirv.mlir
    M mlir/test/Conversion/SCFToSPIRV/for.mlir
    M mlir/test/Conversion/TensorToSPIRV/tensor-ops-to-spirv.mlir
    M mlir/test/Conversion/VectorToSPIRV/vector-to-spirv.mlir
    M mlir/test/Dialect/Arith/expand-ops.mlir
    M mlir/test/Dialect/LLVMIR/sroa.mlir
    M mlir/test/Dialect/LLVMIR/type-consistency.mlir
    A mlir/test/Dialect/Linalg/flatten-unsupported.mlir
    M mlir/test/Dialect/Linalg/tile-to-forall.mlir
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
    M mlir/test/Dialect/Vector/vector-transfer-permutation-lowering.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/1d-depthwise-conv.mlir
    M mlir/test/Integration/Dialect/Standard/CPU/test-ceil-floor-pos-neg.mlir
    M mlir/test/Target/LLVMIR/omptarget-fortran-allocatable-types-host.mlir
    M mlir/test/Target/LLVMIR/omptarget-llvm.mlir
    M mlir/test/Transforms/canonicalize.mlir
    M mlir/test/mlir-opt/split-markers.mlir
    M mlir/test/mlir-pdll/split-markers.pdll
    A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-2.f90
    A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    A openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-scalar.f90
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_affinity.h
    M openmp/runtime/src/kmp_os.h
    M openmp/runtime/src/z_Linux_util.cpp
    M openmp/runtime/test/lit.cfg
    M utils/bazel/.bazelrc
    M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang-tools-extra/clang-tidy/defs.bzl
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel

  Log Message:
  -----------
  Rebase, address comments

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/7783e6103d16...f0543e1019eb

To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications


More information about the All-commits mailing list