[all-commits] [llvm/llvm-project] c4c9d4: [M68k] Add support for MOVEQ instruction (#88542)

Krzysztof Parzyszek via All-commits all-commits at lists.llvm.org
Sun Apr 28 06:44:39 PDT 2024


  Branch: refs/heads/users/kparzysz/leaforself-unit
  Home:   https://github.com/llvm/llvm-project
  Commit: c4c9d4f306732c854fa88d2f30c1a22bb025d0c9
      https://github.com/llvm/llvm-project/commit/c4c9d4f306732c854fa88d2f30c1a22bb025d0c9
  Author: Peter Lafreniere <peter at n8pjl.ca>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h
    M llvm/test/CodeGen/M68k/Arith/add-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/add.ll
    M llvm/test/CodeGen/M68k/Arith/bitwise.ll
    M llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
    M llvm/test/CodeGen/M68k/Arith/imul.ll
    M llvm/test/CodeGen/M68k/Arith/smul-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub.ll
    M llvm/test/CodeGen/M68k/Arith/umul-with-overflow.ll
    M llvm/test/CodeGen/M68k/CConv/c-call.ll
    M llvm/test/CodeGen/M68k/CConv/fastcc-call.ll
    M llvm/test/CodeGen/M68k/CodeModel/medium-pie-global-access.ll
    M llvm/test/CodeGen/M68k/CodeModel/small-pie-global-access.ll
    M llvm/test/CodeGen/M68k/Control/cmp.ll
    M llvm/test/CodeGen/M68k/Control/long-setcc.ll
    M llvm/test/CodeGen/M68k/Control/setcc.ll
    M llvm/test/CodeGen/M68k/PR57660.ll
    M llvm/test/CodeGen/M68k/gcc_except_table.ll
    M llvm/test/CodeGen/M68k/link-unlnk.ll
    M llvm/test/MC/Disassembler/M68k/data.txt
    M llvm/test/MC/M68k/Data/Classes/MxMove_RI.s

  Log Message:
  -----------
  [M68k] Add support for MOVEQ instruction (#88542)

Add support for the moveq instruction, which is both faster and smaller
(1/2 to 1/3 the size) than a move with immediate to register.

This change introduces the instruction, along with a set of
pseudoinstructions to handle immediate moves to a register that is
lowered post-RA.

Pseudos are used as moveq can only write to the full register, which
makes
matching i8 and i16 immediate loads difficult in tablegen. Furthermore,
selecting moveq before RA constrains that immediate to be moved into a
data
register, which may not be optimal.

The bulk of this change are fixes to existing tests, which cover the new
functionality sufficiently.


  Commit: 7696d36b4ed595bf9681fd379d1dcbaf30c1ef0a
      https://github.com/llvm/llvm-project/commit/7696d36b4ed595bf9681fd379d1dcbaf30c1ef0a
  Author: Carlos Alberto Enciso <Carlos.Enciso at sony.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-debug.ll

  Log Message:
  -----------
  [Transforms] Debug values are not remapped when cloning. (#87747)

When cloning instructions from one basic block to another,
the debug values are not remapped, in the same was as the
normal instructions.


  Commit: c379a5b69e7e1917589a1d0b6993d74e6697490e
      https://github.com/llvm/llvm-project/commit/c379a5b69e7e1917589a1d0b6993d74e6697490e
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Future-proof reference to ISA manual in RISCVInstrInfoC.td

The reference to a particular page number is long since out of date.
Instead, let's name the section title which at least has remained stable
so far.


  Commit: 55d85c84ac01fda633c82e7ba821f6e62352a5c3
      https://github.com/llvm/llvm-project/commit/55d85c84ac01fda633c82e7ba821f6e62352a5c3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/combine-or.ll
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll

  Log Message:
  -----------
  [DAG] visitORCommutative - fold build_pair(not(x),not(y)) -> not(build_pair(x,y)) style patterns (#90050)

(Sorry, not an actual build_pair node just a similar pattern).

For cases where we're concatenating 2 integers into a double width integer, see if both integer sources are NOT patterns.

We could take this further and handle all logic ops with a constant operands, but I just wanted to handle the case reported on #89533 initially.

Fixes #89533


  Commit: bb1a8bbbf06f4cbe66b685b068add5ae63c21697
      https://github.com/llvm/llvm-project/commit/bb1a8bbbf06f4cbe66b685b068add5ae63c21697
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/test/ParserOpenACC/parse-cache-construct.cpp

  Log Message:
  -----------
  [NFC][OpenACC] Remove stale FIXME comment in a test

A recent patch changed the array sections to work differently for
OpenACC, including for the diagnostic, so the FIXME is now irrelevant.


  Commit: 405c018c71fb685425df4fe173e54f5edc5d6979
      https://github.com/llvm/llvm-project/commit/405c018c71fb685425df4fe173e54f5edc5d6979
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  DAG: Simplify demanded bits for truncating atomic_store (#90113)

It's really unfortunate that STORE and ATOMIC_STORE are separate
opcodes. This duplicates a basic simplify demanded for the truncating
case. This avoids some AMDGPU lit regressions in a future patch.

I'm not sure how to craft a test that exposes this without first
introducing the regressions by promoting half to i16.


  Commit: 904b1a850536d273b0e11bd17a7ea642ba3b5bc4
      https://github.com/llvm/llvm-project/commit/904b1a850536d273b0e11bd17a7ea642ba3b5bc4
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M offload/test/unified_shared_memory/api.c
    M offload/test/unified_shared_memory/close_manual.c
    M offload/test/unified_shared_memory/shared_update.c

  Log Message:
  -----------
  [Offload] Remove remaining `__tgt_register_requires` references (#90198)

Summary:
This call was removed a few months ago to allow the runtime to actually
init / deinit in a correct order. However that patch forgot to remove a
few leftover uses.


  Commit: ace3bd0580d47fa044014eedd1e42ab6ab4d1e11
      https://github.com/llvm/llvm-project/commit/ace3bd0580d47fa044014eedd1e42ab6ab4d1e11
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp

  Log Message:
  -----------
  Revert "[TableGen] Ignore inaccessible memory when checking pattern flags (#90061)"

This reverts commit 6578356a4e3e6acd7983c74feab43ac96925894c.

The patch had no effect due to a silly mistake and fixing the mistake
causes other problems.


  Commit: d74e42acd2479eb9f3bd8077fd3be2f3395aa638
      https://github.com/llvm/llvm-project/commit/d74e42acd2479eb9f3bd8077fd3be2f3395aa638
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll

  Log Message:
  -----------
  [SLP]Attempt to vectorize long stores, if short one failed.

We can try to vectorize long store sequences, if short ones were
unsuccessful because of the non-profitable vectorization. It should not
increase compile time significantly (stores are sorted already,
complexity is n x log n), but vectorize extra code.

Metric: size..text

Program                                                                         size..text
                                                                                results     results0    diff
         test-suite :: External/SPEC/CINT2006/400.perlbench/400.perlbench.test  1088012.00  1088236.00  0.0%
                  test-suite :: SingleSource/UnitTests/matrix-types-spec.test   480396.00   480476.00  0.0%
          test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   664613.00   664661.00  0.0%
         test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   664613.00   664661.00  0.0%
        test-suite :: External/SPEC/CFP2017rate/510.parest_r/510.parest_r.test  2041105.00  2040961.00 -0.0%
                 test-suite :: MultiSource/Applications/JM/lencod/lencod.test   836563.00   836387.00 -0.0%
                 test-suite :: MultiSource/Benchmarks/7zip/7zip-benchmark.test  1035100.00  1032140.00 -0.3%

In all benchmarks extra code gets vectorized

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: 450ac01bb9f4ee4f9e05eb6846f256bf2079a436
      https://github.com/llvm/llvm-project/commit/450ac01bb9f4ee4f9e05eb6846f256bf2079a436
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir

  Log Message:
  -----------
  [mlir][MemRef] Add ExtractStridedMetadataOpCollapseShapeFolder (#89954)

This PR adds a new pattern to the set of patterns used to resolve the offset, sizes and
stride of a memref. Similar to `ExtractStridedMetadataOpSubviewFolder`, the new
pattern resolves strided_metadata(collapse_shape) directly, without introduce a
reshape_cast op.


  Commit: 950b7ce0b88318f9099e9a7c9817d224ebdc6337
      https://github.com/llvm/llvm-project/commit/950b7ce0b88318f9099e9a7c9817d224ebdc6337
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Lower/Mangler.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
    M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Tools/PointerModels.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertArrayConstructor.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/CustomIntrinsicCall.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/HlfirIntrinsics.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/VectorSubscripts.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/BoxValue.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/Complex.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Character.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/FortranVariableInterface.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M llvm/include/llvm/ADT/TypeSwitch.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/Location.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/IR/Value.h
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp

  Log Message:
  -----------
  [mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#89998)

See https://mlir.llvm.org/deprecation and
https://discourse.llvm.org/t/preferred-casting-style-going-forward.


  Commit: 1728a56d0e66c9e64a2e62fa6c5508580ccd28a0
      https://github.com/llvm/llvm-project/commit/1728a56d0e66c9e64a2e62fa6c5508580ccd28a0
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    A clang/test/CXX/drs/cwg2149.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add test for CWG2149 "Brace elision and array length deduction" (#90079)

This patch adds test for
[CWG2149](https://cplusplus.github.io/CWG/issues/2149.html), following
[P3106R1](https://wg21.link/p3106R1) "Clarifying rules for brace elision
in aggregate initialization" and a clarification note on top of it added
on April 2024.

I haven't found a better way to check for equality of values inside
array in 98 mode than to dump AST. I'm open to suggestions there.


  Commit: e74be35c1abedf87cfaa141284cb730911211ee1
      https://github.com/llvm/llvm-project/commit/e74be35c1abedf87cfaa141284cb730911211ee1
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__ranges/to.h
    M libcxx/test/std/ranges/range.utility/range.utility.conv/to.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] LWG3984: ranges::to's recursion branch may be ill-formed (#87964)

This pull request implements LWG3984: ranges::to's recursion branch
may be ill-formed.

In the current implementation, ranges::to's recursion branch pipes the
range into a `views::transform(/* lambda */)`, which is a __range_adaptor_closure
object. In libc++, the pipe operator of __range_adaptor_closure requires a
viewable_range, so the following code won't compile, as the type of lvalue
`r` doesn't model viewable_range:

  #include <ranges>
  #include <vector>
  #include <list>

  int main() {
    std::vector<std::vector<int>> v;
    auto r = std::views::all(std::move(v));
    auto l = std::ranges::to<std::list<std::list<int>>>(r);
  }

Co-authored-by: A. Jiang <de34 at live.cn>


  Commit: 2d09ac4037415ab0044ad508aae2ff8b2559a9d8
      https://github.com/llvm/llvm-project/commit/2d09ac4037415ab0044ad508aae2ff8b2559a9d8
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst

  Log Message:
  -----------
  [clang-tidy][NFC] Fix broken link in documentation of cert-env33-c (#90216)

It seems that the description of the SEI CERT rules was moved from
`www.securecoding.cert.org` to `wiki.sei.cmu.edu` and the page IDs were
not preserved during the transition.

However, the old domain name redirects to the new one and permalinks
derived from the name of the rule still work, so I kept using the old
domain name to be consistent with other documentation files using it.


  Commit: 64d514a2e1f1396d54bca0597b1e8b4e580bfd7b
      https://github.com/llvm/llvm-project/commit/64d514a2e1f1396d54bca0597b1e8b4e580bfd7b
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/VCIXOps.td

  Log Message:
  -----------
  [mlir] Fix -Wdeprecated-declarations of cast in VCIXToLLVMIRTranslation.cpp (NFC)

In file included from /llvm-project/mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp:70:
/llvm-project/build-Release/tools/mlir/include/mlir/Dialect/LLVMIR/VCIXConversions.inc:8:48: error: 'cast' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
      VectorType vt = op.getResult().getType().cast<VectorType>();
                                               ^
/llvm-project/mlir/include/mlir/IR/Types.h:345:9: note: 'cast' has been explicitly marked deprecated here
U Type::cast() const {
        ^
In file included from /llvm-project/mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp:70:
/llvm-project/build-Release/tools/mlir/include/mlir/Dialect/LLVMIR/VCIXConversions.inc:8:48: error: 'cast<mlir::VectorType>' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
      VectorType vt = op.getResult().getType().cast<VectorType>();
                                               ^
/llvm-project/mlir/include/mlir/IR/Types.h:112:5: note: 'cast<mlir::VectorType>' has been explicitly marked deprecated here
  [[deprecated("Use mlir::cast<U>() instead")]]
    ^
In file included from /llvm-project/mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp:70:
/llvm-project/build-Release/tools/mlir/include/mlir/Dialect/LLVMIR/VCIXConversions.inc:32:48: error: 'cast' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
      VectorType vt = op.getResult().getType().cast<VectorType>();
                                               ^
/llvm-project/mlir/include/mlir/IR/Types.h:345:9: note: 'cast' has been explicitly marked deprecated here
U Type::cast() const {
        ^
In file included from /llvm-project/mlir/lib/Target/LLVMIR/Dialect/VCIX/VCIXToLLVMIRTranslation.cpp:70:
/llvm-project/build-Release/tools/mlir/include/mlir/Dialect/LLVMIR/VCIXConversions.inc:32:48: error: 'cast<mlir::VectorType>' is deprecated: Use mlir::cast<U>() instead [-Werror,-Wdeprecated-declarations]
      VectorType vt = op.getResult().getType().cast<VectorType>();
                                               ^
/llvm-project/mlir/include/mlir/IR/Types.h:112:5: note: 'cast<mlir::VectorType>' has been explicitly marked deprecated here
  [[deprecated("Use mlir::cast<U>() instead")]]
    ^
4 errors generated.


  Commit: 571831a680faa9615183f855fddf43fd1a9ba192
      https://github.com/llvm/llvm-project/commit/571831a680faa9615183f855fddf43fd1a9ba192
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir

  Log Message:
  -----------
  [mlir] Add sub-byte type emulation support for `memref.collapse_shape` (#89962)

This PR adds support for `memref.collapse_shape` to sub-byte type emulation. The `memref.collapse_shape` becomes a no-opt given that we are flattening the memref as part of the emulation (i.e., we are collapsing all the dimensions).


  Commit: bf67610a8ac07ec143f243f129eecd456aa63383
      https://github.com/llvm/llvm-project/commit/bf67610a8ac07ec143f243f129eecd456aa63383
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lld/test/ELF/mips-eh_frame-pic.s
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/test/CodeGen/RISCV/fixups-diff.ll
    M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
    M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
    M llvm/test/DebugInfo/RISCV/relax-debug-frame.ll
    R llvm/test/DebugInfo/Symbolize/ELF/riscv-empty-name-symbol.s
    A llvm/test/DebugInfo/Symbolize/ELF/riscv-temporary-symbol.s
    M llvm/test/ExecutionEngine/JITLink/RISCV/anonymous_symbol.s
    M llvm/test/MC/ELF/RISCV/gen-dwarf.s
    M llvm/test/MC/RISCV/cfi-advance.s
    M llvm/test/MC/RISCV/fde-reloc.s
    M llvm/test/MC/RISCV/scoped-relaxation.s

  Log Message:
  -----------
  [MC] Rename temporary symbols of empty name to ".L0 " (#89693)

Temporary symbols generated for .eh_frame and .debug_line have an empty
name, which appear in .symtab in the presence of RISC-V style linker
relaxation and will not be discarded by ld/objcopy --discard-locals
(-X).

In contrast, GNU assembler's riscv port assigns a fake name ".L0 " (with
a trailing space) to these symbols so that will be discarded by
ld/objcopy --discard-locals.

This patch matches the GNU behavior. Since Clang's RISC-V targets pass
-X to ld, and GNU ld defaults to -X for RISC-V targets, these ".L0 "
symbols will be discarded after linking by default, as expected by
users.

The llvm-symbolizer special case for RISC-V `SF_FormatSpecific` symbols
https://reviews.llvm.org/D98669 needs to be adjusted.

Note: `"":` in assembly currently crashes.

Note: bolt tests used /usr/bin/clang before
llvmorg-19-init-9532-g59bfc3106874.
The revert llvmorg-19-init-9531-g28b55342e1a8 actually broke
bolt/test/RISCV/fake-label-no-entry.c


  Commit: 0620a637e362d1add1fe506307a25d0353e254f5
      https://github.com/llvm/llvm-project/commit/0620a637e362d1add1fe506307a25d0353e254f5
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/subreg-to-reg-1.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-3.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-6.ll

  Log Message:
  -----------
  [X86] Regenerate subreg-to-reg tests with update_llc_test_checks.py


  Commit: 72c373bfdc9860b3d75e72c219b2c81c90bc4364
      https://github.com/llvm/llvm-project/commit/72c373bfdc9860b3d75e72c219b2c81c90bc4364
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-ms.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-opencl.cpp
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/AST/ast-dump-macro-json.c
    M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
    M clang/test/Lexer/update_consecutive_macro_address_space.c
    A clang/test/Preprocessor/hardware_interference.cpp
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/predefined-win-macros.c
    M libcxx/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp

  Log Message:
  -----------
  [C++17] Support __GCC_[CON|DE]STRUCTIVE_SIZE (#89446)

These macros are used by STL implementations to support implementation
of std::hardware_destructive_interference_size and
std::hardware_constructive_interference_size

Fixes #60174

---------

Co-authored-by: Louis Dionne <ldionne.2 at gmail.com>


  Commit: 37a92f9f60fc2f77264b06c5602a61aaa5196edb
      https://github.com/llvm/llvm-project/commit/37a92f9f60fc2f77264b06c5602a61aaa5196edb
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve2-bsl.ll

  Log Message:
  -----------
  [AArch64][SVE2] SVE2 NBSL instruction lowering. (#89732)

Allow to fold BSL/EOR instuctions to NBSL instruction for scalable
vectors.


  Commit: d6c4ebbf78c67cd298f6ba2da6c06e2362f4d0f4
      https://github.com/llvm/llvm-project/commit/d6c4ebbf78c67cd298f6ba2da6c06e2362f4d0f4
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M libcxx/modules/std/ranges.inc

  Log Message:
  -----------
  [libc++][ranges] Exports operator|. (#90071)

This was omitted in c1086532d4d5 and not detected by the CI since
clang-tidy is not running. This fixes the exports.

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


  Commit: 7683d07d84fa7206e435fca5a2d518a9ee8b5b56
      https://github.com/llvm/llvm-project/commit/7683d07d84fa7206e435fca5a2d518a9ee8b5b56
  Author: Xuan Zhang <144393379+xuanzh-meta at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [NFC] update comments from an earlier version of SuffixTree (#89800)

LeafChildren is used in an earlier version of the SuffixTree
implementation to keep track of each nodes' leaf nodes. In the
new/current version, this variable is no longer used, but a comment is
left behind. This patch updates the comment.


  Commit: 6904e0e8852a587b49a673055997e88855f219ea
      https://github.com/llvm/llvm-project/commit/6904e0e8852a587b49a673055997e88855f219ea
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc

  Log Message:
  -----------
  [scudo] Reflect the allowed values for M_DECAY_TIME on Android (#89114)


  Commit: d2caaabf5d1532d210334d7092c2ad292334f15f
      https://github.com/llvm/llvm-project/commit/d2caaabf5d1532d210334d7092c2ad292334f15f
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp

  Log Message:
  -----------
  [DXIL] Fix build warning (#90226)


  Commit: 690c929b6c68b4cd0ff314a0a88d3b218d46db2d
      https://github.com/llvm/llvm-project/commit/690c929b6c68b4cd0ff314a0a88d3b218d46db2d
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_affinity.h

  Log Message:
  -----------
  [OpenMP][AIX] Use syssmt() to get the number of SMTs per physical CPU (#89985)

This patch changes to use system call `syssmt()` instead of
`lpar_get_info()` to get the number of SMTs (logical processors) per
physical processor for AIX. `lpar_get_info()` gives the max number of
SMTs that the physical processor can support while `syssmt()` returns
the number that is currently configured.


  Commit: 451e853e512ba6fca51f0743ffa24d252f7fc633
      https://github.com/llvm/llvm-project/commit/451e853e512ba6fca51f0743ffa24d252f7fc633
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Flatten the ImpliedExts table in RISCVISAInfo.cpp (#89975)

Previously we had an individiaul global array of implied extensions for
each extension that needed it. This allowed each array to have a
different length. Then we had a sorted table that stored pointers and
size for the indivual arrays keyed by the extension name.

This patch changes the sorted table to use multiple rows if multiple
extensions are implied. We use equal_range instead of lower_bound to
find all the rows that apply to a given extension.

The CombineIntoExts array was also modified to store only the extension
name that need to be combined. This extension name is looked up in the
implied table to find all the extensions it depends on.


  Commit: c49b74a4e6fff813a9ca402fa6494f80f8f0e3d6
      https://github.com/llvm/llvm-project/commit/c49b74a4e6fff813a9ca402fa6494f80f8f0e3d6
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll

  Log Message:
  -----------
  [LV] Add tests showing missed propgation of versiond stride values.

Strides are used through a sext/zext and the known constant value (1)
isn't propagated during codegen.


  Commit: 3aeb28b93fb740f531bc66a33b1b4ce520663582
      https://github.com/llvm/llvm-project/commit/3aeb28b93fb740f531bc66a33b1b4ce520663582
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    A mlir/test/Dialect/SparseTensor/fuse_sparse_convert_into_producer.mlir
    R mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir

  Log Message:
  -----------
  [mlir][sparse] fold sparse convert into producer linalg op. (#89999)


  Commit: 760910ddb918d77e7632be1678f69909384d69ae
      https://github.com/llvm/llvm-project/commit/760910ddb918d77e7632be1678f69909384d69ae
  Author: Eli Friedman <efriedma at quicinc.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll

  Log Message:
  -----------
  [Arm64EC] Improve alignment mangling in arm64ec thunks. (#90115)

In some cases, MSVC's mangling for arm64ec thunks includes the alignment
of a struct. I added some code to try to match... but it never really
worked right. The issues:

- Alignment is only mangled if it's 16 or more (I guess the default is
supposed to be 8).
- Alignment isn't mangled on return values (since the memory is
allocated by the caller).

The current patch leaves hooks to make alignment mangling work... but
doesn't actually ever mangle alignment: clang never actually encodes a
relevant alignment into the IR. Once we get clang to emit the real
size/alignment of structs, we can start emitting it.


  Commit: b27f86b40b20942c0e809128214b43d6edde365a
      https://github.com/llvm/llvm-project/commit/b27f86b40b20942c0e809128214b43d6edde365a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lld/test/ELF/riscv-branch.s
    M lld/test/ELF/riscv-call.s
    M lld/test/ELF/riscv-hi20-lo12.s
    M lld/test/ELF/riscv-jal.s
    M llvm/docs/ReleaseNotes.rst
    M llvm/test/MC/RISCV/XTHeadVdot-valid.s
    M llvm/test/MC/RISCV/align.s
    M llvm/test/MC/RISCV/compress-cjal.s
    M llvm/test/MC/RISCV/compress-rv32d.s
    M llvm/test/MC/RISCV/compress-rv32f.s
    M llvm/test/MC/RISCV/compress-rv32i.s
    M llvm/test/MC/RISCV/compress-rv64i.s
    M llvm/test/MC/RISCV/nop-slide.s
    M llvm/test/MC/RISCV/option-pushpop.s
    M llvm/test/MC/RISCV/option-rvc.s
    M llvm/test/MC/RISCV/rv32e-invalid.s
    M llvm/test/MC/RISCV/rvv/add.s
    M llvm/test/MC/RISCV/rvv/and.s
    M llvm/test/MC/RISCV/rvv/clip.s
    M llvm/test/MC/RISCV/rvv/compare.s
    M llvm/test/MC/RISCV/rvv/convert.s
    M llvm/test/MC/RISCV/rvv/div.s
    M llvm/test/MC/RISCV/rvv/ext.s
    M llvm/test/MC/RISCV/rvv/fadd.s
    M llvm/test/MC/RISCV/rvv/fcompare.s
    M llvm/test/MC/RISCV/rvv/fdiv.s
    M llvm/test/MC/RISCV/rvv/fmacc.s
    M llvm/test/MC/RISCV/rvv/fminmax.s
    M llvm/test/MC/RISCV/rvv/fmul.s
    M llvm/test/MC/RISCV/rvv/fmv.s
    M llvm/test/MC/RISCV/rvv/fothers.s
    M llvm/test/MC/RISCV/rvv/freduction.s
    M llvm/test/MC/RISCV/rvv/fsub.s
    M llvm/test/MC/RISCV/rvv/load.s
    M llvm/test/MC/RISCV/rvv/macc.s
    M llvm/test/MC/RISCV/rvv/mask.s
    M llvm/test/MC/RISCV/rvv/minmax.s
    M llvm/test/MC/RISCV/rvv/mul.s
    M llvm/test/MC/RISCV/rvv/mv.s
    M llvm/test/MC/RISCV/rvv/or.s
    M llvm/test/MC/RISCV/rvv/others.s
    M llvm/test/MC/RISCV/rvv/reduction.s
    M llvm/test/MC/RISCV/rvv/shift.s
    M llvm/test/MC/RISCV/rvv/sign-injection.s
    M llvm/test/MC/RISCV/rvv/snippet.s
    M llvm/test/MC/RISCV/rvv/store.s
    M llvm/test/MC/RISCV/rvv/sub.s
    M llvm/test/MC/RISCV/rvv/vsetvl.s
    M llvm/test/MC/RISCV/rvv/xor.s
    M llvm/test/MC/RISCV/rvv/xsfvcp.s
    M llvm/test/MC/RISCV/rvv/xsfvfnrclip.s
    M llvm/test/MC/RISCV/rvv/xsfvfwmacc.s
    M llvm/test/MC/RISCV/rvv/xsfvqmacc.s
    M llvm/test/MC/RISCV/rvv/zvbb.s
    M llvm/test/MC/RISCV/rvv/zvbc.s
    M llvm/test/MC/RISCV/rvv/zvfbfmin.s
    M llvm/test/MC/RISCV/rvv/zvfbfwma.s
    M llvm/test/MC/RISCV/rvv/zvkb.s
    M llvm/test/MC/RISCV/rvv/zvkg.s
    M llvm/test/MC/RISCV/rvv/zvkned.s
    M llvm/test/MC/RISCV/rvv/zvknh.s
    M llvm/test/MC/RISCV/rvv/zvksed.s
    M llvm/test/MC/RISCV/rvv/zvksh.s
    M llvm/test/MC/RISCV/rvv/zvlsseg.s
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [RISCV] Add an instruction PrettyPrinter to llvm-objdump (#90093)

This prints the opcode bytes in the same order as GNU objdump without a
space between them.


  Commit: b2098db2485331e01503e1452a7a60cd8c031a3f
      https://github.com/llvm/llvm-project/commit/b2098db2485331e01503e1452a7a60cd8c031a3f
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/include/clang/APINotes/Types.h
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    M clang/test/APINotes/swift-import-as.cpp

  Log Message:
  -----------
  [APINotes] Allow annotating a C++ type as non-copyable in Swift

Certain C++ types, such as `std::chrono::tzdb` in libstdc++, are
non-copyable, but don't explicitly delete their copy constructor.
Instead, they trigger template instantiation errors when trying to call
their implicit copy constructor. The Swift compiler inserts implicit
copies of value types in some cases, which trigger compiler errors for
such types.

This adds a Clang API Notes attribute that allows annotating C++ types
as non-copyable in Swift. This lets the Swift compiler know that it
should not try to instantiate the implicit copy constructor for a C++
struct.

rdar://127049438


  Commit: 01d7dcfe5e3b261f587c05e33ffeecae7a11da80
      https://github.com/llvm/llvm-project/commit/01d7dcfe5e3b261f587c05e33ffeecae7a11da80
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h

  Log Message:
  -----------
  [lldb] Switch to llvm::DWARFUnitHeader (#89808)

These are now close enough that they can be swapped out.


  Commit: 79314c64d0f88fa4ccc1709dee373fdfb9a6ca49
      https://github.com/llvm/llvm-project/commit/79314c64d0f88fa4ccc1709dee373fdfb9a6ca49
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/gep-with-extractelement-many-users.ll

  Log Message:
  -----------
  [SLP]Fix PR90224: check that users of gep are all vectorized.

Before deleting extractelement instruction for vectorized GEP with
external users, need to check that all users vectorized before deleting
this extractelement.


  Commit: 266a9274dd14d06d559ca8a37e2d1b5f985a5398
      https://github.com/llvm/llvm-project/commit/266a9274dd14d06d559ca8a37e2d1b5f985a5398
  Author: Marc Auberer <marc.auberer at chillibits.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/include/lldb/Utility/ProcessInfo.h
    M lldb/unittests/Host/HostTest.cpp

  Log Message:
  -----------
  [lldb] Fix typo in CumulativeSystemTimeIsValid check (#89680)

Resolves #89674


  Commit: 72b0c11cfd267b754076dfc2908ba921c4f69ee3
      https://github.com/llvm/llvm-project/commit/72b0c11cfd267b754076dfc2908ba921c4f69ee3
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt

  Log Message:
  -----------
  [Libomptarget] Rename `libomptarget.rtl.x86_64` to `libomptarget.rtl.host` (#86868)

Summary:
All of these are functionally the same code, just compiled for separate
architectures. We currently do not expose a way to execute these on
separate architectures as the host plugin works using `dlopen` into the
same process, and therefore cannot possibly be an incompatible
architecture. (This could work with a remote plugin, but this is not
supported yet).

This patch simply renames all of these to the same thing so we no longer
need to check around for its varying definitions.


  Commit: ac45bb5cbc4e37b41b78614f0cdd67d70485019a
      https://github.com/llvm/llvm-project/commit/ac45bb5cbc4e37b41b78614f0cdd67d70485019a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp

  Log Message:
  -----------
  [RISCV] Consistently use uint32_t in Disassembler decode functions. NFC

We had some uses of uint64_t and unsigned. These all come from tblgen
code that is templated on InsnType which is currently uint32_t.


  Commit: 56c4971d33230607a7329bb831b6c8588231e872
      https://github.com/llvm/llvm-project/commit/56c4971d33230607a7329bb831b6c8588231e872
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    R clang/test/Driver/claim-unused.c
    M clang/test/Driver/fp-model.c
    A clang/test/Driver/gcc-param.c
    M clang/test/Driver/linux-ld.c

  Log Message:
  -----------
  [Driver,test] Replace CHECK-NOT: warning with -### -Werror

After https://reviews.llvm.org/D156363 changed -### to exist with code 1
if hasErrorOccurred, we can use -Werror to assert no warnings. This is
more reliable than a NOT pattern, which may go stale (when the
diagnostic is updated) without being noticed.


  Commit: 1b7db405b97cc350e2de243683273e9946fc0bd0
      https://github.com/llvm/llvm-project/commit/1b7db405b97cc350e2de243683273e9946fc0bd0
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/test/Driver/hlsl-lang-targets-spirv.hlsl

  Log Message:
  -----------
  [HLSL][SPIR-V] Target `directx` is required

- One of tests needs target directx


  Commit: 7aedd7dc754c74a49fe84ed2640e269c25414087
      https://github.com/llvm/llvm-project/commit/7aedd7dc754c74a49fe84ed2640e269c25414087
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Lower/Mangler.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
    M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Tools/PointerModels.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertArrayConstructor.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/CustomIntrinsicCall.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/HlfirIntrinsics.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/VectorSubscripts.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/BoxValue.cpp
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/Complex.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Character.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/FortranVariableInterface.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M llvm/include/llvm/ADT/TypeSwitch.h
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/IR/Attributes.h
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/Location.h
    M mlir/include/mlir/IR/Types.h
    M mlir/include/mlir/IR/Value.h
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp

  Log Message:
  -----------
  Revert "[mlir] Mark `isa/dyn_cast/cast/...` member functions deprecated. (#89998)" (#90250)

This reverts commit 950b7ce0b88318f9099e9a7c9817d224ebdc6337.

This change is causing build failures on a bot
https://lab.llvm.org/buildbot/#/builders/216/builds/38157


  Commit: 5dd46d93fb9d7e7f8c9774433d60fd16dc659eb6
      https://github.com/llvm/llvm-project/commit/5dd46d93fb9d7e7f8c9774433d60fd16dc659eb6
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp

  Log Message:
  -----------
  [RISCV] Fix off by 1 typo in decodeVMaskReg. NFC

We're decoding a 1 bit field, but checked that the value was <= 2
instead of <= 1.

This isn't a functional change because the generated disassembler code
that calls this only extracts 1 bit.


  Commit: 300340f656d762afa8bde5fc398757d2951560bf
      https://github.com/llvm/llvm-project/commit/300340f656d762afa8bde5fc398757d2951560bf
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/lib/BinaryFormat/Dwarf.cpp
    M llvm/unittests/BinaryFormat/DwarfTest.cpp

  Log Message:
  -----------
  Implement the DWARF 6 language and version attributes. (#89980)

This patch adds DWARF constants for DW_AT_language_name and
DW_AT_language_version to Dwarf.def and Dwarf.h.

While the DWARF 6 spec is not finalized, the constants are published on
the DWARF website and considered stable, with idea being that the list
published on dwarfstd.org is the authoritative source that is being
continuously updated between DWARF revisions, as new languages are being
developed.

https://dwarfstd.org/languages-v6.html

My main motivation for adding this is to use in
https://github.com/llvm/llvm-project/pull/89981


  Commit: 6e722bbe30bd7d44f8b1dbf70e9f341a7c7e65ff
      https://github.com/llvm/llvm-project/commit/6e722bbe30bd7d44f8b1dbf70e9f341a7c7e65ff
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt

  Log Message:
  -----------
  [AMDGPU] Support byte_sel modifier on v_cvt_sr_fp8_f32 and v_cvt_sr_bf8_f32 (#90244)


  Commit: ced8497970aec5a153211d352ff01c624e03abd6
      https://github.com/llvm/llvm-project/commit/ced8497970aec5a153211d352ff01c624e03abd6
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge

  Log Message:
  -----------
  [ci] Add clang project dependency for bolt testing (#90262)


  Commit: 022dc6bab5c47dfd18cde87f36e8fece43328fdf
      https://github.com/llvm/llvm-project/commit/022dc6bab5c47dfd18cde87f36e8fece43328fdf
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 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:
  -----------
  [NFC] [HWASan] factor out debug record annotation (#90252)

This will also be used by stack MTE


  Commit: a4c21d17fe187feb9e666ae8290b6d318014e9c8
      https://github.com/llvm/llvm-project/commit/a4c21d17fe187feb9e666ae8290b6d318014e9c8
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
    M lldb/test/API/macosx/rosetta/TestRosetta.py
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb][sbapi] Fix API break in SBDebugger broadcast bits (#90261)

https://github.com/llvm/llvm-project/pull/87409 removed the broadcast
bits from SBDebugger and placed them in `lldb-enumerations.h`. This is
API-breaking so this commits places the enum back into `SBDebugger.h`
and references the bits from `lldb-enumerations.h`.

rdar://127128536


  Commit: 9ee8e38cdcc6925a4127d44a0360dc8de23dfb5f
      https://github.com/llvm/llvm-project/commit/9ee8e38cdcc6925a4127d44a0360dc8de23dfb5f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll

  Log Message:
  -----------
  [VPlan] Also propagate versioned strides to users via sext/zext.

The versioned value may not be used in the loop directly but through a
sext/zext. Add new live-ins in those cases.


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

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf

  Log Message:
  -----------
  [flang][cuda] Avoid to issue data transfer in device context (#90247)

Data transfer should not be issued in device function.


  Commit: d9fd0ddef38bb9d5cce7300ff820272183c09fcd
      https://github.com/llvm/llvm-project/commit/d9fd0ddef38bb9d5cce7300ff820272183c09fcd
  Author: Brendan Dahl <brendan.dahl at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/test/Driver/wasm-features.c
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h

  Log Message:
  -----------
  [WebAssembly] Add half-precision feature (#90248)

This currently only defines a constant, but in the future will be used
to gate builtins for experimenting and prototyping half-precision
proposal (https://github.com/WebAssembly/half-precision).


  Commit: 12d322db46952d15e36f5ce5863a2c70eee7857d
      https://github.com/llvm/llvm-project/commit/12d322db46952d15e36f5ce5863a2c70eee7857d
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp

  Log Message:
  -----------
  [BOLT][NFC] Use getEHFrameHdrSectionName() (#90257)

Reference section name via wrapper.


  Commit: 3d5e9ab6d89bfe3454e2b6f80b4babaa69413a87
      https://github.com/llvm/llvm-project/commit/3d5e9ab6d89bfe3454e2b6f80b4babaa69413a87
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Avoid emitting warnings for Ref, RefPtr, and their variants. (#90153)

Skip the analysis of Ref, RefPtr, and their variant classes in
UncountedCallArgsChecker since these classes are "trusted" to not do
anything dangerous.


  Commit: fefac5d5458a00b28860e0193928b30be85413cd
      https://github.com/llvm/llvm-project/commit/fefac5d5458a00b28860e0193928b30be85413cd
  Author: Usama Hameed <u_hameed at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M compiler-rt/test/asan/TestCases/Darwin/odr-lto.cpp

  Log Message:
  -----------
  [ASan][Test] Remove hardcoded linker version from test (#90147)

This is not needed as the correct linker version is detected at
configure time and passed to all tests on Darwin.

rdar://125052667


  Commit: eb3030acd0bd3eaea85707cf00872e88d20f4664
      https://github.com/llvm/llvm-project/commit/eb3030acd0bd3eaea85707cf00872e88d20f4664
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Fix legalizer crash trying to legalize <16 x i32> = G_BITCAST i512

Trying to do fewerElements on this results in an assert.

rdar://126373053


  Commit: 8cf0f9ab2f32114afd615def833f66ebeeede7d5
      https://github.com/llvm/llvm-project/commit/8cf0f9ab2f32114afd615def833f66ebeeede7d5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/test/Instrumentation/MemorySanitizer/vscale.ll

  Log Message:
  -----------
  [msan] Add conservative handling of vscale params (#90167)

Msan uses `__msan_param_tls` to pass shadow of
arguments. Position of arguments is expected to be
available during compile time, if size of the
argument is know. This is not true for vscale.

As work around we require that vscale parameters
are always initialized, then we don't need to pass
shadow.

Ret val should work out of the box as we don't
need to know size compile time.


  Commit: 176ab5e9de540f4abcae4a232541f8493de11fc6
      https://github.com/llvm/llvm-project/commit/176ab5e9de540f4abcae4a232541f8493de11fc6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/tools/llvm-lto2/llvm-lto2.cpp

  Log Message:
  -----------
  [llvm-lto2] Simplify SymbolResolutions loop and avoid expensive std::string copy. NFC


  Commit: 5569c219d35c78ad60aea127a06a51e202ae5b6f
      https://github.com/llvm/llvm-project/commit/5569c219d35c78ad60aea127a06a51e202ae5b6f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp

  Log Message:
  -----------
  [RISCV] Split RISCVDisassembler::getInstruction into a 16-bit and 32-bit version. (#90254)

This reduces nesting of the common 32-bit case and makes it easier to
add longer instruction lengths in the future.


  Commit: ad2816e7340be71c93e60b9bb58e107fe1b76e4d
      https://github.com/llvm/llvm-project/commit/ad2816e7340be71c93e60b9bb58e107fe1b76e4d
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [llvm-exegesis] Use const reference for range variable

In the SubprocessMemory destructor, I was using a normal std::string to
hold the name of the current shared memory name, but a const reference
works just as well in this situation while having better performance
characteristics.

Fixes #90289


  Commit: 3ec858bc5d45ee22ca99febd38e1ba188f71022c
      https://github.com/llvm/llvm-project/commit/3ec858bc5d45ee22ca99febd38e1ba188f71022c
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [BOLT] Refactor patchELFPHDRTable() (#90290)

Mostly NFC accept for one assertion that was converted into an error.


  Commit: 2e5035aeed4a9d33ab179f6e90c68fa70588c013
      https://github.com/llvm/llvm-project/commit/2e5035aeed4a9d33ab179f6e90c68fa70588c013
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-stmt-json.cpp
    M clang/test/Analysis/cxxnewexpr-callback.cpp
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
    M clang/test/CXX/drs/cwg292.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
    M clang/test/CodeGenCXX/cxx1z-aligned-allocation.cpp
    M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
    M clang/test/CodeGenCXX/delete-two-arg.cpp
    M clang/test/CodeGenCXX/delete.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/new.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-cleanup.cpp
    M clang/test/CodeGenCoroutines/coro-dealloc.cpp
    M clang/test/CodeGenCoroutines/coro-gro.cpp
    M clang/test/CodeGenCoroutines/pr56919.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/PCH/cxx1z-aligned-alloc.cpp
    M clang/test/SemaCXX/MicrosoftExtensions.cpp
    M clang/test/SemaCXX/builtin-operator-new-delete.cpp
    M clang/test/SemaCXX/cxx1y-sized-deallocation.cpp
    M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/www/cxx_status.html
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp

  Log Message:
  -----------
  Revert "[clang] Enable sized deallocation by default in C++14 onwards (#83774)" (#90299)

https://lab.llvm.org/buildbot/#/builders/168/builds/20063 (should be
fixed with #90292)

More details in #83774

This reverts commit cf5a8b489464d09dfdd7a48ce7c8b41d3c9bf819.


  Commit: de375fbc713b7c5cd0e3377a49f0773300203b63
      https://github.com/llvm/llvm-project/commit/de375fbc713b7c5cd0e3377a49f0773300203b63
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M lld/ELF/Arch/RISCV.cpp
    M llvm/include/llvm/Support/RISCVISAUtils.h
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Move OrderedExtensionMap typedef to RISCVISAUtils.h. NFC


  Commit: d6bf04f4760b0dff3c3d3ff9b560c04438cc25ac
      https://github.com/llvm/llvm-project/commit/d6bf04f4760b0dff3c3d3ff9b560c04438cc25ac
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/LTO/LTO.cpp

  Log Message:
  -----------
  [LTO] Remove extraneous ArrayRef (NFC) (#90306)

We don't need to explicitly create these instances of ArrayRef because
Hasher::update takes ArrayRef, and ArrayRef can be implicitly
constructed from C arrays.


  Commit: e04df693bf5b38099ef1d7ab8e6ce6a1469597e2
      https://github.com/llvm/llvm-project/commit/e04df693bf5b38099ef1d7ab8e6ce6a1469597e2
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Introduce FrameIdConverter and CallStackIdConverter (#90307)

Currently, we convert FrameId to Frame and CallStackId to a call stack
at several places.  This patch unifies those into function objects --
FrameIdConverter and CallStackIdConverter.

The existing implementation of CallStackIdConverter, being removed in
this patch, handles both FrameId and CallStackId conversions.  This
patch splits it into two phases for flexibility (but make them
composable) because some places only require the FrameId conversion.


  Commit: 315dc4bbc730a3c672967c27587088cfe9752fe6
      https://github.com/llvm/llvm-project/commit/315dc4bbc730a3c672967c27587088cfe9752fe6
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Add a space after a word token only if required (#90161)

Fixes #78166.


  Commit: cb508a0032eb2d11391214864f408261158361bf
      https://github.com/llvm/llvm-project/commit/cb508a0032eb2d11391214864f408261158361bf
  Author: Perry MacMurray <pmacmurr at quicinc.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    A llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    A llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir

  Log Message:
  -----------
  [Hexagon] Add Hexagon Copy Hoisting pass (#89313)

Adds the HexagonCopyHoisting pass, which moves a common copy instruction
into a basic block if it is present in all successor basic blocks.

---------

Co-authored-by: Jyotsna Verma <jverma at quicinc.com>


  Commit: 338561657685c1831a53563b1bc36ffc7470239e
      https://github.com/llvm/llvm-project/commit/338561657685c1831a53563b1bc36ffc7470239e
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [gn build] Port cb508a0032eb


  Commit: 90a959a8c978671467041c865509a0e1823c5115
      https://github.com/llvm/llvm-project/commit/90a959a8c978671467041c865509a0e1823c5115
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [Bazel] Add llvm-mca unittests (#90309)

This patch refactors the llvm-mca rules slightly so that the source
files within the tool source directory but not the library source
directory are included in a separate cc_library. This patch also adds
the llvm-mca unittests.


  Commit: 85a9528aa1f2d54379bf972908e12ee2a6f07b4b
      https://github.com/llvm/llvm-project/commit/85a9528aa1f2d54379bf972908e12ee2a6f07b4b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M libcxx/include/__utility/no_destroy.h
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    A libcxx/test/libcxx/utilities/no_destroy.pass.cpp

  Log Message:
  -----------
  [libcxx] Remove empty ~__no_destroy (#89882)

Primary motivation: is that after #84651 msan will
complain if fields accessed after ~__no_destroy.

My understanding of the https://eel.is/c++draft/basic.life#10
Static object with trivial destruction has program lifetime.
Static object with empty destuctor has implicit lifetime, and
accessing the object after lifetime is UB.

It was UB before #84651, it's just msan ignored union members.

Existing code with unions uses empty destructor, so accessing after
the main() can cause UB.

"placement new" version can have trivial destructor, so there is no end
of lifetime.

Secondary motivation: empty destructor will register __cxa_atexit with
-O0.
https://gcc.godbolt.org/z/hce587b65

We can not remove the destructor with union where
_Tp can have non-trivial destructor.

But we can remove destructor if we use in-place
new instead of union.
https://gcc.godbolt.org/z/Yqxx57eEd - empty even with -O0.

New test fails without the patch on

https://lab.llvm.org/buildbot/#/builders/sanitizer-x86_64-linux-bootstrap-msan


  Commit: 9145514fde484916971e6bb147c18f9235a9f2b5
      https://github.com/llvm/llvm-project/commit/9145514fde484916971e6bb147c18f9235a9f2b5
  Author: Semyon Khechnev <91785625+s-khechnev at users.noreply.github.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] fix canonicalization of mulsi_extended for i1 (#90150)

There is the `MulSIExtendedRHSOne` canonicalization for
arith.mulsi_extended that is defined as follows: `mulsi_extended(x, 1)
-> [x, extsi(cmpi slt, x, 0)]`. In the implementation of this, there is
a `IsScalarOrSplatOne` constraint for the second argument. However, this
constraint does not correctly handle situation when multiplying i1
values. Therefore, an additional constraint has been added which checks
the second argument for strict positivity.

fix #88732


  Commit: bc349cea7ad83bba9614e82f695d4b608f801102
      https://github.com/llvm/llvm-project/commit/bc349cea7ad83bba9614e82f695d4b608f801102
  Author: Thorsten Schütt <schuett at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir

  Log Message:
  -----------
  [GlobalIsel] combine insert vector element (#89363)

preliminary steps
poison symbols


  Commit: 7aa6896dd7bcdcb1d09f4f98e356c43d723d9d6b
      https://github.com/llvm/llvm-project/commit/7aa6896dd7bcdcb1d09f4f98e356c43d723d9d6b
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  Revert "[memprof] Introduce FrameIdConverter and CallStackIdConverter" (#90318)

Reverts llvm/llvm-project#90307

Breaks bots https://lab.llvm.org/buildbot/#/builders/5/builds/42943


  Commit: 9bb84cec1b5375c24e5fa9cf7700070d9d1b4184
      https://github.com/llvm/llvm-project/commit/9bb84cec1b5375c24e5fa9cf7700070d9d1b4184
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/unittests/ADT/StringRefTest.cpp

  Log Message:
  -----------
  [ADT] Add StringRef::{starts,ends}_with(char) (#90311)

This patch adds to StringRef the equivalent of
std::string_view::{starts,ends}_with(char) in C++20.


  Commit: 840032419d3717a81e48db6c165dab006252936b
      https://github.com/llvm/llvm-project/commit/840032419d3717a81e48db6c165dab006252936b
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/ranges_find.h
    M libcxx/include/__string/char_traits.h

  Log Message:
  -----------
  [libc++][NFC] Rename __find_impl to __find (#90163)

For most algorithms we've just added underscores to the detail function.
This changes `std::find` to match that pattern.


  Commit: 715219482b99ceef9bf83a2ff68c64c8faa930cd
      https://github.com/llvm/llvm-project/commit/715219482b99ceef9bf83a2ff68c64c8faa930cd
  Author: Cinhi Young <cyanoxygen at aosc.io>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    A llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll

  Log Message:
  -----------
  [MIPS] match llvm.{min,max}num with {min,max}.fmt for R6 (#89021)

- The behavior is similar to UCOMISD on x86, which is also used to
compare two fp values, specifically on handling of NaNs.
- Update related tests regarding this change.
- The further goal is to implement `llvm.minimum` and `llvm.maximum`
intrinsics for MIPS R6 and Pre-R6.

Part of https://github.com/llvm/llvm-project/issues/64207


  Commit: c229f767e48c7190b7568e6ebd1688bb08795744
      https://github.com/llvm/llvm-project/commit/c229f767e48c7190b7568e6ebd1688bb08795744
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [DFAJumpThreading] Avoid exploring the paths that never come back (#85505)

This patch does:
- Preserve loop info when unfolding selects.
- Reduce the search space for loop paths.


  Commit: b2c9f7d3188e41163574a83a835437955cf4b80f
      https://github.com/llvm/llvm-project/commit/b2c9f7d3188e41163574a83a835437955cf4b80f
  Author: Danny Mösch <danny.moesch at icloud.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp

  Log Message:
  -----------
  [clang-tidy] Ensure nullable variable is not accessed without validity test (#90173)


  Commit: 9e30c96aee5c85b4a5b7efa79cc7c94c1edb9d5b
      https://github.com/llvm/llvm-project/commit/9e30c96aee5c85b4a5b7efa79cc7c94c1edb9d5b
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/fpmode.ll

  Log Message:
  -----------
  [AArch64] Lowering of fpmode intrinsics in DAG (#80611)

LLVM intrinsics `get_fpmode`, `set_fpmode` and `reset_fpmode` operate
control modes, the bits of FP environment that affect FP operations. On
AArch64 these bits are in FPCR. The lowering implemented to produce code
close to that of GLIBC.


  Commit: b5e8555607ed39816dd05e8b6fafa2774305e825
      https://github.com/llvm/llvm-project/commit/b5e8555607ed39816dd05e8b6fafa2774305e825
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [MemCpyOpt][NFC] Format codebase (#90225)

This patch automatically formats the code.


  Commit: 7b5b5214a6f905be67e3c2ecb9b4887eaa3406c3
      https://github.com/llvm/llvm-project/commit/7b5b5214a6f905be67e3c2ecb9b4887eaa3406c3
  Author: XChy <xxs_chy at outlook.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

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

  Log Message:
  -----------
  [DFAJumpThreading][NFC] Use const reference as range variable (#90342)

Fixes #90286


  Commit: ff03f23be8bc6df701efd9e1093779fbcf382d87
      https://github.com/llvm/llvm-project/commit/ff03f23be8bc6df701efd9e1093779fbcf382d87
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/unreachable.ll
    M llvm/test/MC/WebAssembly/global-ctor-dtor.ll

  Log Message:
  -----------
  [WebAssembly] remove instruction after builtin trap (#90207)

`llvm.trap` will be convert as `unreachable` which is terminator.
Instruction after terminator will cause validation failed.
This PR introduces a pass to clean instruction after terminator.
Fixes: #68770.


  Commit: 738c135ee09de66a26805530d314c2f28d1eca02
      https://github.com/llvm/llvm-project/commit/738c135ee09de66a26805530d314c2f28d1eca02
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
    M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll

  Log Message:
  -----------
  SystemZ: Add more tests for fp128 atomics (#90269)

These did not have proper floating point uses so weren't representative
samples. The bitcast inserted by lowering could be absorbed by the
load/store on the source/use.


  Commit: 803cbcbc4029fc65188f6c1083a230341279b2d2
      https://github.com/llvm/llvm-project/commit/803cbcbc4029fc65188f6c1083a230341279b2d2
  Author: Björn Svensson <bjorn.a.svensson at est.tech>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c

  Log Message:
  -----------
  [clang-tidy] Enable C23 support in modernize-use-nullptr (#89990)

C23 introduces the `nullptr` constant similar to C++11 which means that
the checker `modernize-use-nullptr` can be used on C23 code as well.

This PR enables the checker to be run on C23 and adds testcases.

See N3042:
https://open-std.org/JTC1/SC22/WG14/www/docs/n3042.htm


  Commit: 0336328e970e7e809d52a33a704bb7c05f6e170e
      https://github.com/llvm/llvm-project/commit/0336328e970e7e809d52a33a704bb7c05f6e170e
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst

  Log Message:
  -----------
  [clang-tidy][DOC] Minor fixes to release notes

Fix minor style problems in release notes.


  Commit: 38a2051c5222b3e5245043a3056b3a1e89f69b22
      https://github.com/llvm/llvm-project/commit/38a2051c5222b3e5245043a3056b3a1e89f69b22
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    R llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/unreachable.ll
    M llvm/test/MC/WebAssembly/global-ctor-dtor.ll

  Log Message:
  -----------
  Revert "[WebAssembly] remove instruction after builtin trap" (#90354)

Reverts llvm/llvm-project#90207

LLD Bots are broken.


  Commit: 6084dcbfce6a54f6cb88e40ef490e0dd25984f81
      https://github.com/llvm/llvm-project/commit/6084dcbfce6a54f6cb88e40ef490e0dd25984f81
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll

  Log Message:
  -----------
  [LV] Add additional cost model coverage for loops with casted inds.

Add test coverage for cost-model code-paths not covered by current unit
tests in preparation for
 https://github.com/llvm/llvm-project/pull/67934.


  Commit: b4af01bada0c945906d85c364e12aceaf98b0fae
      https://github.com/llvm/llvm-project/commit/b4af01bada0c945906d85c364e12aceaf98b0fae
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M clang/lib/Format/WhitespaceManager.cpp

  Log Message:
  -----------
  [clang-format][NFC] Don't repeat Changes[i]/Changes[i - 1]


  Commit: 53ff002c6f7ec64a75ab0990b1314cc6b4bb67cf
      https://github.com/llvm/llvm-project/commit/53ff002c6f7ec64a75ab0990b1314cc6b4bb67cf
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M clang/cmake/caches/Release.cmake
    M llvm/utils/release/test-release.sh

  Log Message:
  -----------
  [CMake][Release] Enable CMAKE_POSITION_INDEPENDENT_CODE (#90139)

Set this in the cache file directly instead of via the test-release.sh
script so that the release builds can be reproduced with just the cache
file.


  Commit: ad1e10ae1109fa7204ab70422bb611fe88391228
      https://github.com/llvm/llvm-project/commit/ad1e10ae1109fa7204ab70422bb611fe88391228
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-04-27 (Sat, 27 Apr 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github] Add ClangIR codeowners (#86089)


  Commit: 1a462296360f311d4593694aefd30c6b3e969460
      https://github.com/llvm/llvm-project/commit/1a462296360f311d4593694aefd30c6b3e969460
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M lld/test/wasm/init-fini.ll
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/unreachable.ll
    M llvm/test/MC/WebAssembly/global-ctor-dtor.ll

  Log Message:
  -----------
  Revert "Revert "[WebAssembly] remove instruction after builtin trap" (#90354)" (#90366)

`llvm.trap` will be convert as unreachable which is terminator.
Instruction after terminator will cause validation failed.
This PR introduces a pass to clean instruction after terminator.
Fixes: https://github.com/llvm/llvm-project/issues/68770
Reapply: #90207


  Commit: 679e99d6667343e32f418d249e1af1cd76f1c08a
      https://github.com/llvm/llvm-project/commit/679e99d6667343e32f418d249e1af1cd76f1c08a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [gn build] Port 1a462296360f


  Commit: 7037878d2b4afbda436ec61008ac907bd782bdd8
      https://github.com/llvm/llvm-project/commit/7037878d2b4afbda436ec61008ac907bd782bdd8
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV][TableGen] Get right experimental extension name

We should remove the `experimental-` prefix when printing march
string.

We didn't meet this problem because there is no processor containing
experimental extensions.

Reviewers: fpetrogalli, asb, topperc

Reviewed By: topperc, asb

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


  Commit: f86d264dfdd6d1fa2fc6f933c9ae7b5db50a770b
      https://github.com/llvm/llvm-project/commit/f86d264dfdd6d1fa2fc6f933c9ae7b5db50a770b
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    A llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/test/CodeGen/RISCV/attributes.ll

  Log Message:
  -----------
  [RISCV] Add subtarget features for profiles

This may simplify the usage of tools like `opt`, `llc`, etc.

Reviewers: michaelmaitland, 4vtomat, preames, asb

Reviewed By: michaelmaitland, preames, 4vtomat

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


  Commit: c705c6847633ae3ef6711f911b829521463b24b4
      https://github.com/llvm/llvm-project/commit/c705c6847633ae3ef6711f911b829521463b24b4
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Generate profiles from RISCVProfiles.td

So we can only mantain one place.

Reviewers: preames, yetingk, topperc

Reviewed By: topperc

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


  Commit: 2c1c887c8e6baf39a58a2ec18a43ed4101422e2a
      https://github.com/llvm/llvm-project/commit/2c1c887c8e6baf39a58a2ec18a43ed4101422e2a
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/test/CodeGen/RISCV/rvv/commutable.ll

  Log Message:
  -----------
  [RISCV] Make fixed-point instructions commutable (#90035)

This PR includes:
* vsadd.vv/vsaddu.vv
* vaadd.vv/vaaddu.vv
* vsmul.vv


  Commit: 37eb9c9632fb5e82827d1a0559f2279e9a9f1969
      https://github.com/llvm/llvm-project/commit/37eb9c9632fb5e82827d1a0559f2279e9a9f1969
  Author: Zhijin Zeng <zhijin.zeng at spacemit.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/select.ll

  Log Message:
  -----------
  [RISC-V][ISel] Remove redundant czero.eqz like 'czero.eqz a0, a0, a0' (#90208)

In RISC-V ISel, the instruction `czero.eqz a0, a0, a0` is meaningless.
This patch does the following folds in ISel:
```
czero_eqz x, (setcc x, 0, ne) -> x
czero_nez x, (setcc x, 0, eq) -> x
```

---------

Signed-off-by: Zhijin Zeng <zhijin.zeng at spacemit.com>


  Commit: 487967af82053cd08022635a2ff768385d936c80
      https://github.com/llvm/llvm-project/commit/487967af82053cd08022635a2ff768385d936c80
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/DeclContextInternals.h
    A clang/test/Modules/pr88400.cppm

  Log Message:
  -----------
  [Modules] Don't replace local declarations with external declaration with lower visibility

Close https://github.com/llvm/llvm-project/issues/88400

For the reproducer:

```
//--- header.h

namespace N {
    template<typename T>
    concept X = true;

    template<X T>
    class Y {
    public:
        template<X U>
        friend class Y;
    };

    inline Y<int> x;
}

//--- bar.cppm
module;
export module bar;
namespace N {
    // To make sure N::Y won't get elided.
    using N::x;
}

//--- foo.cc
// expected-no-diagnostics
import bar;
void y() {
    N::Y<int> y{};
};
```

it will crash. The root cause is that in
`StoredDeclsList::replaceExternalDecls`, we will replace the
existing declarations with external declarations.

Then for the reproducer, the redecl chain for Y is like:

```
Y (Local) -> Y (Local, friend) -> Y (Imported) -> Y(Imported, friend)
```

Before the lookup, the stored lookup result is `Y(Local)` then we find
`Y(Imported)`. And now we repalce `Y(Local)` with `Y(Imported)`. But
`Y(Imported)` is not visible. So we tried to find if there is any
redeclarations visible but we find `Y(Local, friend)`, then problem
happens.

The solution is try to avoid the replace to happen if the external
declaration has lower visibility then we can always find the local
declarations. This may help the lookup performance slightly.

Also I found the implementation of
`StoredDeclsList::replaceExternalDecls` is not efficiency. It has an
`O(n*m)` complexities. But let's improve that in the future.


  Commit: 5820ad92456dfb68bd964fb2bfa0fa783a5b99fe
      https://github.com/llvm/llvm-project/commit/5820ad92456dfb68bd964fb2bfa0fa783a5b99fe
  Author: Piyou Chen <piyou.chen at sifive.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [NFC][RISCV] Keep AVLReg define instr inside VSETVLInfo (#89180)

Currently, the vsetvli pass tracks the define instruction through
`MRI->getVRegDef` due to the SSA form.

This patch keeps the AVLReg DefMI within VSETVLInfo during construction.
And replace `MRI->getVRegDef(AVLReg)` with `getAVLRegDefMI()`.

This information is useful when vsetvli pass live in post-ra situation.

The testcases don't change because the VReg always has a unique def in
SSA.


  Commit: 0a0f1f9f1db0546084e9a62ec370025ec23be8f2
      https://github.com/llvm/llvm-project/commit/0a0f1f9f1db0546084e9a62ec370025ec23be8f2
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    A llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
    A llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir

  Log Message:
  -----------
  [PPC]add DEBUG_COUNTER for PPCMIPeephole pass


  Commit: e3dea5e3410fd6a1e549cfa7021c4f8652b36095
      https://github.com/llvm/llvm-project/commit/e3dea5e3410fd6a1e549cfa7021c4f8652b36095
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/format
    A libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    M libcxx/utils/generate_escaped_output_table.py

  Log Message:
  -----------
  [libc++][format] Improves escaping performance. (#88533)

The previous patch implemented
- P2713R1 Escaping improvements in std::format
- LWG3965 Incorrect example in [format.string.escaped] p3 for formatting
of combining characters

These changes were correct, but had a size and performance penalty. This
patch improves the size and performance of the previous patch. The
performance is still worse than before since the lookups may require two
property lookups instead of one before implementing the paper. The
changes give a tighter coupling between the Unicode data and the
algorithm. Additional tests are added to notify about changes in future
Unicode updates.

Before
```
-----------------------------------------------------------------------
Benchmark                             Time             CPU   Iterations
-----------------------------------------------------------------------
BM_ascii_escaped<char>           110704 ns       110696 ns         6206
BM_unicode_escaped<char>         101371 ns       101374 ns         6862
BM_cyrillic_escaped<char>         63329 ns        63327 ns        11013
BM_japanese_escaped<char>         41223 ns        41225 ns        16938
BM_emoji_escaped<char>           111022 ns       111021 ns         6304
BM_ascii_escaped<wchar_t>        112441 ns       112443 ns         6231
BM_unicode_escaped<wchar_t>      102776 ns       102779 ns         6813
BM_cyrillic_escaped<wchar_t>      58977 ns        58975 ns        11868
BM_japanese_escaped<wchar_t>      36885 ns        36886 ns        18975
BM_emoji_escaped<wchar_t>        115885 ns       115881 ns         6051
```

The first change is to manually encode the entire last area and make a
manual exception for the 240 excluded entries. This reduced the table
from 1077 to 729 entries and gave the following benchmark results.
```
-----------------------------------------------------------------------
Benchmark                             Time             CPU   Iterations
-----------------------------------------------------------------------
BM_ascii_escaped<char>           104777 ns       104776 ns         6550
BM_unicode_escaped<char>          96980 ns        96982 ns         7238
BM_cyrillic_escaped<char>         60254 ns        60251 ns        11670
BM_japanese_escaped<char>         44452 ns        44452 ns        15734
BM_emoji_escaped<char>           104557 ns       104551 ns         6685
BM_ascii_escaped<wchar_t>        107456 ns       107454 ns         6505
BM_unicode_escaped<wchar_t>       96219 ns        96216 ns         7301
BM_cyrillic_escaped<wchar_t>      56921 ns        56904 ns        12288
BM_japanese_escaped<wchar_t>      39530 ns        39529 ns        17492
BM_emoji_escaped<wchar_t>        108494 ns       108496 ns         6408
```

An entry in the table can only contain 2048 code points. For larger
ranges there are multiple entries split in chunks with a maximum size of
2048 entries. To encode the entire Unicode code point range 21 bits are
required. The manual part starts at 0x323B0 this means all entries in
the table fit in 18 bits. This allows to allocate 3 additional bits for
the range. This allows entries to have 16384 elements. This range always
avoids splitting the range in multiple chunks.

This reduces the number of table elements from 729 to 711 and gives the
following benchmark results.
```
-----------------------------------------------------------------------
Benchmark                             Time             CPU   Iterations
-----------------------------------------------------------------------
BM_ascii_escaped<char>           104289 ns       104289 ns         6619
BM_unicode_escaped<char>          96682 ns        96681 ns         7215
BM_cyrillic_escaped<char>         59673 ns        59673 ns        11732
BM_japanese_escaped<char>         41983 ns        41982 ns        16646
BM_emoji_escaped<char>           104119 ns       104120 ns         6683
BM_ascii_escaped<wchar_t>        104503 ns       104505 ns         6693
BM_unicode_escaped<wchar_t>       93426 ns        93423 ns         7489
BM_cyrillic_escaped<wchar_t>      54858 ns        54859 ns        12742
BM_japanese_escaped<wchar_t>      36385 ns        36384 ns        19259
BM_emoji_escaped<wchar_t>        105608 ns       105610 ns         6592
```


  Commit: 367efa0b0542e6f4171e8c914728946c302ab24b
      https://github.com/llvm/llvm-project/commit/367efa0b0542e6f4171e8c914728946c302ab24b
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/DeclContextInternals.h

  Log Message:
  -----------
  [NFC] [Modules] Avoid scanning the stored decl list twice when replace
external decls

This patch fixes a FIXME in StoredDeclList::replaceExternalDecls.

StoredDeclList::replaceExternalDecls will iterate the list first to
remove some declarations and iterate the list again to get the tail of
the list.

It should be better to avoid the second iterations.


  Commit: bfd269d0d0d6cb58235a838eb659eef97e4f2ebf
      https://github.com/llvm/llvm-project/commit/bfd269d0d0d6cb58235a838eb659eef97e4f2ebf
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M clang/test/Driver/amdgpu-toolchain.c

  Log Message:
  -----------
  [AMDGPU] Fix test failing on Windows for `ld.lld.exe`


  Commit: 46321395ce5c13079322ab0d965967fb60472fd2
      https://github.com/llvm/llvm-project/commit/46321395ce5c13079322ab0d965967fb60472fd2
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    R flang/test/Lower/OpenMP/FIR/array-bounds.f90
    R flang/test/Lower/OpenMP/FIR/atomic-capture.f90
    R flang/test/Lower/OpenMP/FIR/atomic-read.f90
    R flang/test/Lower/OpenMP/FIR/atomic-update.f90
    R flang/test/Lower/OpenMP/FIR/atomic-write.f90
    R flang/test/Lower/OpenMP/FIR/copyin.f90
    R flang/test/Lower/OpenMP/FIR/critical.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-data.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap.f90
    R flang/test/Lower/OpenMP/FIR/default-clause.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
    R flang/test/Lower/OpenMP/FIR/firstprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/flush.f90
    R flang/test/Lower/OpenMP/FIR/if-clause.f90
    R flang/test/Lower/OpenMP/FIR/is-device.f90
    R flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/location.f90
    R flang/test/Lower/OpenMP/FIR/loop-combined.f90
    R flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    R flang/test/Lower/OpenMP/FIR/master.f90
    R flang/test/Lower/OpenMP/FIR/omp-declare-target-program-var.f90
    R flang/test/Lower/OpenMP/FIR/omp-is-gpu.f90
    R flang/test/Lower/OpenMP/FIR/ordered-threads.f90
    R flang/test/Lower/OpenMP/FIR/parallel-firstprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
    R flang/test/Lower/OpenMP/FIR/parallel.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree-loop.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree01.f90
    R flang/test/Lower/OpenMP/FIR/private-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/requires-common.f90
    R flang/test/Lower/OpenMP/FIR/requires-notarget.f90
    R flang/test/Lower/OpenMP/FIR/requires.f90
    R flang/test/Lower/OpenMP/FIR/rtl-flags.f90
    R flang/test/Lower/OpenMP/FIR/sections-pft.f90
    R flang/test/Lower/OpenMP/FIR/sections.f90
    R flang/test/Lower/OpenMP/FIR/simd.f90
    R flang/test/Lower/OpenMP/FIR/simple-barrier.f90
    R flang/test/Lower/OpenMP/FIR/single.f90
    R flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
    R flang/test/Lower/OpenMP/FIR/target.f90
    R flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
    R flang/test/Lower/OpenMP/FIR/task.f90
    R flang/test/Lower/OpenMP/FIR/taskgroup.f90
    R flang/test/Lower/OpenMP/FIR/taskwait.f90
    R flang/test/Lower/OpenMP/FIR/taskyield.f90
    R flang/test/Lower/OpenMP/FIR/teams.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-char-array-chararray.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-integer-different-kinds.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-non-global.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-pointer-allocatable.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-real-logical-complex-derivedtype.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association.f90
    R flang/test/Lower/OpenMP/FIR/unstructured.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
    R flang/test/Lower/OpenMP/FIR/wsloop.f90

  Log Message:
  -----------
  [Flang][OpenMP] Remove deprecated FIR lowering tests (#90188)

Remove OpenMP FIR lowering tests. These are now replaced by HLFIR based
tests. This might hopefully speedup testing as well.


  Commit: 19d2d3fe50c301272350d12c53c801b17e29e64e
      https://github.com/llvm/llvm-project/commit/19d2d3fe50c301272350d12c53c801b17e29e64e
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/Generic-cxx20.cmake
    M libcxx/cmake/caches/Generic-cxx23.cmake
    M libcxx/cmake/caches/Generic-cxx26.cmake
    M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
    M libcxx/cmake/caches/Generic-no-exceptions.cmake
    M libcxx/cmake/caches/Generic-no-experimental.cmake
    M libcxx/cmake/caches/Generic-no-filesystem.cmake
    M libcxx/cmake/caches/Generic-no-localization.cmake
    M libcxx/cmake/caches/Generic-no-random_device.cmake
    M libcxx/cmake/caches/Generic-no-threads.cmake
    M libcxx/cmake/caches/Generic-no-unicode.cmake
    M libcxx/cmake/caches/Generic-no-wide-characters.cmake
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/ReleaseNotes/19.rst

  Log Message:
  -----------
  [libc++][modules] Enable installation by default. (#90094)

This was suggested during the review of
https://github.com/llvm/llvm-project/pull/89413

This does not change the experimental state of modules.


  Commit: b6a8f5486bc12b132ec984bc8767506e3bcb6694
      https://github.com/llvm/llvm-project/commit/b6a8f5486bc12b132ec984bc8767506e3bcb6694
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll

  Log Message:
  -----------
  [LV] Consider all exit branch conditions uniform.

If we vectorize a loop with multiple exits, all exiting branches should
be considered uniform, as the resulting loop will be controlled by the
canonical IV only. Previously we were overestimating the cost of values
contributing to the other exits.


  Commit: 0b7ebea37bc16b5755ff96bf4135cad422cbeec6
      https://github.com/llvm/llvm-project/commit/0b7ebea37bc16b5755ff96bf4135cad422cbeec6
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .github/CODEOWNERS
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    M clang-tools-extra/test/clang-tidy/checkers/misc/new-delete-overloads.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-ms.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-opencl.cpp
    M clang/cmake/caches/Release.cmake
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Driver/Options.td
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/ZOS.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    M clang/test/APINotes/swift-import-as.cpp
    M clang/test/AST/ast-dump-expr-json.cpp
    M clang/test/AST/ast-dump-expr.cpp
    M clang/test/AST/ast-dump-macro-json.c
    M clang/test/AST/ast-dump-stmt-json.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/cxxnewexpr-callback.cpp
    M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
    M clang/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p2.cpp
    A clang/test/CXX/drs/cwg2149.cpp
    M clang/test/CXX/drs/cwg292.cpp
    M clang/test/CXX/expr/expr.unary/expr.new/p14.cpp
    M clang/test/CodeGenCXX/cxx1y-sized-deallocation.cpp
    M clang/test/CodeGenCXX/cxx1z-aligned-allocation.cpp
    M clang/test/CodeGenCXX/cxx2a-destroying-delete.cpp
    M clang/test/CodeGenCXX/delete-two-arg.cpp
    M clang/test/CodeGenCXX/delete.cpp
    M clang/test/CodeGenCXX/dllimport.cpp
    M clang/test/CodeGenCXX/new.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc-2.cpp
    M clang/test/CodeGenCoroutines/coro-aligned-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-alloc.cpp
    M clang/test/CodeGenCoroutines/coro-cleanup.cpp
    M clang/test/CodeGenCoroutines/coro-dealloc.cpp
    M clang/test/CodeGenCoroutines/coro-gro.cpp
    M clang/test/CodeGenCoroutines/pr56919.cpp
    M clang/test/Driver/amdgpu-toolchain.c
    R clang/test/Driver/claim-unused.c
    M clang/test/Driver/fp-model.c
    A clang/test/Driver/gcc-param.c
    M clang/test/Driver/hlsl-lang-targets-spirv.hlsl
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/wasm-features.c
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Lexer/update_consecutive_macro_address_space.c
    A clang/test/Modules/pr88400.cppm
    M clang/test/PCH/cxx1z-aligned-alloc.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    A clang/test/Preprocessor/hardware_interference.cpp
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/predefined-win-macros.c
    M clang/test/SemaCXX/MicrosoftExtensions.cpp
    M clang/test/SemaCXX/builtin-operator-new-delete.cpp
    M clang/test/SemaCXX/cxx1y-sized-deallocation.cpp
    M clang/test/SemaCXX/unavailable_aligned_allocation.cpp
    M clang/tools/clang-repl/CMakeLists.txt
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/StaticAnalyzer/CallEventTest.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc
    M compiler-rt/test/asan/TestCases/Darwin/odr-lto.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    R flang/test/Lower/OpenMP/FIR/array-bounds.f90
    R flang/test/Lower/OpenMP/FIR/atomic-capture.f90
    R flang/test/Lower/OpenMP/FIR/atomic-read.f90
    R flang/test/Lower/OpenMP/FIR/atomic-update.f90
    R flang/test/Lower/OpenMP/FIR/atomic-write.f90
    R flang/test/Lower/OpenMP/FIR/copyin.f90
    R flang/test/Lower/OpenMP/FIR/critical.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-data.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap.f90
    R flang/test/Lower/OpenMP/FIR/default-clause.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
    R flang/test/Lower/OpenMP/FIR/firstprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/flush.f90
    R flang/test/Lower/OpenMP/FIR/if-clause.f90
    R flang/test/Lower/OpenMP/FIR/is-device.f90
    R flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/location.f90
    R flang/test/Lower/OpenMP/FIR/loop-combined.f90
    R flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    R flang/test/Lower/OpenMP/FIR/master.f90
    R flang/test/Lower/OpenMP/FIR/omp-declare-target-program-var.f90
    R flang/test/Lower/OpenMP/FIR/omp-is-gpu.f90
    R flang/test/Lower/OpenMP/FIR/ordered-threads.f90
    R flang/test/Lower/OpenMP/FIR/parallel-firstprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
    R flang/test/Lower/OpenMP/FIR/parallel.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree-loop.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree01.f90
    R flang/test/Lower/OpenMP/FIR/private-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/requires-common.f90
    R flang/test/Lower/OpenMP/FIR/requires-notarget.f90
    R flang/test/Lower/OpenMP/FIR/requires.f90
    R flang/test/Lower/OpenMP/FIR/rtl-flags.f90
    R flang/test/Lower/OpenMP/FIR/sections-pft.f90
    R flang/test/Lower/OpenMP/FIR/sections.f90
    R flang/test/Lower/OpenMP/FIR/simd.f90
    R flang/test/Lower/OpenMP/FIR/simple-barrier.f90
    R flang/test/Lower/OpenMP/FIR/single.f90
    R flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
    R flang/test/Lower/OpenMP/FIR/target.f90
    R flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
    R flang/test/Lower/OpenMP/FIR/task.f90
    R flang/test/Lower/OpenMP/FIR/taskgroup.f90
    R flang/test/Lower/OpenMP/FIR/taskwait.f90
    R flang/test/Lower/OpenMP/FIR/taskyield.f90
    R flang/test/Lower/OpenMP/FIR/teams.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-char-array-chararray.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-integer-different-kinds.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-non-global.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-pointer-allocatable.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-real-logical-complex-derivedtype.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association.f90
    R flang/test/Lower/OpenMP/FIR/unstructured.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
    R flang/test/Lower/OpenMP/FIR/wsloop.f90
    M libcxx/CMakeLists.txt
    M libcxx/cmake/caches/Generic-cxx20.cmake
    M libcxx/cmake/caches/Generic-cxx23.cmake
    M libcxx/cmake/caches/Generic-cxx26.cmake
    M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
    M libcxx/cmake/caches/Generic-no-exceptions.cmake
    M libcxx/cmake/caches/Generic-no-experimental.cmake
    M libcxx/cmake/caches/Generic-no-filesystem.cmake
    M libcxx/cmake/caches/Generic-no-localization.cmake
    M libcxx/cmake/caches/Generic-no-random_device.cmake
    M libcxx/cmake/caches/Generic-no-threads.cmake
    M libcxx/cmake/caches/Generic-no-unicode.cmake
    M libcxx/cmake/caches/Generic-no-wide-characters.cmake
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/ranges_find.h
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__utility/no_destroy.h
    M libcxx/include/format
    M libcxx/modules/std/ranges.inc
    M libcxx/test/libcxx/language.support/support.dynamic/libcpp_deallocate.sh.cpp
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    A libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    A libcxx/test/libcxx/utilities/no_destroy.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/sized_delete_array14.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/sized_delete14.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.utility.conv/to.pass.cpp
    M libcxx/utils/generate_escaped_output_table.py
    M lld/ELF/Arch/RISCV.cpp
    M lld/test/ELF/mips-eh_frame-pic.s
    M lld/test/ELF/riscv-branch.s
    M lld/test/ELF/riscv-call.s
    M lld/test/ELF/riscv-hi20-lo12.s
    M lld/test/ELF/riscv-jal.s
    M lld/test/wasm/init-fini.ll
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/Utility/ProcessInfo.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
    M lldb/test/API/macosx/rosetta/TestRosetta.py
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/Host/HostTest.cpp
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/Support/RISCVISAUtils.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/BinaryFormat/Dwarf.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/Support/SuffixTree.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    A llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    A llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
    M llvm/test/CodeGen/AArch64/fpmode.ll
    M llvm/test/CodeGen/AArch64/sve2-bsl.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    A llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir
    M llvm/test/CodeGen/M68k/Arith/add-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/add.ll
    M llvm/test/CodeGen/M68k/Arith/bitwise.ll
    M llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
    M llvm/test/CodeGen/M68k/Arith/imul.ll
    M llvm/test/CodeGen/M68k/Arith/smul-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub.ll
    M llvm/test/CodeGen/M68k/Arith/umul-with-overflow.ll
    M llvm/test/CodeGen/M68k/CConv/c-call.ll
    M llvm/test/CodeGen/M68k/CConv/fastcc-call.ll
    M llvm/test/CodeGen/M68k/CodeModel/medium-pie-global-access.ll
    M llvm/test/CodeGen/M68k/CodeModel/small-pie-global-access.ll
    M llvm/test/CodeGen/M68k/Control/cmp.ll
    M llvm/test/CodeGen/M68k/Control/long-setcc.ll
    M llvm/test/CodeGen/M68k/Control/setcc.ll
    M llvm/test/CodeGen/M68k/PR57660.ll
    M llvm/test/CodeGen/M68k/gcc_except_table.ll
    M llvm/test/CodeGen/M68k/link-unlnk.ll
    A llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
    A llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
    A llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/fixups-diff.ll
    M llvm/test/CodeGen/RISCV/rvv/commutable.ll
    M llvm/test/CodeGen/RISCV/select.ll
    M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
    M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll
    M llvm/test/CodeGen/WebAssembly/unreachable.ll
    M llvm/test/CodeGen/X86/combine-or.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-1.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-3.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-6.ll
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll
    M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
    M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
    M llvm/test/DebugInfo/RISCV/relax-debug-frame.ll
    R llvm/test/DebugInfo/Symbolize/ELF/riscv-empty-name-symbol.s
    A llvm/test/DebugInfo/Symbolize/ELF/riscv-temporary-symbol.s
    M llvm/test/ExecutionEngine/JITLink/RISCV/anonymous_symbol.s
    M llvm/test/Instrumentation/MemorySanitizer/vscale.ll
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/M68k/data.txt
    M llvm/test/MC/ELF/RISCV/gen-dwarf.s
    M llvm/test/MC/M68k/Data/Classes/MxMove_RI.s
    M llvm/test/MC/RISCV/XTHeadVdot-valid.s
    M llvm/test/MC/RISCV/align.s
    M llvm/test/MC/RISCV/cfi-advance.s
    M llvm/test/MC/RISCV/compress-cjal.s
    M llvm/test/MC/RISCV/compress-rv32d.s
    M llvm/test/MC/RISCV/compress-rv32f.s
    M llvm/test/MC/RISCV/compress-rv32i.s
    M llvm/test/MC/RISCV/compress-rv64i.s
    M llvm/test/MC/RISCV/fde-reloc.s
    M llvm/test/MC/RISCV/nop-slide.s
    M llvm/test/MC/RISCV/option-pushpop.s
    M llvm/test/MC/RISCV/option-rvc.s
    M llvm/test/MC/RISCV/rv32e-invalid.s
    M llvm/test/MC/RISCV/rvv/add.s
    M llvm/test/MC/RISCV/rvv/and.s
    M llvm/test/MC/RISCV/rvv/clip.s
    M llvm/test/MC/RISCV/rvv/compare.s
    M llvm/test/MC/RISCV/rvv/convert.s
    M llvm/test/MC/RISCV/rvv/div.s
    M llvm/test/MC/RISCV/rvv/ext.s
    M llvm/test/MC/RISCV/rvv/fadd.s
    M llvm/test/MC/RISCV/rvv/fcompare.s
    M llvm/test/MC/RISCV/rvv/fdiv.s
    M llvm/test/MC/RISCV/rvv/fmacc.s
    M llvm/test/MC/RISCV/rvv/fminmax.s
    M llvm/test/MC/RISCV/rvv/fmul.s
    M llvm/test/MC/RISCV/rvv/fmv.s
    M llvm/test/MC/RISCV/rvv/fothers.s
    M llvm/test/MC/RISCV/rvv/freduction.s
    M llvm/test/MC/RISCV/rvv/fsub.s
    M llvm/test/MC/RISCV/rvv/load.s
    M llvm/test/MC/RISCV/rvv/macc.s
    M llvm/test/MC/RISCV/rvv/mask.s
    M llvm/test/MC/RISCV/rvv/minmax.s
    M llvm/test/MC/RISCV/rvv/mul.s
    M llvm/test/MC/RISCV/rvv/mv.s
    M llvm/test/MC/RISCV/rvv/or.s
    M llvm/test/MC/RISCV/rvv/others.s
    M llvm/test/MC/RISCV/rvv/reduction.s
    M llvm/test/MC/RISCV/rvv/shift.s
    M llvm/test/MC/RISCV/rvv/sign-injection.s
    M llvm/test/MC/RISCV/rvv/snippet.s
    M llvm/test/MC/RISCV/rvv/store.s
    M llvm/test/MC/RISCV/rvv/sub.s
    M llvm/test/MC/RISCV/rvv/vsetvl.s
    M llvm/test/MC/RISCV/rvv/xor.s
    M llvm/test/MC/RISCV/rvv/xsfvcp.s
    M llvm/test/MC/RISCV/rvv/xsfvfnrclip.s
    M llvm/test/MC/RISCV/rvv/xsfvfwmacc.s
    M llvm/test/MC/RISCV/rvv/xsfvqmacc.s
    M llvm/test/MC/RISCV/rvv/zvbb.s
    M llvm/test/MC/RISCV/rvv/zvbc.s
    M llvm/test/MC/RISCV/rvv/zvfbfmin.s
    M llvm/test/MC/RISCV/rvv/zvfbfwma.s
    M llvm/test/MC/RISCV/rvv/zvkb.s
    M llvm/test/MC/RISCV/rvv/zvkg.s
    M llvm/test/MC/RISCV/rvv/zvkned.s
    M llvm/test/MC/RISCV/rvv/zvknh.s
    M llvm/test/MC/RISCV/rvv/zvksed.s
    M llvm/test/MC/RISCV/rvv/zvksh.s
    M llvm/test/MC/RISCV/rvv/zvlsseg.s
    M llvm/test/MC/RISCV/scoped-relaxation.s
    M llvm/test/MC/WebAssembly/global-ctor-dtor.ll
    M llvm/test/TableGen/riscv-target-def.td
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-debug.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    A llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gep-with-extractelement-many-users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/unittests/ADT/StringRefTest.cpp
    M llvm/unittests/BinaryFormat/DwarfTest.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
    M llvm/utils/release/test-release.sh
    M mlir/include/mlir/Dialect/LLVMIR/VCIXOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    A mlir/test/Dialect/SparseTensor/fuse_sparse_convert_into_producer.mlir
    R mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir
    M offload/plugins-nextgen/host/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/test/unified_shared_memory/api.c
    M offload/test/unified_shared_memory/close_manual.c
    M offload/test/unified_shared_memory/shared_update.c
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_affinity.h
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/unittests/BUILD.bazel

  Log Message:
  -----------
  Merge branch 'main' into users/kparzysz/leaforself-unit


Compare: https://github.com/llvm/llvm-project/compare/f9e4b19df9b0...0b7ebea37bc1

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