[all-commits] [llvm/llvm-project] 3d71e4: [docs]: Add a note about using custom types with d...

Fangrui Song via All-commits all-commits at lists.llvm.org
Fri Feb 16 12:35:56 PST 2024


  Branch: refs/heads/users/MaskRay/spr/llvm-objcopy-fix-file-offsets-when-pt_interppt_load-offsets-are-equal
  Home:   https://github.com/llvm/llvm-project
  Commit: 3d71e4166de81bc3b86d127d9ac6607bda2b2755
      https://github.com/llvm/llvm-project/commit/3d71e4166de81bc3b86d127d9ac6607bda2b2755
  Author: Jeremy Kun <2467754+j2kun at users.noreply.github.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M mlir/docs/Diagnostics.md

  Log Message:
  -----------
  [docs]: Add a note about using custom types with diagnostics (#73818)


  Commit: 74fc16aaaa227b84e22706d2c5e376287f560b9e
      https://github.com/llvm/llvm-project/commit/74fc16aaaa227b84e22706d2c5e376287f560b9e
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Core/ModuleList.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Symbol/SymbolLocator.cpp

  Log Message:
  -----------
  [lldb] Expand background symbol download (#80890)

LLDB has a setting (symbols.enable-background-lookup) that calls
dsymForUUID on a background thread for images as they appear in the
current backtrace. Originally, the laziness of only looking up symbols
for images in the backtrace only existed to bring the number of
dsymForUUID calls down to a manageable number.

Users have requesting the same functionality but blocking. This gives
them the same user experience as enabling dsymForUUID globally, but
without the massive upfront cost of having to download all the images,
the majority of which they'll likely not need.

This patch renames the setting to have a more generic name
(symbols.auto-download) and changes its values from a boolean to an
enum. Users can now specify "off", "background" and "foreground". The
default remains "off" although I'll probably change that in the near
future.


  Commit: 88e52511ca71165f1ff3d7c42229aeacb2c16db3
      https://github.com/llvm/llvm-project/commit/88e52511ca71165f1ff3d7c42229aeacb2c16db3
  Author: alex-t <alex-t at users.noreply.github.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
    M llvm/test/CodeGen/AMDGPU/call-waitcnt.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/cc-update.ll
    M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll

  Log Message:
  -----------
  [AMDGPU] Compiler should synthesize private buffer resource descriptor from flat_scratch_init (#79586)

This change implements synthesizing the private buffer resource
descriptor in the kernel prolog instead of using the preloaded kernel
argument.


  Commit: d0f72f88606b78447fb7b61214651854c787c26f
      https://github.com/llvm/llvm-project/commit/d0f72f88606b78447fb7b61214651854c787c26f
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
    M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll

  Log Message:
  -----------
  [RISCV] Consider truncate semantics in performBUILD_VECTORCombine (#81168)

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

Per the documentation in ISDOpcodes.h, for BUILD_VECTOR "The types of
the operands must match the vector element type, except that integer
types are allowed to be larger than the element type, in which case the
operands are implicitly truncated."

This transform was assuming that the scalar operand type matched the
result type. This resulted in essentially performing a truncate before a
binop, instead of after. As demonstrated by the test case changes, this
is often not legal.


  Commit: 35c4f025f9d4c398eff0c8e49a47a5c7067939ba
      https://github.com/llvm/llvm-project/commit/35c4f025f9d4c398eff0c8e49a47a5c7067939ba
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [NFC][clang][Driver] Specify options for <arg> with -save-temps=<arg> (#80921)


  Commit: 3b57b647a9bb821137f91dfbc2172a9947f620cc
      https://github.com/llvm/llvm-project/commit/3b57b647a9bb821137f91dfbc2172a9947f620cc
  Author: Natalie Chouinard <sudonatalie at google.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M clang/lib/Basic/Targets/SPIR.h
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/IR/Function.cpp
    M llvm/lib/TargetParser/Triple.cpp

  Log Message:
  -----------
  [HLSL][SPIR-V] Add create.handle intrinsic (#81038)

Add a SPIR-V target-specific intrinsic for creating handles, which is
used for lowering HLSL resources types like RWBuffer.

`llvm/lib/TargetParser/Triple.cpp`: SPIR-V intrinsics use "spv" as the
target prefix, not "spirv". As far as I can tell, this is the first one
that is used via the `CGBuiltin` codepath, which relies on
`getArchTypePrefix`, so I've corrected it here.

`clang/lib/Basic/Targets/SPIR.h`: When records are laid out in the
lowering from AST to IR, they were incorrectly offset because these
Pointer attributes were defaulting to 32.

Related to #81036


  Commit: e5924d64991abb4da111317ff5e8d9147265354a
      https://github.com/llvm/llvm-project/commit/e5924d64991abb4da111317ff5e8d9147265354a
  Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/test/CAPI/sparse_tensor.c
    M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul24_lib.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sm80-lt/sparse-matmul-2-4-lib.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sm80-lt/sparse-matmul-2-4-prune.mlir
    M mlir/test/python/dialects/sparse_tensor/dialect.py

  Log Message:
  -----------
  [mlir][sparse] Implement parsing n out of m (#79935)

1. Add parsing methods for block[n, m].
2. Encode n and m with the newly extended 64-bit LevelType enum.
3. Update 2:4 methods names/comments to n:m.


  Commit: d1fdb416299c0efa5979ed989f7c1f39973dcb73
      https://github.com/llvm/llvm-project/commit/d1fdb416299c0efa5979ed989f7c1f39973dcb73
  Author: John Demme <john.demme at microsoft.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/test/python/ir/module.py

  Log Message:
  -----------
  [MLIR][Python] Add method for getting the live operation objects (#78663)

Currently, a method exists to get the count of the operation objects
which are still alive. This helps for sanity checking, but isn't
terribly useful for debugging. This new method returns the actual
operation objects which are still alive.

This allows Python code like the following:

```
    gc.collect()
    live_ops = ir.Context.current._get_live_operation_objects()
    for op in live_ops:
      print(f"Warning: {op} is still live. Referrers:")
      for referrer in gc.get_referrers(op)[0]:
        print(f"  {referrer}")
```


  Commit: 705fcd4e0addee6e9e13541dbcbc81cec9748a83
      https://github.com/llvm/llvm-project/commit/705fcd4e0addee6e9e13541dbcbc81cec9748a83
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Core/ModuleList.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Host/common/Host.cpp
    M lldb/source/Symbol/SymbolLocator.cpp

  Log Message:
  -----------
  Revert "[lldb] Expand background symbol lookup" (#81182)

Reverts llvm/llvm-project#80890


  Commit: b8545e1ece271df16185d446503474c105d6398a
      https://github.com/llvm/llvm-project/commit/b8545e1ece271df16185d446503474c105d6398a
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll

  Log Message:
  -----------
  [RISCV] Consider all subvector extracts within a single VREG cheap (#81032)

This adjusts the isSubVectorExtractCheap callback to consider any
extract which fits entirely within the first VLEN bits of the src vector
(and uses a 5 bit immediate for the slide) as cheap. These can be done
via a single m1 vslide1down.vi instruction.

This allows our generic DAG combine logic to kick in and recognize a few
more cases where shuffle source is longer than the dest, but that using
a wider shuffle is still profitable. (Or as shown in the test diff, we
can split the wider source and do two narrower shuffles.)


  Commit: 5f4b40c90a51248b097de7b5bc89c6976d4c3298
      https://github.com/llvm/llvm-project/commit/5f4b40c90a51248b097de7b5bc89c6976d4c3298
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Core/ModuleList.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Symbol/SymbolLocator.cpp

  Log Message:
  -----------
  [lldb] Expand background symbol download (#80890)

LLDB has a setting (symbols.enable-background-lookup) that calls
dsymForUUID on a background thread for images as they appear in the
current backtrace. Originally, the laziness of only looking up symbols
for images in the backtrace only existed to bring the number of
dsymForUUID calls down to a manageable number.

Users have requesting the same functionality but blocking. This gives
them the same user experience as enabling dsymForUUID globally, but
without the massive upfront cost of having to download all the images,
the majority of which they'll likely not need.

This patch renames the setting to have a more generic name
(symbols.auto-download) and changes its values from a boolean to an
enum. Users can now specify "off", "background" and "foreground". The
default remains "off" although I'll probably change that in the near
future.


  Commit: 3f9d8d892e2de2ac2542cb8e88ae5317f3282244
      https://github.com/llvm/llvm-project/commit/3f9d8d892e2de2ac2542cb8e88ae5317f3282244
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/test/tools/llvm-cov/mcdc-const.test
    M llvm/test/tools/llvm-cov/mcdc-general.test

  Log Message:
  -----------
  [Coverage] MCDCRecordProcessor: Find `ExecVectors` directly (#80816)

Deprecate `TestVectors`, since no one uses it.

This affects the output order of ExecVectors.
The current impl emits sorted by binary value of ExecVector. This impl
emits along the traversal of `buildTestVector()`.


  Commit: 581857278961b41bc1676499f92167b97a5e4c58
      https://github.com/llvm/llvm-project/commit/581857278961b41bc1676499f92167b97a5e4c58
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/Object/WasmObjectFile.cpp
    A llvm/test/Object/wasm-linked-namesec-with-linkingsec.yaml
    A llvm/test/Object/wasm-linked-symbol-table.yaml
    A llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml
    R llvm/test/tools/llvm-objdump/wasm/linked-symbol-table.yaml

  Log Message:
  -----------
  [Object][Wasm] Generate symbol info from name section names (#81063)

Currently symbol info is generated from a linking section or from export
names. This PR generates symbols in a WasmObjectFile from the name
section as well, which allows tools like objdump and nm to show useful
information for more linked binaries. There are some limitations:
most notably that we don't assume any particular ABI, so we don't get
detailed information about data symbols if the segments are merged
(which is the default).

Covers most of the desired functionality from #76107


  Commit: cdde0d9602217eb0bc091b4de16197e6aa5bb132
      https://github.com/llvm/llvm-project/commit/cdde0d9602217eb0bc091b4de16197e6aa5bb132
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h

  Log Message:
  -----------
  [clang][Interp][NFC] Make a local variable const


  Commit: 7c9c4983b1d493c2fdea76f99591f9ab49877306
      https://github.com/llvm/llvm-project/commit/7c9c4983b1d493c2fdea76f99591f9ab49877306
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h

  Log Message:
  -----------
  [DWARFLinkerParallel] Fix member initialization order (#81179)

DWARFLinkerImpl::DWARFLinkerImpl initializes
DebugStrStrings/DebugLineStrStrings/CommonSections using GlobalData
but GlobalData is initialized after the three members.
Move GlobalData before.

Fix #81110


  Commit: f78c9b88b7a1a54cf67037f9088a3e48779b1e44
      https://github.com/llvm/llvm-project/commit/f78c9b88b7a1a54cf67037f9088a3e48779b1e44
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Use MCPhysReg for AllPopRegs. NFC

MCPhysReg is 2 bytes, while Register is 4 bytes.


  Commit: 4b54b474aa0ffb355faa63cc2d8f95fd321c887f
      https://github.com/llvm/llvm-project/commit/4b54b474aa0ffb355faa63cc2d8f95fd321c887f
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp

  Log Message:
  -----------
  [NVPTX][NFC] cleanup dead vars, use MAKE_CASE (#81161)

Cleanup some dead variables. In addition, switch to a `MAKE_CASE` macro,
similar to other targets, to reduce boilerplate.


  Commit: 0572dabb71147fdc156d90a3ecd036d1652c2006
      https://github.com/llvm/llvm-project/commit/0572dabb71147fdc156d90a3ecd036d1652c2006
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn

  Log Message:
  -----------
  [gn build] Add IntrinsicsSPIRV.h generator

This was missing in the gn build for some reason, causing build errors like http://45.33.8.238/linux/130337/step_4.txt after 3b57b647.


  Commit: a6f42adf9ba03d69e8bf2eaf5af2e7f8f6294b37
      https://github.com/llvm/llvm-project/commit/a6f42adf9ba03d69e8bf2eaf5af2e7f8f6294b37
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [Bazel] Update for SPIRV


  Commit: 7fe97f042036407a124bf1646a3f1124ddac3de5
      https://github.com/llvm/llvm-project/commit/7fe97f042036407a124bf1646a3f1124ddac3de5
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

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

  Log Message:
  -----------
  [BOLT] Always run CheckLargeFunctions in non-relocation mode (#80922)

We run CheckLargeFunctions pass in non-relocation mode to prevent the
emission of functions that later could not be written to the output due
to their large size. The main reason behind the pass is to prevent the
emission of metadata for such functions since this metadata becomes
incorrect if the function is left unmodified.

Currently, the pass is enabled in non-relocation mode only when debug
info output is also enabled. As we emit increasingly more kinds of
metadata, e.g. for the Linux kernel, it becomes more challenging to
track metadata that needs to be fixed. Hence, I'm enabling the pass to
always run in non-relocation mode.


  Commit: 7b5a9bb8f0f58b188655252f74b0941512e44389
      https://github.com/llvm/llvm-project/commit/7b5a9bb8f0f58b188655252f74b0941512e44389
  Author: Davide Italiano <davidino at fb.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M .github/CODEOWNERS

  Log Message:
  -----------
  [github/CODEOWNERS] Add Alexander as BOLT reviewer.


  Commit: 3c42e10afdc518f6d8be5620289ef0da0bf03c5f
      https://github.com/llvm/llvm-project/commit/3c42e10afdc518f6d8be5620289ef0da0bf03c5f
  Author: Reid Kleckner <rnk at google.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/Expr.cpp
    M clang/test/SemaCXX/compound-literal.cpp
    M clang/unittests/AST/ASTExprTest.cpp

  Log Message:
  -----------
  Consider aggregate bases when checking if an InitListExpr is constant (#80519)

This code was correct as written prior to C++17, which allowed bases to
appear in the initializer list.

This was observable by creating non-constant aggregate initialization at
file scope in a compound literal, but since that behavior will change
soon if we implement support for dynamic initialization, I also added a
unit test for `isConstantInitializer`.

This fixes at least one part of issue #80510 .

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: 06c89bd59ca2279f76a41e851b7b2df634a6191e
      https://github.com/llvm/llvm-project/commit/06c89bd59ca2279f76a41e851b7b2df634a6191e
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll

  Log Message:
  -----------
  [RISCV] Check type is legal before combining mgather to vlse intrinsic (#81107)

Otherwise we will crash since target intrinsics don't have their types
legalized. Let the mgather get legalized first, then do the combine on
the legal type.
Fixes #81088

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: f7201505a6ec7a0f904d2f09cece5c770058a991
      https://github.com/llvm/llvm-project/commit/f7201505a6ec7a0f904d2f09cece5c770058a991
  Author: Jerry Wu <cheyuw at google.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
    M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/SCF/Transforms/WrapInZeroTripCheck.cpp
    A mlir/test/Dialect/SCF/wrap-while-loop-in-zero-trip-check.mlir
    M mlir/test/lib/Dialect/SCF/CMakeLists.txt
    A mlir/test/lib/Dialect/SCF/TestSCFWrapInZeroTripCheck.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp

  Log Message:
  -----------
  [mlir] Add transformation to wrap scf::while in zero-trip-check (#81050)

Add `scf::wrapWhileLoopInZeroTripCheck` to wrap scf while loop in
zero-trip-check.


  Commit: 8c106a15156857d23ba9e61c55b49b1e2b6c1583
      https://github.com/llvm/llvm-project/commit/8c106a15156857d23ba9e61c55b49b1e2b6c1583
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Fir/fir-ops.fir

  Log Message:
  -----------
  [flang] Fix attribute printing for fir.global op (#81197)

The custom printer for `fir.global` was eluding all the attributes
present on the op when printing the attribute dictionary. So any
attribute that is not part of the pretty printing was therefore
discarded.
This patch fix the printer and also make use of the getters for the
attribute names when they are hardcoded.


  Commit: 9affa177b526459beddafad30474d2e3186376e4
      https://github.com/llvm/llvm-project/commit/9affa177b526459beddafad30474d2e3186376e4
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/test/CodeGen/NVPTX/alias.ll

  Log Message:
  -----------
  [NVPTX] Add support for calling aliases (#81170)

The current implementation of aliases tries to remove all the aliases in
the module to prevent the generic version of `AsmPrinter` from emitting
them incorrectly. Unfortunately, if the aliases are used this will fail.
Instead let's override the function to print aliases directly.

In addition, the declarations of the alias functions must occur before
the uses. To fix this we emit alias declarations as part of
`emitDeclarations` and only emit the `.alias` directives at the end
(where we can assume the aliasee has also already been declared).


  Commit: 9211e67da36782db44a46ccb9ac06734ccf2570f
      https://github.com/llvm/llvm-project/commit/9211e67da36782db44a46ccb9ac06734ccf2570f
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp
    A llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll

  Log Message:
  -----------
  [NVVMReflect] Force dead branch elimination in NVVMReflect (#81189)

Summary:
The `__nvvm_reflect` function is used to guard invalid code that varies
between architectures. One problem with this feature is that if it is
used without optimizations, it will leave invalid code in the module
that will then make it to the backend. The `__nvvm_reflect` pass is
already mandatory, so it should do some trivial branch removal to ensure
that constants are handled correctly. This dead branch elimination only
works in the trivial case of a compare on a branch and does not touch
any conditionals that were not realted to the `__nvvm_reflect` call in
order to preserve `O0` semantics as much as possible. This should allow
the following to work on NVPTX targets

```c
int foo() {
  if (__nvvm_reflect("__CUDA_ARCH") >= 700)
    asm("valid;\n");
}
```


  Commit: 42230e213e11a0cf9cdbdcd49225eb0d325ef007
      https://github.com/llvm/llvm-project/commit/42230e213e11a0cf9cdbdcd49225eb0d325ef007
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M clang/test/Driver/linker-wrapper.c
    M llvm/lib/Object/OffloadBinary.cpp

  Log Message:
  -----------
  [LinkerWrapper] Allow 'all' as a generic bundled architecture (#81193)

Summary:
Currently, the linker wrapper sorts input files into different link
jobs according to their architectures. Here we assume each architecture
is a unique and incompatible link job unless they are specifically
marked compatible. This patch simply adds an `all` target to represent
an architecture that should be linked against every single other
architecture.

This will be useful for modelling generic IR such as the ROCm device
libraries or the NVPTX libdevice.


  Commit: c429f48b56714f9366eee8490061bd008635cbc0
      https://github.com/llvm/llvm-project/commit/c429f48b56714f9366eee8490061bd008635cbc0
  Author: Sam Clegg <sbc at chromium.org>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/Object/WasmObjectFile.cpp
    A llvm/test/Object/wasm-bad-relocation.yaml

  Log Message:
  -----------
  [Object][WebAssembly] Improve error on invalid relocation (#81203)

See https://github.com/emscripten-core/emscripten/issues/21140


  Commit: 0800a36053943beabe1c3f98fe4ecccbc192a2a7
      https://github.com/llvm/llvm-project/commit/0800a36053943beabe1c3f98fe4ecccbc192a2a7
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp
    R llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll

  Log Message:
  -----------
  Revert "[NVVMReflect] Force dead branch elimination in NVVMReflect (#81189)"

This reverts commit 9211e67da36782db44a46ccb9ac06734ccf2570f.

Summary:
This seemed to crash one one of the CUDA math tests. Revert until it can
be fixed.


  Commit: 2572f45c7d6c081ba9b4fa344e928182f8df7773
      https://github.com/llvm/llvm-project/commit/2572f45c7d6c081ba9b4fa344e928182f8df7773
  Author: Valentin Clement <clementval at gmail.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/CMakeLists.txt

  Log Message:
  -----------
  [flang] Fix missing generated header

Fix buildbot failing because of missing  HLFIRTypes.h.inc


  Commit: 93471466be65cf78330782d461a821ffb82e070a
      https://github.com/llvm/llvm-project/commit/93471466be65cf78330782d461a821ffb82e070a
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/docs/CodeReview.rst
    M llvm/docs/GitHub.rst

  Log Message:
  -----------
  Document use of `skip-precommit-approval` label for non-review pull requests (#81053)

Derived from this discussion:
https://discourse.llvm.org/t/prs-without-approvals-muddy-the-waters/76656


  Commit: 1d4fc381d3da4317cc2cfa59b2d59d53decddf71
      https://github.com/llvm/llvm-project/commit/1d4fc381d3da4317cc2cfa59b2d59d53decddf71
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    A llvm/test/tools/llvm-dwarfdump/X86/verify_empty_debug_line_sequence.yaml

  Log Message:
  -----------
  [DWARFVerifier] Fix verification of empty line tables (#81162)

A line table whose sole entry is an end sequence should not have the
entry's file index verified, as that value corresponds to the initial
value of the state machine, not to a real file index. In DWARF 5, this
is particularly problematic as it uses 0-based indexing, and the state
machine specifies a starting index of 1; in other words, you'd need to
have _two_ files before such index became legal "by default".

A previous attempt to fix this problem was done [1], but it was too
specific in its condition, and did not capture all possible cases where
this issue can happen.

[1]: https://github.com/llvm/llvm-project/pull/77004


  Commit: 1389260805ec2ffb74a4fb311e7327c64d9b8f54
      https://github.com/llvm/llvm-project/commit/1389260805ec2ffb74a4fb311e7327c64d9b8f54
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp

  Log Message:
  -----------
  [JITLink][MachO][arm64] Fix error-check order.

The error check should be performed after the iterator increment, not before
it. Thanks to @dcb314 for catching this!

Fixes github.com/apple/swift/issues/81119


  Commit: fbf43b0121006e371fbf50ad8642e4c62405e5cc
      https://github.com/llvm/llvm-project/commit/fbf43b0121006e371fbf50ad8642e4c62405e5cc
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M libc/include/math.h.def
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/utils/HdrGen/PublicAPICommand.cpp

  Log Message:
  -----------
  [libc] Only declare float128 math functions in the generated math.h if float128 type is supported. (#81010)


  Commit: 4759890f859277cd798648a9a333573cd088d98a
      https://github.com/llvm/llvm-project/commit/4759890f859277cd798648a9a333573cd088d98a
  Author: Alexey Z <alexey.zhikhar at gmail.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Fix bug in insert_slice canonical. with tensor encoding (#81045)

Previously, `InsertSliceOpSourceCastInserter` was incorrectly applied to
a case when tensor types have an encoding attribute attached to them.
The type `newSrcType` was missing that attribute from the old `srcType`,
which made the expression `srcType == newSrcType` false, since
`tensor<2x2xf32, "foo">` is not equal to `tensor<2x2xf32>`. That lead to
an endless back and forth between `InsertSliceOpSourceCastInserter` that
would introduce a cast and `InsertSliceOpCastFolder` that would remove
it right after.


  Commit: 6e1f438528b6e1ece2f6ef331905c352ccc2fcfd
      https://github.com/llvm/llvm-project/commit/6e1f438528b6e1ece2f6ef331905c352ccc2fcfd
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lld/test/ELF/segments.s

  Log Message:
  -----------
  [ELF] Improve --ro-rosegment/--omagic/--nmagic tests

Notably, test that --ro-rosegment with a linker script may unnecessarily
make a read-only PT_LOAD executable.


  Commit: f60826917aff102450a470dee85208fd578685c4
      https://github.com/llvm/llvm-project/commit/f60826917aff102450a470dee85208fd578685c4
  Author: Abdurrahman Akkas <abdurrahmanakkas at gmail.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M mlir/lib/IR/AsmPrinter.cpp

  Log Message:
  -----------
  [MLIR] Fix a small formatting issue in AsmPrinter.cpp (#81214)

Introduced in 76ce4736721a6e9030210bda6df0ad8a8f478a19


  Commit: ffabcbcf8f9fc7ef5fd29e2a711f95aba0ef7808
      https://github.com/llvm/llvm-project/commit/ffabcbcf8f9fc7ef5fd29e2a711f95aba0ef7808
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp
    A llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll

  Log Message:
  -----------
  [NVVMReflect][Reland] Force dead branch elimination in NVVMReflect (#81189)

Summary:
The `__nvvm_reflect` function is used to guard invalid code that varies
between architectures. One problem with this feature is that if it is
used without optimizations, it will leave invalid code in the module
that will then make it to the backend. The `__nvvm_reflect` pass is
already mandatory, so it should do some trivial branch removal to ensure
that constants are handled correctly. This dead branch elimination only
works in the trivial case of a compare on a branch and does not touch
any conditionals that were not realted to the `__nvvm_reflect` call in
order to preserve `O0` semantics as much as possible. This should allow
the following to work on NVPTX targets

```c
int foo() {
  if (__nvvm_reflect("__CUDA_ARCH") >= 700)
    asm("valid;\n");
}
```

Relanding after fixing a bug.


  Commit: c560ce464ae486e86e3d2d9684df3f714317f502
      https://github.com/llvm/llvm-project/commit/c560ce464ae486e86e3d2d9684df3f714317f502
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf

  Log Message:
  -----------
  [flang][cuda] Lower attribute for dummy argument (#81212)

Lower CUDA attribute for simple dummy argument. This is done in a
similar way than `TARGET`, `OPTIONAL` and so on.

This patch also move the `Fortran::common::CUDADataAttr` to
`fir::CUDAAttributeAttr` mapping to
`flang/include/flang/Optimizer/Support/Utils.h` so that it can be reused
where needed.


  Commit: 8e297c779635d7f22626c1a9dd1cb9dc86ea6540
      https://github.com/llvm/llvm-project/commit/8e297c779635d7f22626c1a9dd1cb9dc86ea6540
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M lld/test/ELF/segments.s

  Log Message:
  -----------
  [ELF] Improve --ro-rosegment tests


  Commit: ac0577177f053ba7e7016e1b7e44cf5932d00b03
      https://github.com/llvm/llvm-project/commit/ac0577177f053ba7e7016e1b7e44cf5932d00b03
  Author: Abinaya Saravanan <quic_asaravan at quicinc.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
    M llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp

  Log Message:
  -----------
  [HEXAGON] Add basic block limit for RDF optimizations (#81071)

Skip RDF optimizations if a function contains a number of basic blocks
that is more than a limit

---------

Co-authored-by: Yashas Andaluri <quic_yandalur at quicinc.com>


  Commit: db88f3015867ca569ae78a30f20a944c8e1b8afc
      https://github.com/llvm/llvm-project/commit/db88f3015867ca569ae78a30f20a944c8e1b8afc
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll

  Log Message:
  -----------
  [RISCV] Add test for saving s10 with cm.push. NFC

If cm.push saves s10, it must also save s11 due to an encoding
limitation. We handle this in the code, but had no test for it.


  Commit: 763139afc19ddf2e0f0265dc828ce8e5fbe92530
      https://github.com/llvm/llvm-project/commit/763139afc19ddf2e0f0265dc828ce8e5fbe92530
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h

  Log Message:
  -----------
  [clang-format] Update FormatToken::isSimpleTypeSpecifier() (#80241)

Now with a8279a8bc541, we can make the update.


  Commit: b2cd50dbe78c0f0328fe208ab8c4d6005d9272dd
      https://github.com/llvm/llvm-project/commit/b2cd50dbe78c0f0328fe208ab8c4d6005d9272dd
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Use replace XLenVT with i64 in some isel patterns that are only used for RV64. NFC


  Commit: 95b14da678f4670283240ef4cf60f3a39bed97b4
      https://github.com/llvm/llvm-project/commit/95b14da678f4670283240ef4cf60f3a39bed97b4
  Author: Quentin Dian <dianqk at dianqk.net>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
    A llvm/test/CodeGen/X86/PR71178-register-coalescer-crash.ll

  Log Message:
  -----------
  [RegisterCoalescer] Clear instructions not recorded in `ErasedInstrs` but erased (#79820)

Fixes #79718. Fixes #71178.

The same instructions may exist in an iteration. We cannot immediately
delete instructions in `ErasedInstrs`.


  Commit: abc39f9aa750634973fe8ba5519d6bbdd70567c4
      https://github.com/llvm/llvm-project/commit/abc39f9aa750634973fe8ba5519d6bbdd70567c4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-08 (Thu, 08 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoM.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td

  Log Message:
  -----------
  [RISCV] Add casts to isel patterns that produce more than 1 instruction.

We need explicitly cast to XLenVT to avoid tablegen picking i32.

If the SelectionDAG scheduler is used it can't find a register
class for i32 if i32 isn't a legal type.

Fixes #81192, but I might have missed some patterns.


  Commit: 0079136f7d2454ef2889061bb214741163ba232d
      https://github.com/llvm/llvm-project/commit/0079136f7d2454ef2889061bb214741163ba232d
  Author: David Green <david.green at arm.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/BasicAA/vscale.ll

  Log Message:
  -----------
  [BasicAA] Fix Scale check in vscale aliasing. (#81174)

This is a fix for #80818, as pointed out in #81144 it should be checking
the abs of Scale. The added test changes from NoAlias to MayAlias.


  Commit: 8316bf34ac21117f35bc8e6fafa2b3e7da75e1d5
      https://github.com/llvm/llvm-project/commit/8316bf34ac21117f35bc8e6fafa2b3e7da75e1d5
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    R llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
    R llvm/test/CodeGen/X86/PR71178-register-coalescer-crash.ll

  Log Message:
  -----------
  Revert "[RegisterCoalescer] Clear instructions not recorded in `ErasedInstrs` but erased (#79820)"

This reverts commit 95b14da678f4670283240ef4cf60f3a39bed97b4.


  Commit: ccb46e8365787c446236df20c068d101c637346a
      https://github.com/llvm/llvm-project/commit/ccb46e8365787c446236df20c068d101c637346a
  Author: DianQK <dianqk at dianqk.net>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    A llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
    A llvm/test/CodeGen/X86/PR71178-register-coalescer-crash.ll

  Log Message:
  -----------
  Reapply "[RegisterCoalescer] Clear instructions not recorded in `ErasedInstrs` but erased (#79820)"

This reverts commit 8316bf34ac21117f35bc8e6fafa2b3e7da75e1d5.


  Commit: b477d39bf6811ac12a1e7e98f308cf4c9a8de26f
      https://github.com/llvm/llvm-project/commit/b477d39bf6811ac12a1e7e98f308cf4c9a8de26f
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    A flang/test/Semantics/typeinfo09.f90

  Log Message:
  -----------
  [flang] Align runtime info and lowering regarding passing ABIs (#81166)

Runtime derived type info contains information to tell the runtime if
some argument in a user defined assignment must be passed with a
descriptor or not. This information was not properly build, it would
tell the runtime that TARGET argument must be passed via descriptor,
which is incorrect.

Share the logic between lowering and runtime info generation to
determine if an argument must be passed by descriptor or not.


  Commit: bc6955f18ced3ca89d49bc28eeb58cd6d367e136
      https://github.com/llvm/llvm-project/commit/bc6955f18ced3ca89d49bc28eeb58cd6d367e136
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/crash-stack-address-O0.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
    M llvm/test/CodeGen/AMDGPU/array-ptr-calc-i32.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/captured-frame-index.ll
    M llvm/test/CodeGen/AMDGPU/cc-update.ll
    M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
    M llvm/test/CodeGen/AMDGPU/commute-compares.ll
    M llvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
    M llvm/test/CodeGen/AMDGPU/extload-private.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/frame-index-elimination-tied-operand.mir
    M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/huge-private-buffer.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/kernarg-stack-alignment.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.ptr.buffer.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
    M llvm/test/CodeGen/AMDGPU/regalloc-introduces-copy-sgpr-to-agpr.mir
    M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-no-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/si-spill-sgpr-stack.ll
    M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
    M llvm/test/CodeGen/AMDGPU/spill-m0.ll
    M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/spill-special-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
    M llvm/test/CodeGen/AMDGPU/stack-size-overflow.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
    M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
    M llvm/test/DebugInfo/AMDGPU/variable-locations.ll

  Log Message:
  -----------
  [AMDGPU] Don't fix the scavenge slot at offset 0 (#79136)

At the moment, the emergency spill slot is a fixed object for entry
functions and chain functions, and a regular stack object otherwise.
This patch adopts the latter behaviour for entry/chain functions too. It
seems this was always the intention [1] and it will also save us a bit
of stack space in cases where the first stack object has a large
alignment.

[1]
https://github.com/llvm/llvm-project/commit/34c8b835b16fb3879f1b9770e91df21883356bb6


  Commit: 0d9decc6694c188e2f7fa17d140ba9bd7cc98b6b
      https://github.com/llvm/llvm-project/commit/0d9decc6694c188e2f7fa17d140ba9bd7cc98b6b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Handle invalid CXXCtorInitializer expressions

Their type might be a null type, in which case we need to abort here.


  Commit: 173e674ba55eb93e8af43f2eece7feffe9954b34
      https://github.com/llvm/llvm-project/commit/173e674ba55eb93e8af43f2eece7feffe9954b34
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  [clang-format] Fix an out-of-bounds bug uncovered by 763139afc19d


  Commit: b9079baaddfed5e604fbfaa1d81a7a1c38e78c26
      https://github.com/llvm/llvm-project/commit/b9079baaddfed5e604fbfaa1d81a7a1c38e78c26
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/AsmWriterEmitter.cpp
    M llvm/utils/TableGen/AsmWriterInst.cpp
    M llvm/utils/TableGen/AsmWriterInst.h
    M llvm/utils/TableGen/CTagsEmitter.cpp
    M llvm/utils/TableGen/CallingConvEmitter.cpp
    M llvm/utils/TableGen/CodeEmitterGen.cpp
    M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/CodeGenHwModes.cpp
    M llvm/utils/TableGen/CodeGenHwModes.h
    M llvm/utils/TableGen/CodeGenInstruction.cpp
    M llvm/utils/TableGen/CodeGenInstruction.h
    M llvm/utils/TableGen/CodeGenIntrinsics.h
    M llvm/utils/TableGen/CodeGenMapTable.cpp
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/CodeGenRegisters.h
    M llvm/utils/TableGen/CodeGenSchedule.cpp
    M llvm/utils/TableGen/CodeGenSchedule.h
    M llvm/utils/TableGen/CodeGenTarget.cpp
    M llvm/utils/TableGen/CodeGenTarget.h
    M llvm/utils/TableGen/DAGISelEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcher.cpp
    M llvm/utils/TableGen/DAGISelMatcher.h
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
    M llvm/utils/TableGen/DFAEmitter.cpp
    M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/DisassemblerEmitter.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    M llvm/utils/TableGen/InfoByHwMode.cpp
    M llvm/utils/TableGen/InfoByHwMode.h
    M llvm/utils/TableGen/InstrDocsEmitter.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp
    M llvm/utils/TableGen/OptParserEmitter.cpp
    M llvm/utils/TableGen/PredicateExpander.cpp
    M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
    M llvm/utils/TableGen/RegisterBankEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/TableGen/SDNodeProperties.h
    M llvm/utils/TableGen/SearchableTableEmitter.cpp
    M llvm/utils/TableGen/SequenceToOffsetTable.h
    M llvm/utils/TableGen/SubtargetEmitter.cpp
    M llvm/utils/TableGen/SubtargetFeatureInfo.cpp
    M llvm/utils/TableGen/SubtargetFeatureInfo.h
    M llvm/utils/TableGen/TableGenBackends.h
    M llvm/utils/TableGen/Types.cpp
    M llvm/utils/TableGen/Types.h
    M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
    M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
    M llvm/utils/TableGen/X86DisassemblerShared.h
    M llvm/utils/TableGen/X86DisassemblerTables.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.h
    M llvm/utils/TableGen/X86ModRMFilters.cpp
    M llvm/utils/TableGen/X86ModRMFilters.h
    M llvm/utils/TableGen/X86RecognizableInstr.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.h

  Log Message:
  -----------
  [NFC] clang-format utils/TableGen (#80973)

```
find llvm/utils/TableGen -iname "*.h" -o -iname "*.cpp" | xargs clang-format-16 -i
```

Split from #80847


  Commit: 2f8e37d20114ecb223caaa5a72e8b7c13daf9f34
      https://github.com/llvm/llvm-project/commit/2f8e37d20114ecb223caaa5a72e8b7c13daf9f34
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/select-gep.ll

  Log Message:
  -----------
  [SROA] Unfold gep of index select (#80983)

SROA currently supports converting a gep of select into select of gep if
the select is in the pointer operand. This patch expands support to
selects in an index operand.

This is intended to address the regression reported in
https://github.com/llvm/llvm-project/pull/68882#issuecomment-1924909922.


  Commit: 38b54c72ca83fd56830b13d2a8d7749887b77922
      https://github.com/llvm/llvm-project/commit/38b54c72ca83fd56830b13d2a8d7749887b77922
  Author: Jean Perier <jperier at nvidia.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M flang/lib/Evaluate/characteristics.cpp

  Log Message:
  -----------
  [flang] fix shared library builds after #81166

Fix https://lab.llvm.org/buildbot/#/builders/268/builds/7826

IsDerivedTypeWithLengthParameter cannot be used here, it would make
libFortranEvaluate dependent on linFortranSemantics.
Replace by loop through parameter values.


  Commit: f6610578653fd47535a18284c688d725943ee8c3
      https://github.com/llvm/llvm-project/commit/f6610578653fd47535a18284c688d725943ee8c3
  Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/SIFrameLowering.cpp
    M llvm/lib/Target/AMDGPU/SIFrameLowering.h
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/abi-attribute-hints-undefined-behavior.ll
    M llvm/test/CodeGen/AMDGPU/blender-no-live-segment-at-def-implicit-def.ll
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/call-reqd-group-size.ll
    M llvm/test/CodeGen/AMDGPU/call-waitcnt.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/cc-update.ll
    M llvm/test/CodeGen/AMDGPU/cross-block-use-is-not-abi-copy.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call-known-callees.ll
    M llvm/test/CodeGen/AMDGPU/indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/kernel-vgpr-spill-mubuf-with-voffset.ll
    M llvm/test/CodeGen/AMDGPU/lds-frame-extern.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.lds.kernel.id.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-hybrid.ll
    M llvm/test/CodeGen/AMDGPU/lower-module-lds-via-table.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/need-fp-from-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/simple-indirect-call.ll
    M llvm/test/CodeGen/AMDGPU/tuple-allocation-failure.ll
    M llvm/test/CodeGen/AMDGPU/vgpr_constant_to_sgpr.ll

  Log Message:
  -----------
  Revert "[AMDGPU] Compiler should synthesize private buffer resource descriptor from flat_scratch_init" (#81234)

Reverts llvm/llvm-project#79586

This broke the AMDGPU OpenMP Offload buildbot.
The typical error message was that the GPU attempted to read beyong the
largest legal address.

Error message:
AMDGPU fatal error 1: Received error in queue 0x7f8363f22000:
HSA_STATUS_ERROR_MEMORY_APERTURE_VIOLATION: The agent attempted to
access memory beyond the largest legal address.


  Commit: d72e8c259637991c8d0be642a5ab2bfeb19b1c6e
      https://github.com/llvm/llvm-project/commit/d72e8c259637991c8d0be642a5ab2bfeb19b1c6e
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M .git-blame-ignore-revs

  Log Message:
  -----------
  [NFC] Add b9079ba to git-blame-ignore-revs (#81233)


  Commit: df2513c80bbd444ce97d28961bd5c20ffd7d3c44
      https://github.com/llvm/llvm-project/commit/df2513c80bbd444ce97d28961bd5c20ffd7d3c44
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/SemaCXX/conditional-expr.cpp

  Log Message:
  -----------
  [clang][Interp] Fix three-way comparison detection

Instead of using !T && CPlusPlus, just check the BinaryOperator's
opcode. Turns out we also hit this code path for some assignments
of structs in C++.


  Commit: 79e43eb3e20484bdb6f32eecc336742dd721fcc9
      https://github.com/llvm/llvm-project/commit/79e43eb3e20484bdb6f32eecc336742dd721fcc9
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/SemaCXX/self-comparison.cpp

  Log Message:
  -----------
  [clang][Interp] Protect ArrayDecay ops against dummy pointers


  Commit: 9e73656af524a2c592978aec91de67316c5ce69f
      https://github.com/llvm/llvm-project/commit/9e73656af524a2c592978aec91de67316c5ce69f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/SemaCXX/expression-traits.cpp

  Log Message:
  -----------
  [clang][Interp] Support ExpressionTraitExprs

Just push a constant bool value.


  Commit: 5609bd83c3bd39a7522b05b32decc9e3c8ad08ae
      https://github.com/llvm/llvm-project/commit/5609bd83c3bd39a7522b05b32decc9e3c8ad08ae
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/FormatToken.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h

  Log Message:
  -----------
  Revert "[clang-format] Update FormatToken::isSimpleTypeSpecifier() (#80241)"

This reverts commit 763139afc19ddf2e0f0265dc828ce8e5fbe92530.

It seems that LangOpts is not initialized before use.


  Commit: 245d7727d51548c3d5d867b69b1f9b1efff2502e
      https://github.com/llvm/llvm-project/commit/245d7727d51548c3d5d867b69b1f9b1efff2502e
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  Revert "[clang-format] Fix an out-of-bounds bug uncovered by 763139afc19d"

This reverts commit 173e674ba55eb93e8af43f2eece7feffe9954b34.

Actually, NotTokens[5] in QualifierFixerTest.cpp is not out of bounds.


  Commit: c227eca73970c65d9663e6d65abe3f9daef2a25f
      https://github.com/llvm/llvm-project/commit/c227eca73970c65d9663e6d65abe3f9daef2a25f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/arrays.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Convert test case to verify=expected,both style


  Commit: 02362b1ad1c07a01714b195d769400dd40dbfd04
      https://github.com/llvm/llvm-project/commit/02362b1ad1c07a01714b195d769400dd40dbfd04
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/unittests/Format/QualifierFixerTest.cpp

  Log Message:
  -----------
  [clang-format] Check token size in QualifierFixerTest.cpp


  Commit: ac3bd2bd530127786741bd9f164d66a3c3f40961
      https://github.com/llvm/llvm-project/commit/ac3bd2bd530127786741bd9f164d66a3c3f40961
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    R llvm/include/llvm/Transforms/Scalar/LoopReroll.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/CMakeLists.txt
    R llvm/lib/Transforms/Scalar/LoopRerollPass.cpp
    R llvm/test/Transforms/LoopReroll/basic.ll
    R llvm/test/Transforms/LoopReroll/basic32iters.ll
    R llvm/test/Transforms/LoopReroll/complex_reroll.ll
    R llvm/test/Transforms/LoopReroll/external_use.ll
    R llvm/test/Transforms/LoopReroll/extra_instr.ll
    R llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
    R llvm/test/Transforms/LoopReroll/negative.ll
    R llvm/test/Transforms/LoopReroll/nonconst_lb.ll
    R llvm/test/Transforms/LoopReroll/ptrindvar.ll
    R llvm/test/Transforms/LoopReroll/reduction.ll
    R llvm/test/Transforms/LoopReroll/reroll_with_dbg.ll

  Log Message:
  -----------
  [LoopReroll] Remove unused and unmaintained pass (#80972)

Remove the LoopReroll pass, which is both unused (in any default
pipeline) and unmaintained, with numerous open correctness issues
(https://github.com/llvm/llvm-project/issues?q=is%3Aissue+is%3Aopen+loop-reroll).
The removal is in line with
https://discourse.llvm.org/t/rfc-disallow-unmaintained-unused-passes/75151.

There is also a defunct `-freroll-loops` option in clang, which I'll
remove separately.

Migrated from https://reviews.llvm.org/D150684.


  Commit: 75798f21ca7626419ed341cf723ba51889e85500
      https://github.com/llvm/llvm-project/commit/75798f21ca7626419ed341cf723ba51889e85500
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn

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


  Commit: 1198c3aaff63d4ce63b760b4effc14babc0bdd8a
      https://github.com/llvm/llvm-project/commit/1198c3aaff63d4ce63b760b4effc14babc0bdd8a
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [X86] PromoteMaskArithmetic - use ISD::isBitwiseLogicOp wrapper. NFC.


  Commit: 713fe6dfd4803fba41f2102479580bed058ca0b3
      https://github.com/llvm/llvm-project/commit/713fe6dfd4803fba41f2102479580bed058ca0b3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [X86] PromoteMaskArithmetic - consistently use SDValue instead of underlying SDNode. NFC.


  Commit: 3902f9b6e2d925d50f9a4861d78e5aba07b6ef11
      https://github.com/llvm/llvm-project/commit/3902f9b6e2d925d50f9a4861d78e5aba07b6ef11
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [X86] PromoteMaskArithmetic - explicitly attempt to constant fold zext(c) instead of relying on getNode()

Don't rely on isBuildVectorOfConstantSDNodes/getNode to constant fold, this could also help in cases where the constant is behind a bitcast.

Noticed while investigating #80668


  Commit: 2cb61a1d117e2c20e3372bc23bf12b919feaaca2
      https://github.com/llvm/llvm-project/commit/2cb61a1d117e2c20e3372bc23bf12b919feaaca2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/Sema/ms_predefined_expr.cpp

  Log Message:
  -----------
  [clang][Interp] Fix initializing PredefinedExprs


  Commit: 316373abcc2abde414d4b9601f4752b6939a2133
      https://github.com/llvm/llvm-project/commit/316373abcc2abde414d4b9601f4752b6939a2133
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp

  Log Message:
  -----------
  [llvm][AArch64] Refactor expansion of CALL_BTI and CALL_RVMARKER (#80419)

After a lot of churn in expandCALL_BTI, it ended up doing the exact same
thing that expandCALL_RVMARKER does. This change factors out the common
code to make that clear.


  Commit: b5a273a1cfe6f509f8d2541e04d9186438f33348
      https://github.com/llvm/llvm-project/commit/b5a273a1cfe6f509f8d2541e04d9186438f33348
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
    M polly/lib/Support/ScopLocation.cpp
    M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
    M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll

  Log Message:
  -----------
  [Polly][DebugInfo] Use getStableDebugLoc to avoid intrinsic-dependent behaviour (#81246)

Polly currently uses `getDebugLoc` in a few places to produce diagnostic
output; this is correct when interacting with specific instructions, but
may be incorrect when dealing with instruction ranges if debug
intrinsics are included. As a general rule, the debug locations attached
to debug intrinsics may be misleading compared to the surrounding
instructions, and are not generally used for anything other than
determining variable scope info; the recommended approach is therefore
to use `getStableDebugLoc` instead, which skips over debug intrinsics.
This is necessary to fix test failures that occur when enabling
non-instruction debug info, which removes debug intrinsics from basic
blocks and thus alters the diagnostic output of Polly (despite causing
no functional change).


  Commit: 614fab49b0b47c6463fb4d9d788790345bfdb6ce
      https://github.com/llvm/llvm-project/commit/614fab49b0b47c6463fb4d9d788790345bfdb6ce
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [X86] PromoteMaskArithmetic - share the same SDLoc argument instead of recreating it over and over again.


  Commit: 047f8321f14a53caad7b564f7f654a470fdca8a9
      https://github.com/llvm/llvm-project/commit/047f8321f14a53caad7b564f7f654a470fdca8a9
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/ctpop-mask.ll

  Log Message:
  -----------
  [X86] ctpop-mask.ll - add 32-bit with SSE2 test coverage

32-bit targets will try to use SSE2 <2 x i64> CTPOP expansion for i64 CTPOP


  Commit: 9ba265636f3310b5b5b39767715e1843a06ea603
      https://github.com/llvm/llvm-project/commit/9ba265636f3310b5b5b39767715e1843a06ea603
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/ctpop-mask.ll

  Log Message:
  -----------
  [X86] ReplaceNodeResults - shrink i64 CTPOP to (shifted) CTPOP i32 if 32 or less active bits to avoid SSE2 codegen

32-bit targets perform i64 CTPOP as a v2i64 CTPOP - if we can perform this as a i32 CTPOP by shifting the source bits, then do so to avoid the gpr<->xmm

This also triggers on non-SSE2 capable targets, as can be seen with the minor codegen diffs in ctpop_shifted_mask16


  Commit: eb9cd800b3c8c787f75c00e7d9de3ae6a2e5f876
      https://github.com/llvm/llvm-project/commit/eb9cd800b3c8c787f75c00e7d9de3ae6a2e5f876
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp

  Log Message:
  -----------
  [Clang][TableGen] Add Features to TargetBuiltin

RISCV target will use this parameter, so we need a way to specify
it.

Reviewers: AaronBallman, philnik777

Reviewed By: AaronBallman

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


  Commit: a8d4a024e6bea3ae71d6187f0c040b2b25e4bf69
      https://github.com/llvm/llvm-project/commit/a8d4a024e6bea3ae71d6187f0c040b2b25e4bf69
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    R clang/include/clang/Basic/BuiltinsRISCV.def
    A clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/module.modulemap
    M clang/lib/Basic/Targets/RISCV.cpp

  Log Message:
  -----------
  [Clang][RISCV] Refactor builtins to TableGen

This mechanism is introduced by #68324.

This refactor makes the prototype and attributes clear.

Reviewers: asb, kito-cheng, philnik777, topperc, preames

Reviewed By: topperc

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


  Commit: 1f780bfac919dc34deface0f8e276d3573240291
      https://github.com/llvm/llvm-project/commit/1f780bfac919dc34deface0f8e276d3573240291
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn

  Log Message:
  -----------
  [gn] port a8d4a024e6bea3a (BuiltinsRISCV.td)


  Commit: 413e82a0875222e19993b1038ea803814e5ee48c
      https://github.com/llvm/llvm-project/commit/413e82a0875222e19993b1038ea803814e5ee48c
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
    M mlir/test/Target/LLVMIR/arm-sve.mlir

  Log Message:
  -----------
  [mlir][ArmSVE] Add intrinsics for the SME2 multi-vector zips (#80985)

These are added to the ArmSVE dialect for consistency with LLVM, which
registers SME2 intrinsics that don't require ZA under SVE.


  Commit: a9e546cc71e72f9febda174ed1ada70c584628c2
      https://github.com/llvm/llvm-project/commit/a9e546cc71e72f9febda174ed1ada70c584628c2
  Author: Tomas Matheson <76168689+tmatheson-arm at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/DAGISelEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcher.cpp
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][NFC] convert TreePatternNode pointers to references (#81134)

Almost all uses of `*TreePatternNode` expect it to be non-null. There
was the occasional check that it wasn't, which I have removed. Making
them references makes it clear that they exist.

This was attempted in 2018 (1b465767d6ca69f4b7201503f5f21e6125fe049a)
for `TreePatternNode::getChild()` but that was reverted.


  Commit: 0de859c8f22669ab7a816afdf975c7b012e511b9
      https://github.com/llvm/llvm-project/commit/0de859c8f22669ab7a816afdf975c7b012e511b9
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCRegisterInfo.h

  Log Message:
  -----------
  [MC] Fix operator++ for various MCRegister iterators (#81250)

Return *this from operator++. NFC, this just allows using ++Iter in
an expression in future patches.


  Commit: b5abaea3c0de605c8145035b21a5ee492883ebd7
      https://github.com/llvm/llvm-project/commit/b5abaea3c0de605c8145035b21a5ee492883ebd7
  Author: stephenpeckham <118857872+stephenpeckham at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
    M llvm/test/tools/llvm-objcopy/XCOFF/invalid-read.test
    M llvm/test/tools/llvm-objdump/XCOFF/disassemble-traceback-table.test
    M llvm/test/tools/llvm-objdump/XCOFF/section-headers.test
    M llvm/test/tools/llvm-readobj/XCOFF/file-header.test
    M llvm/test/tools/llvm-readobj/XCOFF/sections.test
    M llvm/test/tools/obj2yaml/XCOFF/aix.yaml
    M llvm/test/tools/obj2yaml/XCOFF/invalid-section.yaml
    M llvm/test/tools/yaml2obj/XCOFF/aux-hdr-defaults.yaml
    M llvm/test/tools/yaml2obj/XCOFF/basic-doc.yaml
    A llvm/test/tools/yaml2obj/XCOFF/offset-check.yaml

  Log Message:
  -----------
  [yaml2obj][XOFF] Update yaml2obj for XCOFF to create valid XCOFF files in more cases. (#77620)

yaml2obj creates invalid object files even when the input was created by
obj2yaml using a valid object file. On the other hand, yaml2obj is used
to intentionally create invalid object files for testing purposes.

This update balances using specified input values when provided and
computing file offsets and sizes if necessary.


  Commit: b1b8a383fcdab007ccd1a5daa08cb33ce7cbc6c0
      https://github.com/llvm/llvm-project/commit/b1b8a383fcdab007ccd1a5daa08cb33ce7cbc6c0
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
    M llvm/test/Transforms/InstCombine/icmp-gep.ll

  Log Message:
  -----------
  [InstCombine] Remove one-use restriction on icmp of gep fold (#76730)

The fold for icmp (gep (p, i1), gep (p, i2)) to icmp (i1, i2) is
currently limited to one of the GEPs either having one use or a constant
offset. I believe this is to avoid duplicating complex arithmetic both
in the GEP and the offset comparison.

This patch instead does the same thing that the indexed compare fold
does, which is to rewrite the GEP into i8 form if necessary, so that the
offset arithmetic is not repeated after the transform.

I ran into this problem in a case where there are multiple conditions on
the same pointer, which prevents them from getting folded.


  Commit: fcb59203c8b883aa39d22cf9788c48dbbb734932
      https://github.com/llvm/llvm-project/commit/fcb59203c8b883aa39d22cf9788c48dbbb734932
  Author: Corbin Robeck <corbin.robeck at amd.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU][DOC] Add MI200 Names to AMDGPUUsage Doc (#81252)


  Commit: 50c5107f42a88a1d2ab66dc6cd1f2cfee6707f7d
      https://github.com/llvm/llvm-project/commit/50c5107f42a88a1d2ab66dc6cd1f2cfee6707f7d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/test/CXX/drs/dr11xx.cpp
    M clang/test/CXX/drs/dr14xx.cpp
    M clang/test/CXX/drs/dr15xx.cpp
    M clang/test/CXX/drs/dr17xx.cpp
    M clang/test/CXX/drs/dr22xx.cpp
    M clang/test/CXX/drs/dr23xx.cpp
    A clang/test/CXX/drs/dr2504.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add tests for DRs about inheriting constructors (#79981)

Covers CWG issues
[1150](https://cplusplus.github.io/CWG/issues/1150.html),
[1487](https://cplusplus.github.io/CWG/issues/1487.html),
[1567](https://cplusplus.github.io/CWG/issues/1567.html),
[1738](https://cplusplus.github.io/CWG/issues/1738.html),
[2273](https://cplusplus.github.io/CWG/issues/2273.html),
[2277](https://cplusplus.github.io/CWG/issues/2277.html),
[2356](https://cplusplus.github.io/CWG/issues/2356.html),
[2504](https://cplusplus.github.io/CWG/issues/2504.html).

On top of the wording in proposed resolutions,
[P0136R1](https://wg21.link/p0136r1) "Rewording inheriting constructors
(core issue 1941 et al)" is a very relevant paper.

Note that status for 1738 `sup P0136R1` is not officially recognized by
CWG, but saying `yes` or `no` seems even more confusing to me. Official
resolution is to reject certain code, but Clang is the only
implementation that still rejects it to this day:
https://godbolt.org/z/b1W8jc1o5. GCC rejected it until 9, now it's
accepted: https://godbolt.org/z/of6oh4sdT


  Commit: d05483288465a87e75cfab51792801cfee43914c
      https://github.com/llvm/llvm-project/commit/d05483288465a87e75cfab51792801cfee43914c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Handle dummy pointers in ArrayElemPtr{,Pop} differently

Instead of returning false, just ignore the operation and return true;
This gives us the desired diagnostic behavior in the added test case.


  Commit: 356fdc31edd1734ef8dc8f010d5f805345157c49
      https://github.com/llvm/llvm-project/commit/356fdc31edd1734ef8dc8f010d5f805345157c49
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [bazel][clang] Fix BUILD after a8d4a024e6bea3ae71d6187f0c040b2b25e4bf69.


  Commit: a9700904765590ca2fbf08c0cc36d0da1107d3a7
      https://github.com/llvm/llvm-project/commit/a9700904765590ca2fbf08c0cc36d0da1107d3a7
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp][NFC] Convert test case to verify=expected,all style


  Commit: a0635edc5980218ad210da25a5c9afe346110ccb
      https://github.com/llvm/llvm-project/commit/a0635edc5980218ad210da25a5c9afe346110ccb
  Author: Florian Hahn <florian_hahn at apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll

  Log Message:
  -----------
  [PhaseOrdering] Add tests showing missed simplifications.

Add tests showing missed simplifications due to phase ordering.


  Commit: fdb16e6fd81b38835795f22730b39b30ddd90f07
      https://github.com/llvm/llvm-project/commit/fdb16e6fd81b38835795f22730b39b30ddd90f07
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Only use __int128 in test case if supported


  Commit: b081e9d4cafe2563c513ed7b5ae3ced6d177b657
      https://github.com/llvm/llvm-project/commit/b081e9d4cafe2563c513ed7b5ae3ced6d177b657
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp

  Log Message:
  -----------
  [Flang] Fix NULLIFY statement that returns too early for multiple procedure pointer objects. (#81164)

The current code that handles NULLIFY statement for procedure pointer
returns after the 1st object.
This PR is to remove the `return` so it can nullify multiple procedure
pointer objects.


  Commit: 935f7d633374f7073fec14927922a2d534c8795f
      https://github.com/llvm/llvm-project/commit/935f7d633374f7073fec14927922a2d534c8795f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/complex.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] We do support complex bitint now

Remove a stale FIXME comment and improve the test.


  Commit: 99d743320c5dddb780f1fb2f49414b10e6a52a05
      https://github.com/llvm/llvm-project/commit/99d743320c5dddb780f1fb2f49414b10e6a52a05
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/AST/Decl.cpp
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGenCXX/attr-target-version.cpp

  Log Message:
  -----------
  [clang][fmv] Drop .ifunc from target_version's entrypoint's mangling (#81194)

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


  Commit: 99446df3f5357b327b388bbbb4adf6465999ea60
      https://github.com/llvm/llvm-project/commit/99446df3f5357b327b388bbbb4adf6465999ea60
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py

  Log Message:
  -----------
  Bump the minimum LLVM version for chrono datatformatters tests


  Commit: 2095655f8e2324971f11be61b88ef1644d5796b8
      https://github.com/llvm/llvm-project/commit/2095655f8e2324971f11be61b88ef1644d5796b8
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/include/clang/AST/Decl.h
    M clang/lib/AST/Decl.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/test/SemaCXX/warn-unused-filescoped.cpp

  Log Message:
  -----------
  [clang][sema] Fix -Wunused-function on target_version'd file-scope Fn's (#81167)

We should only warn if the default version is the one that is unused.

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


  Commit: 7ddc32052546abd41656d2e670f3902b1bf805a7
      https://github.com/llvm/llvm-project/commit/7ddc32052546abd41656d2e670f3902b1bf805a7
  Author: quic-areg <aregmi at quicinc.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.h
    M llvm/test/tools/llvm-objcopy/ELF/ihex-writer.test
    A llvm/test/tools/llvm-objcopy/ELF/srec-writer.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp

  Log Message:
  -----------
  [llvm-objcopy] Support SREC output format (#75874)

Adds a new output target "srec" to write SREC files from ELF inputs.

https://en.wikipedia.org/wiki/SREC_(file_format)


  Commit: 1f20bc2cd273dd21459b9007a10c6aa67e5da1e2
      https://github.com/llvm/llvm-project/commit/1f20bc2cd273dd21459b9007a10c6aa67e5da1e2
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    A libc/src/math/fdimf128.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/fdimf128.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/fdim_test.cpp
    A libc/test/src/math/smoke/fdimf128_test.cpp
    M libc/test/src/math/smoke/fdimf_test.cpp
    M libc/test/src/math/smoke/fdiml_test.cpp

  Log Message:
  -----------
  [libc][math] Add C23 math function fdimf128. (#81074)


  Commit: 088773b0d1c1ee99d78f0b68bf50029637fbead7
      https://github.com/llvm/llvm-project/commit/088773b0d1c1ee99d78f0b68bf50029637fbead7
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Specify triple in C test

This is what test/Sema/const-eval.c does as well and without specifying
it, some windows builders are broken:

https://lab.llvm.org/buildbot/#/builders/265/builds/2453


  Commit: e973ab150a802a9503ca34753589d29863df30cc
      https://github.com/llvm/llvm-project/commit/e973ab150a802a9503ca34753589d29863df30cc
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/sys/socket/linux/bind_test.cpp

  Log Message:
  -----------
  [libc][NFC] Fix few warnings in tests. (#81262)

```
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/src/__support/FPUtil/fpbits_test.cpp:268:2: warning: extra ';' outside of a function is incompatible with C++98 [-Wc++98-compat-extra-semi]
};
 ^
1 warning generated.
```

```
In file included from /usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/src/sys/socket/linux/bind_test.cpp:17:
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/UnitTest/Test.h:17:9: warning: 'libc_make_test_file_path' macro redefined [-Wmacro-redefined]
#define libc_make_test_file_path(file_name) (file_name)
        ^
/usr/local/google/home/lntue/experiment/llvm/llvm-project/libc/test/UnitTest/LibcTest.h:20:9: note: previous definition is here
#define libc_make_test_file_path(file_name)                                    \
        ^
1 warning generated.
```


  Commit: 4f423e4989056316f9d807abb92c14b188490e30
      https://github.com/llvm/llvm-project/commit/4f423e4989056316f9d807abb92c14b188490e30
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M libcxx/utils/libcxx/test/features.py

  Log Message:
  -----------
  [libc++][test] Adds backdeployment shorthands. (#78204)

Some changes in libc++ affect the dylib. These changes are not present
on systems that use the system dylib. Currently that are the Apple
backdeployment targets. Figuring out which MacOS versions to target is
not trivial for non-Apple engineers. These shorthands make it easier to
select the proper feature make a test UNSUPPORTED or XFAIL.

During the design discussion with Louis we considered whether or not to
add preprocessor definitions to allow partial disabling of a test. This
would be useful when an existing feature is changed by modifying the
dylib. In the end we decided not to add this feature to avoid additional
complexity in the tests. Instead the test will be disabled for that
target.


  Commit: a5cc1dc82d61c156f75edc72eccacdb6776bf3f1
      https://github.com/llvm/llvm-project/commit/a5cc1dc82d61c156f75edc72eccacdb6776bf3f1
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M libcxx/test/tools/clang_tidy_checks/header_exportable_declarations.cpp

  Log Message:
  -----------
  [NFC][libc++] Removes obsolete compiler support. (#80481)

These work-arounds were slated for removal in LLVM-18, but missed the
deadline.


  Commit: 7291761669dd63624ccaab30887aca7e9c7d3273
      https://github.com/llvm/llvm-project/commit/7291761669dd63624ccaab30887aca7e9c7d3273
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.operator_bool.pass.cpp
    M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.operator_bool.pass.cpp

  Log Message:
  -----------
  [libc++] Fixes charconv operator bool tests. (#80598)

This was spotted by @philnik.


  Commit: b33b91a21788d439f49d6db4e7224c20f740f1a7
      https://github.com/llvm/llvm-project/commit/b33b91a21788d439f49d6db4e7224c20f740f1a7
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M mlir/docs/Tutorials/transform/Ch1.md
    M mlir/docs/Tutorials/transform/Ch2.md
    M mlir/docs/Tutorials/transform/Ch3.md
    M mlir/docs/Tutorials/transform/Ch4.md
    M mlir/examples/transform/Ch2/transform-opt/transform-opt.cpp
    M mlir/examples/transform/Ch3/transform-opt/transform-opt.cpp
    M mlir/examples/transform/Ch4/transform-opt/transform-opt.cpp
    M mlir/include/mlir/Dialect/Transform/Transforms/Passes.td
    M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h
    M mlir/include/mlir/Dialect/Transform/Utils/RaggedArray.h
    M mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp
    M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
    M mlir/test/Examples/transform/Ch1/invalidation-1.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-2.mlir
    M mlir/test/Examples/transform/Ch1/sequence.mlir
    M mlir/test/Examples/transform/Ch2/invalid.mlir
    M mlir/test/Examples/transform/Ch2/ops.mlir
    M mlir/test/Examples/transform/Ch2/sequence.mlir
    M mlir/test/Examples/transform/Ch3/invalid.mlir
    M mlir/test/Examples/transform/Ch3/ops.mlir
    M mlir/test/Examples/transform/Ch3/sequence.mlir
    M mlir/test/Examples/transform/ChH/full.mlir

  Log Message:
  -----------
  [mlir] update transform dialect tutorials (#81199)

Use the "main" transform-interpreter pass instead of the test pass.
This, along with the previously introduced debug extension, now allow
tutorials to no longer depend on test passes and extensions.


  Commit: 6d1396148977ca275df243a965ac504448bf5faa
      https://github.com/llvm/llvm-project/commit/6d1396148977ca275df243a965ac504448bf5faa
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M libcxx/test/configs/apple-libc++-backdeployment.cfg.in
    M libcxx/test/configs/apple-libc++-shared.cfg.in
    M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    M libcxx/test/configs/cmake-bridge.cfg.in
    M libcxx/test/configs/ibm-libc++-shared.cfg.in
    M libcxx/test/configs/llvm-libc++-android-ndk.cfg.in
    M libcxx/test/configs/llvm-libc++-mingw.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-no-vcruntime-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-shared.cfg.in
    M libcxx/test/configs/llvm-libc++-static-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-static.cfg.in
    M libcxx/test/libcxx/assertions/headers_declare_verbose_abort.gen.py
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/libcxx/double_include.gen.py
    M libcxx/test/libcxx/header_inclusions.gen.py
    M libcxx/test/libcxx/headers_in_modulemap.sh.py
    M libcxx/test/libcxx/libcpp_version.gen.py
    M libcxx/test/libcxx/module_std.gen.py
    M libcxx/test/libcxx/module_std_compat.gen.py
    M libcxx/test/libcxx/no_assert_include.gen.py
    M libcxx/test/libcxx/system_reserved_names.gen.py
    M libcxx/test/libcxx/transitive_includes.gen.py
    M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
    M libcxx/test/libcxx/vendor/clang-cl/static-lib-exports.sh.cpp
    M libcxx/test/libcxx/vendor/mingw/static-lib-exports.sh.cpp
    M libcxx/utils/libcxx/test/features.py
    M libcxx/utils/libcxx/test/format.py

  Log Message:
  -----------
  [libc++][test] Improves substitution naming (#80471)

Using the `-dir` suffix for directories makes it easier to understand.

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


  Commit: 4bf9fa5fb50497878edf8e277574ea9fb7d6bb7f
      https://github.com/llvm/llvm-project/commit/4bf9fa5fb50497878edf8e277574ea9fb7d6bb7f
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M libcxx/modules/std.compat.cppm.in
    M libcxx/modules/std.cppm.in
    M libcxx/utils/generate_libcxx_cppm_in.py

  Log Message:
  -----------
  [libc++][modules] Guard missing header validation on Windows. (#80478)

On Windows the libc++ test suite sees the MSVC STL headers and may
conclude these are libc++ headers when inspecting the name. Modules
guard against forgetting to export new headers. Finding MSVC STL's
headers gives false positives. Since the CI tests non-Windows platforms
too, the validation will be disabled on Windows.

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

---------

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


  Commit: a7520d9727d2638047e5c464b2937581f64e2ce5
      https://github.com/llvm/llvm-project/commit/a7520d9727d2638047e5c464b2937581f64e2ce5
  Author: Shourya Goel <shouryagoel10000 at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp

  Log Message:
  -----------
  [Clang-tidy] bugprone-too-small-loop-variable - false-negative when const variable is used as loop bound (#81183)

Changed LibASTMatcher to give an appropriate warning
when a const loop bound is initialized with a function declaration.

Fixes: #79580


  Commit: 5afbed1968588fe443a8a55053c2f1eaa321d28e
      https://github.com/llvm/llvm-project/commit/5afbed1968588fe443a8a55053c2f1eaa321d28e
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp

  Log Message:
  -----------
  [llvm-objcopy] Fix the build after 7ddc32052546abd41656d2e670f3902b1bf805a7. NFCI


  Commit: 1245f5f4da8f88d031c0a69388d97e8a6d7f00b5
      https://github.com/llvm/llvm-project/commit/1245f5f4da8f88d031c0a69388d97e8a6d7f00b5
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Darwin.cpp
    M clang/lib/Driver/ToolChains/Darwin.h
    A clang/test/Driver/xros-driver-requires-darwin-host.c

  Log Message:
  -----------
  [clang][Driver] Add support for XROS_DEPLOYMENT_TARGET env var (#81011)


  Commit: 94272a5a5d1549b32818805b82805e42c62ccfb4
      https://github.com/llvm/llvm-project/commit/94272a5a5d1549b32818805b82805e42c62ccfb4
  Author: Daniil Fukalov <1671137+dfukalov at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M openmp/runtime/src/CMakeLists.txt

  Log Message:
  -----------
  [OpenMP] Fix libomp debug build. (#81029)

Disable libstdc++ assertions in the runtime library just like in
https://reviews.llvm.org/D143168.


  Commit: c58c6aac7715d720358e317c26b6768940430ce9
      https://github.com/llvm/llvm-project/commit/c58c6aac7715d720358e317c26b6768940430ce9
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    A clang/test/SemaCXX/crash-GH10518.cpp
    A clang/test/SemaCXX/crash-GH49103-2.cpp
    A clang/test/SemaCXX/crash-GH67914.cpp
    A clang/test/SemaCXX/crash-GH78388.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp

  Log Message:
  -----------
  [clang][Sema] Add checks for validity of default ctor's class (#78898)

Fixes #10518
Fixes #67914
Fixes #78388
Also addresses the second example in #49103

This patch is based on suggestion from @cor3ntin in
https://github.com/llvm/llvm-project/issues/67914#issuecomment-1896011898


  Commit: 9bb54b2aa006e3bf5df5eb8672075dd589fb9ba5
      https://github.com/llvm/llvm-project/commit/9bb54b2aa006e3bf5df5eb8672075dd589fb9ba5
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    A clang/test/SemaCXX/warn-unused-filescoped-fmv.cpp
    M clang/test/SemaCXX/warn-unused-filescoped.cpp

  Log Message:
  -----------
  Move the new test added in 2095655f to its own file

... and set an explicit target triple.

Should fix buildbot issues like:

https://lab.llvm.org/buildbot/#/builders/245/builds/20379/steps/5/logs/FAIL__Clang__warn-unused-filescoped_cpp


  Commit: 9dd8ba4429fc22063e6ce18017e7bdbd7552a927
      https://github.com/llvm/llvm-project/commit/9dd8ba4429fc22063e6ce18017e7bdbd7552a927
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll

  Log Message:
  -----------
  [InstCombine] Add memcpy test with !tbaa.struct with multiple fields.

Add an additional test with a struct with multiple fields.


  Commit: 0d72f0beabc180754eae334f22f01e48a5032bbe
      https://github.com/llvm/llvm-project/commit/0d72f0beabc180754eae334f22f01e48a5032bbe
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Fix "scalability" in CastAwayExtractStridedSliceLeadingOneDim (#81187)

Makes sure that "scalability" flags in the
`CastAwayExtractStridedSliceLeadingOneDim` pattern are correctly
updated.


  Commit: 2884d048396abc82c8356c4e350ef968fb24a0d7
      https://github.com/llvm/llvm-project/commit/2884d048396abc82c8356c4e350ef968fb24a0d7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/SROA/tbaa-struct3.ll

  Log Message:
  -----------
  [SROA] Add additional tests for splitting up ops with !tbaa.struct.


  Commit: bb5c3899d1936ebdf7ebf5ca4347ee2e057bee7f
      https://github.com/llvm/llvm-project/commit/bb5c3899d1936ebdf7ebf5ca4347ee2e057bee7f
  Author: Zain Jaffal <zain at jjaffal.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/fdiv-sqrt.ll

  Log Message:
  -----------
  [InstCombine] Optimise x / sqrt(y / z) with fast-math pattern. (#76737)

Replace the pattern with
x * sqrt(z/y)

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 301f6840522e3d924cf00ab6a04f93f1354142f5
      https://github.com/llvm/llvm-project/commit/301f6840522e3d924cf00ab6a04f93f1354142f5
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [Flang][OpenMP] NFC: Refactor reduction code (#79876)

Introduces a new enumeration to list all Fortran reduction identifiers.
Moves the combiner code-generation into a separate function for possible
reuse in array context in future.


  Commit: b2b3a5248540320e74347fcdaffbd148d1e9d494
      https://github.com/llvm/llvm-project/commit/b2b3a5248540320e74347fcdaffbd148d1e9d494
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/canonicalize-omp.cpp
    M flang/test/Semantics/OpenMP/loop-association.f90

  Log Message:
  -----------
  Skip compiler directives between OMP PARALLEL DO and the loop (#81021)

This fixes a compilation error when code like this is presented to the
compiler:

  !$OMP PARALLEL DO
  !DIR$ VECTOR ALIGNED
  DO 20 i=1,N
     a = a + 0.5
20   CONTINUE

The directive itself is later ignored (with a warning that this is
happening), but because the compiler already errored out before that
point, it completely fails to compile this code. Other compilers accept
the code without complaints.


  Commit: d86f21693c5fb8eaa597cfcb15813ffc52d00847
      https://github.com/llvm/llvm-project/commit/d86f21693c5fb8eaa597cfcb15813ffc52d00847
  Author: Piotr Zegar <me at piotrzegar.pl>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst

  Log Message:
  -----------
  [clang-tidy][NFC] Fixes in release notes and documentation

Minor fixes in documentation & release notes.


  Commit: 407f9c06ea2a4f3fc32647ba22e5b60f695ca4b3
      https://github.com/llvm/llvm-project/commit/407f9c06ea2a4f3fc32647ba22e5b60f695ca4b3
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/test/Driver/tls-dialect.c
    M llvm/include/llvm/TargetParser/Triple.h

  Log Message:
  -----------
  [clang][driver] Set TLSDESC as the default for Android on RISC-V (#81198)


  Commit: 0329c1b6d838ec983f215244549b3c5ff2d5fb51
      https://github.com/llvm/llvm-project/commit/0329c1b6d838ec983f215244549b3c5ff2d5fb51
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M lld/ELF/Writer.cpp
    M lld/test/ELF/segments.s

  Log Message:
  -----------
  [ELF] --no-rosegment: don't mark read-only PT_LOAD segments executable (#81223)

Once we move `.lrodata` after .bss (#78521), or if we use `SECTIONS`
commands, certain read-only sections may be in their own PT_LOAD, not in
the traditional "text segment". Current --no-rosegment code may
unnecessarily mark read-only PT_LOAD executable. Fix it.


  Commit: 314ef9617e87b2cba9dd278e228ab03453500054
      https://github.com/llvm/llvm-project/commit/314ef9617e87b2cba9dd278e228ab03453500054
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf

  Log Message:
  -----------
  [flang][cuda] Lower attribute for module variables (#81226)

Propagate the CUDA attribute to fir.global operation for simple module
variables.


  Commit: 2e4d2762b5f8c6b0ae02c2a9d517e009f470b8a6
      https://github.com/llvm/llvm-project/commit/2e4d2762b5f8c6b0ae02c2a9d517e009f470b8a6
  Author: Pranav Kant <prka at google.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/X86/GlobalISel/roundeven.ll
    M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
    M llvm/test/CodeGen/X86/fp128-libcalls.ll
    M llvm/test/CodeGen/X86/frem.ll

  Log Message:
  -----------
  [X86][CodeGen] Emit float128 libcalls for math functions (#79611)

Make LLVM emit libcalls to proper float128 variants for float128 types.


  Commit: 647010a06f3af725a2e674f025bc0e04aa1fbbff
      https://github.com/llvm/llvm-project/commit/647010a06f3af725a2e674f025bc0e04aa1fbbff
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Remove unnecessary check for RVE from determineCalleeSaves. NFCI

The SavedRegs BitVector is checks against the CSR list later. We have
a separate CSR list for RVE that excludes X16-31 so we don't need
to filter here.

If it was needed, it would be needed for the next block of code too
which didn't have an RVE check.


  Commit: 5948d4de1d965d88c8ca05cc84bd94a28fa53ba4
      https://github.com/llvm/llvm-project/commit/5948d4de1d965d88c8ca05cc84bd94a28fa53ba4
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll

  Log Message:
  -----------
  [RISCV] Add test coverage for buildvectors with long vslidedown sequences

In advance of an upcoming change.


  Commit: 2a6b521b36fb538a49564323ecd457d7b08b1325
      https://github.com/llvm/llvm-project/commit/2a6b521b36fb538a49564323ecd457d7b08b1325
  Author: Yinying Li <107574043+yinying-lisa-li at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
    M mlir/test/python/dialects/sparse_tensor/dialect.py

  Log Message:
  -----------
  [mlir][sparse] Add more tests and verification for n:m (#81186)

1. Add python test for n out of m
2. Add more methods for python binding
3. Add verification for n:m and invalid encoding tests
4. Add e2e test for n:m

Previous PRs for n:m #80501 #79935


  Commit: 07dc85ba0cc84e7034ad2a0575c644cfeab60b39
      https://github.com/llvm/llvm-project/commit/07dc85ba0cc84e7034ad2a0575c644cfeab60b39
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll

  Log Message:
  -----------
  [NVVMReflect] Improve folding inside of the NVVMReflect pass (#81253)

Summary:
The previous patch did very simple folding that only worked for driectly
used branches. This patch improves this by traversing the use-def chain
to sipmlify every constant subexpression until it reaches a terminator
we can delete. The support should work for all expected cases now.


  Commit: 9d9cc3706f59499f443ce4ebaeb24f7c8417e797
      https://github.com/llvm/llvm-project/commit/9d9cc3706f59499f443ce4ebaeb24f7c8417e797
  Author: Björn Schäpers <bjoern at hazardy.de>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h

  Log Message:
  -----------
  [clang-format][docs] Fix version (#81185)

#78752 was not merged in time for clang-format 18.


  Commit: 7ad7db0d9960859de10d23fa84aa581c154d152c
      https://github.com/llvm/llvm-project/commit/7ad7db0d9960859de10d23fa84aa581c154d152c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/push-pop-opt-crash.ll

  Log Message:
  -----------
  [RISCV] Fix typo in ABI name in test. NFC

ilp64->lp64.


  Commit: 81c4bf946a377b1dc90c02ff3ff8240e78db0edb
      https://github.com/llvm/llvm-project/commit/81c4bf946a377b1dc90c02ff3ff8240e78db0edb
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M lld/test/ELF/riscv-section-layout.s
    M lld/test/ELF/x86-64-section-layout.s

  Log Message:
  -----------
  [ELF] Improve _etext/_edata tests


  Commit: bb180856ec28efe305dc77ca4bb3db12d8932edf
      https://github.com/llvm/llvm-project/commit/bb180856ec28efe305dc77ca4bb3db12d8932edf
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/intrinsics.ll

  Log Message:
  -----------
  [NVPTX][Fix] Update minimum CPU for NVPTX intrinsics test

Summary:
This test requires at least sm_30 to run, but that is still below the
minimum supported version of sm_52 currently. Just set this to sm_60 so
the tests pass in the future.


  Commit: 5f26b902d59b98ffa450f7bae508b330d0184d0d
      https://github.com/llvm/llvm-project/commit/5f26b902d59b98ffa450f7bae508b330d0184d0d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M lld/ELF/Writer.cpp

  Log Message:
  -----------
  [ELF] Apply forgotten change to #81223


  Commit: 3c707310a3e0233c1bc364a408e6fb43e56e1b78
      https://github.com/llvm/llvm-project/commit/3c707310a3e0233c1bc364a408e6fb43e56e1b78
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    M clang/test/CodeGen/builtins-nvptx.c
    A clang/test/CodeGenOpenCL/reflect.cl
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-opaque.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect.ll

  Log Message:
  -----------
  [NVPTX] Add clang builtin for `__nvvm_reflect` intrinsic (#81277)

Summary:
Some recent support made usage of `__nvvm_reflect` more consistent. We
should expose it as a builtin rather than forcing users to externally
define the function.


  Commit: 2cbe5a33a5fda257747d75863bd9ccb8920b9249
      https://github.com/llvm/llvm-project/commit/2cbe5a33a5fda257747d75863bd9ccb8920b9249
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp

  Log Message:
  -----------
  [llvm-objcopy] Fix the build again after 7ddc320


  Commit: 228e9d5bcfcb6411d2a257b560464323d0248c35
      https://github.com/llvm/llvm-project/commit/228e9d5bcfcb6411d2a257b560464323d0248c35
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td

  Log Message:
  -----------
  [clang] Document the type_visibility attribute (#79157)

I was looking for the documentation of that attribute, and the best I
could find was a Stackoverflow answer or the commit message that
originally introduced the attribute. I figured I might as well document
what I find to save everyone time in the future.


  Commit: bd65547805a4b02be8f8c9e7acf1df850164da53
      https://github.com/llvm/llvm-project/commit/bd65547805a4b02be8f8c9e7acf1df850164da53
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M .github/workflows/issue-release-workflow.yml
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [workflows] Create a more descriptive title and body when creating a PR for backports (#80396)

When a backport request is made, the resulting pull request will have a
title like this:

<release branch>: <First line of HEAD commit for the branch>

And a body that says:

Backport <commit0> <commit1> ..

Requested By: <user>


  Commit: 967374123bd6eee23db9a57fcac7324e420648c5
      https://github.com/llvm/llvm-project/commit/967374123bd6eee23db9a57fcac7324e420648c5
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCObjectRules.cmake

  Log Message:
  -----------
  [libc] Bump up minimum PTX version to 6.3

Summary:
I neglected the fact that `activemask` is a 6.2 or 6.3 feature, so
building this on older machines is incorrect. Bump this up to 6.3 for
now so it works. In the future we will try to get rid of the N
architecture business.


  Commit: 7fd1466433a05f4e2e183914a8bd7c372bb0b8a7
      https://github.com/llvm/llvm-project/commit/7fd1466433a05f4e2e183914a8bd7c372bb0b8a7
  Author: Richard Dzenis <dzenis at richard.lv>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/CallInterfaces.td

  Log Message:
  -----------
  [mlir] Fix CallOpInterface extraClassDeclaration to be fully namespace qualified (#81258)

`extraClassDeclaration` of `CallOpInterface` can be inherited by other
`OpInterfaces` into foreign namespaces, thus types must be fully
qualified to prevent compiler errors, for example:

    def MyCaller : OpInterface<"MyCaller", [CallOpInterface]> {
        let cppNamespace = "::MyNamespace";
    }


  Commit: 1d0f86ba80543931d467d6ce3f2ad8cdde514710
      https://github.com/llvm/llvm-project/commit/1d0f86ba80543931d467d6ce3f2ad8cdde514710
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/lib/AST/Decl.cpp
    A clang/test/SemaCXX/attr-target-mv-warn-unused.cpp

  Log Message:
  -----------
  [Sema] Warn unused functions for FMV based on the target attribute (#81302)

The spurious -Wunused-function warning issue for `target_version` #80227
also applied to `__attribute__((target(...)))` based FMV. #81167 removed
warnings for all `target`-based FMV. This patch restores the warnings
for `__attribute__((target("default")))`.


  Commit: c7a0db1e20251f436e3d500eac03bd9be1d88b45
      https://github.com/llvm/llvm-project/commit/c7a0db1e20251f436e3d500eac03bd9be1d88b45
  Author: yozhu <101743168+yozhu at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    A llvm/test/Transforms/LowerTypeTests/cfi-annotation.ll

  Log Message:
  -----------
  [CFI][annotation] Leave alone function pointers in function annotations (#80173)

Function annotation, as part of llvm.metadata, is for the function
itself and doesn't apply to its corresponding jump table entry, so with
CFI we shouldn't replace function pointer in function annotation with
pointer to its corresponding jump table entry.


  Commit: 7ff488708c0caa1b31af7ad677b9b321209f6738
      https://github.com/llvm/llvm-project/commit/7ff488708c0caa1b31af7ad677b9b321209f6738
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/unittests/Optimizer/FortranVariableTest.cpp

  Log Message:
  -----------
  [flang][cuda][NFC] Rename CUDAAttribute to CUDADataAttribute (#81323)

The newly introduced `CUDAAttribute` is meant for CUDA attributes
associated with variable. In order to not clash with the future
attribute for function/subroutine, rename `CUDAAttribute` to
`CUDADataAttribute`.


  Commit: 0b77b19292457b9f2020e290980f1803a16eea34
      https://github.com/llvm/llvm-project/commit/0b77b19292457b9f2020e290980f1803a16eea34
  Author: choikwa <5455710+choikwa at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/uniform-select.ll

  Log Message:
  -----------
  [AMDGPU] Add test to show s_cselect generation from uniform select (#79384)


  Commit: 01706e767777aeac9d5a22617d522826b64fce3e
      https://github.com/llvm/llvm-project/commit/01706e767777aeac9d5a22617d522826b64fce3e
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Object/Wasm.h
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/test/MC/WebAssembly/alias-offset.s
    M llvm/test/MC/WebAssembly/alias.s
    M llvm/test/Object/wasm-linked-namesec-with-linkingsec.yaml
    M llvm/test/Object/wasm-linked-symbol-table.yaml
    M llvm/test/tools/llvm-nm/wasm/linked.yaml
    M llvm/test/tools/llvm-nm/wasm/print-size.test
    M llvm/test/tools/llvm-objdump/wasm/dylink-symbol-table.yaml
    M llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml
    M llvm/test/tools/llvm-objdump/wasm/symbol-table.test
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp

  Log Message:
  -----------
  [llvm-nm][WebAssembly] Print function symbol sizes (#81315)

nm already prints sizes for data symbols. Do that for function symbols 
too, and update objdump to also print size information.

Implements item 3 from https://github.com/llvm/llvm-project/issues/76107


  Commit: 9397d23671f26ab8631e90f688ae2ea212f3c770
      https://github.com/llvm/llvm-project/commit/9397d23671f26ab8631e90f688ae2ea212f3c770
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [docs] --save-temps=: add single quotes after #80921 and update --save-temps


  Commit: 0267f9800ea23921120faa4b1d46ac5806e5eca1
      https://github.com/llvm/llvm-project/commit/0267f9800ea23921120faa4b1d46ac5806e5eca1
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    A .github/workflows/llvm-project-workflow-tests.yml

  Log Message:
  -----------
  [workflows] Add a new workflow for testing release branch CI (#81073)

Since we commit all changes to the release branch CI to main first, we
need someway to test that these changes to main don't break the CI.


  Commit: fbba818a78f591d89f25768ba31783714d526532
      https://github.com/llvm/llvm-project/commit/fbba818a78f591d89f25768ba31783714d526532
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/test/Driver/aarch64-cssc.c
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/TargetParser/Host.cpp
    M llvm/test/CodeGen/AArch64/cpus.ll
    M llvm/test/CodeGen/AArch64/neon-dot-product.ll
    M llvm/test/CodeGen/AArch64/remat.ll
    M llvm/test/MC/AArch64/armv8.2a-dotprod.s
    M llvm/test/MC/Disassembler/AArch64/armv8.3a-rcpc.txt
    M llvm/unittests/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Add the Ampere1B core (#81297)

The Ampere1B is Ampere's third-generation core implementing a
superscalar, out-of-order microarchitecture with nested virtualization,
speculative side-channel mitigation and architectural support for
defense against ROP/JOP style software attacks.

Ampere1B is an ARMv8.7+ implementation, adding support for the FEAT
WFxT, FEAT CSSC, FEAT PAN3 and FEAT AFP extensions. It also includes all
features of the second-generation Ampere1A, such as the Memory Tagging
Extension and SM3/SM4 cryptography instructions.


  Commit: 7b2eff6306c1a20f69f16bc485dbc229c8ada40d
      https://github.com/llvm/llvm-project/commit/7b2eff6306c1a20f69f16bc485dbc229c8ada40d
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [AArch64] Add FeatureFuseAddSub2RegAndConstOne for Ampere1A (#81295)

Ampere1A introduced the Fusion for A+B+1/A-B-1.
However, the Feature flag to enable that fusion-case never was added to
TuneAmpere1A.  This commit corrects that omission.


  Commit: ff2e8788d277cbb8c47fa2a8ea87dec7e06307aa
      https://github.com/llvm/llvm-project/commit/ff2e8788d277cbb8c47fa2a8ea87dec7e06307aa
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [AArch64] Add FeatureFuseAdrpAdd for Ampere1/1A (#81293)

Both Ampere1 and Ampere1A support fusion of ADRP+ADD.
This adds the missing feature to enable fusion-aware scheduling for this
case.


  Commit: 4f0ee665b58f3f70cd7e8edad6704b2b053b7ea9
      https://github.com/llvm/llvm-project/commit/4f0ee665b58f3f70cd7e8edad6704b2b053b7ea9
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [AArch64] [NFC] Remove duplicate FeatureFuseLiterals from Ampere1A (#81292)


  Commit: 014401158bbbc6899144905c1eb9e44fac86867e
      https://github.com/llvm/llvm-project/commit/014401158bbbc6899144905c1eb9e44fac86867e
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    A llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td

  Log Message:
  -----------
  [AArch64] Add Ampere1B scheduling/pipeline model (#81338)

The Ampere1B core is enabled with a new scheduling/pipeline model, as it
provides significant updates over the Ampere1 core; it reduces latencies
on many instructions, has some micro-ops reassigned between the XY and X
units, and provides modelling for the instructions added since Ampere1
and Ampere1A.


  Commit: 78145a6bd0023ff1c218dda59b192345d773ebe5
      https://github.com/llvm/llvm-project/commit/78145a6bd0023ff1c218dda59b192345d773ebe5
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    A flang/test/Lower/CUDA/cuda-proc-attribute.cuf

  Log Message:
  -----------
  [flang][cuda] Lower attribute for procedure (#81336)

This PR adds a new attribute to represent the CUDA attribute attached to
procedure. This attribute is attached to the func.func operation during
lowering.
Other procedures information such as `launch_bounds` and `cluster_dims`
will be added separately.


  Commit: 8509f75d618a41b946391a73cdbfee53565fbf85
      https://github.com/llvm/llvm-project/commit/8509f75d618a41b946391a73cdbfee53565fbf85
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    R llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td

  Log Message:
  -----------
  Revert "[AArch64] Add Ampere1B scheduling/pipeline model (#81338)"

This reverts commit 014401158bbbc6899144905c1eb9e44fac86867e.


  Commit: 8f23464a5d957242c89ca6f33d4379c42519cd81
      https://github.com/llvm/llvm-project/commit/8f23464a5d957242c89ca6f33d4379c42519cd81
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/COFF.h
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Object/COFFModuleDefinition.cpp
    A llvm/test/tools/llvm-lib/exportas.test
    M llvm/tools/llvm-readobj/COFFImportDumper.cpp

  Log Message:
  -----------
  [llvm-lib][llvm-dlltool][Object] Add support for EXPORTAS name types. (#78772)

EXPORTAS is a new name type in import libraries. It's used by default on ARM64EC,
but it's allowed on other platforms as well.


  Commit: 224145ee882e32aaa1fae9ae88698cf1b07b22e4
      https://github.com/llvm/llvm-project/commit/224145ee882e32aaa1fae9ae88698cf1b07b22e4
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [DWARFDump][nfc] Fix incorrect comment (#81276)

It claimed to dump all sections by default, but this hasn't been true
since 2017: https://reviews.llvm.org/D37717


  Commit: 3a3302ef7b48f7907d0fb62b380d9d515a5f35e4
      https://github.com/llvm/llvm-project/commit/3a3302ef7b48f7907d0fb62b380d9d515a5f35e4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90

  Log Message:
  -----------
  [flang][test] Update driver-help*.f90 after 9397d23671f26ab8631e90f688ae2ea212f3c770


  Commit: eb1b428750181ea742c547db0bc7136cd5b8f732
      https://github.com/llvm/llvm-project/commit/eb1b428750181ea742c547db0bc7136cd5b8f732
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  [llvm][aarch64] Apple A16 & A17 had adrp-add fusion, but A14 did not (#81325)


  Commit: b7cc401df5ac714f5de0cbc64e6c7083d2c1d712
      https://github.com/llvm/llvm-project/commit/b7cc401df5ac714f5de0cbc64e6c7083d2c1d712
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_report.cpp

  Log Message:
  -----------
  [hwasan] Call user provided callback function for both fatal and non-… (#80429)

…fatal error report

This makes the behavior of HWASan matching with ASan: always call user
provided callback function for an error report, but only call
`SetAbortMessage()` on Android when `flags()->halt_on_error` is true.


  Commit: c344953ae78b0e9545b7374a2bea35abaee18c38
      https://github.com/llvm/llvm-project/commit/c344953ae78b0e9545b7374a2bea35abaee18c38
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

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

  Log Message:
  -----------
  Fix 01706e7 on 32-bit platforms

Make the type match the printf format.


  Commit: cc02e50e77419475fa958b2626600a48f8208098
      https://github.com/llvm/llvm-project/commit/cc02e50e77419475fa958b2626600a48f8208098
  Author: Pete Steinfeld <47540744+psteinfeld at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp

  Log Message:
  -----------
  Revert "[Flang] Update the fix of PR 80738 to cover generic interface… (#81321)

… inside modules (#81087)"

This reverts commit 0802596df3d1ffd15f6b828a0f5c1e5b687a730f.

See comments in PR #81087 for a test case that shows why I'm reverting.


  Commit: 637c37025d2a9747d440034fff7b4d549dead6f3
      https://github.com/llvm/llvm-project/commit/637c37025d2a9747d440034fff7b4d549dead6f3
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    A libc/src/math/frexpf128.h
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/frexpf128.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/FrexpTest.h
    M libc/test/src/math/smoke/frexp_test.cpp
    A libc/test/src/math/smoke/frexpf128_test.cpp
    M libc/test/src/math/smoke/frexpf_test.cpp
    M libc/test/src/math/smoke/frexpl_test.cpp

  Log Message:
  -----------
  [libc][math] Add C23 math function frexpf128. (#81337)


  Commit: c5cbfc5689a26651634e1990b430e917d1ae85da
      https://github.com/llvm/llvm-project/commit/c5cbfc5689a26651634e1990b430e917d1ae85da
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/tools/dump_format_style.py
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp

  Log Message:
  -----------
  [clang-format] Rename option AlwaysBreakTemplateDeclarations (#81093)

Drop the "Always" prefix to remove the self-contradiction.


  Commit: 7664ddf8811242295abb837640cad8dd8cefb5e8
      https://github.com/llvm/llvm-project/commit/7664ddf8811242295abb837640cad8dd8cefb5e8
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/FormatTest.cpp

  Log Message:
  -----------
  [clang-format][NFC] Drop "Always" in "AlwaysBreakTemplateDeclarations"


  Commit: e165bea1d4ec2de96ee0548cece79d71a75ce8f8
      https://github.com/llvm/llvm-project/commit/e165bea1d4ec2de96ee0548cece79d71a75ce8f8
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M lld/test/COFF/lto-cache-errors.ll
    M lld/test/COFF/thinlto-emit-imports.ll
    M lld/test/ELF/lto/resolution-err.ll
    M lld/test/ELF/lto/thinlto-cant-write-index.ll
    M lld/test/ELF/lto/thinlto-emit-imports.ll
    M lld/test/MachO/invalid/invalid-lto-object-path.ll
    M lld/test/MachO/thinlto-emit-imports.ll

  Log Message:
  -----------
  [lld] Fix test failures when running as root user (#81339)

This makes it easier to run the tests in a containerized environment.


  Commit: 7192c22ee43500b1a6313d1ade38e002463944a6
      https://github.com/llvm/llvm-project/commit/7192c22ee43500b1a6313d1ade38e002463944a6
  Author: Mikhail Gudim <mgudim at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bitreverse-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-const-rv64.mir

  Log Message:
  -----------
  [GlobalISel][RISCV] Use constant pool for large integer constants. (#81101)

We apply custom lowering to 64 bit constants where we use the same logic
as in non-global isel: if materializing in registers is too expensive,
we emit a load from constant pool. Later, during instruction selection,
constant pool address is generated using `selectAddr`.


  Commit: c08b90c50bcac9f3f563c79491c8dbcbe7c3b574
      https://github.com/llvm/llvm-project/commit/c08b90c50bcac9f3f563c79491c8dbcbe7c3b574
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-09 (Fri, 09 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/vararg.ll
    M llvm/test/CodeGen/RISCV/vararg.ll

  Log Message:
  -----------
  [RISCV] Lower the TransientStackAlignment to the ABI alignment for rv32e/rv64e.

I don't think the transient alignment needs to be larger than the
ABI alignment.


  Commit: 2a4a2558f1533a91519fcc4e7abf04f845f067bd
      https://github.com/llvm/llvm-project/commit/2a4a2558f1533a91519fcc4e7abf04f845f067bd
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp

  Log Message:
  -----------
  Fix -Wunused-variable warning in Release build.


  Commit: 9308d6688c673606fee1625d777a52539ae72015
      https://github.com/llvm/llvm-project/commit/9308d6688c673606fee1625d777a52539ae72015
  Author: David Green <david.green at arm.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/HLFIR/minloc-elemental.fir

  Log Message:
  -----------
  [Flang] Correct initial limit value in float min/maxloc reductions. (#81260)

I was looking through to check whether Nan was being handled correctly,
and couldn't work out why simple cases were behaving differently than
they should. It turns out the initial limit values was backwards for
minloc/maxloc reductions in general. This fixes that, introduced in
#79469.


  Commit: d26b43ff4f7396f79de4b099160262c750d6aba7
      https://github.com/llvm/llvm-project/commit/d26b43ff4f7396f79de4b099160262c750d6aba7
  Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    A llvm/include/llvm/Transforms/Scalar/JumpTableToSwitch.h
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Transforms/Scalar/CMakeLists.txt
    A llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
    M llvm/test/Other/new-pm-defaults.ll
    A llvm/test/Transforms/JumpTableToSwitch/basic.ll
    A llvm/test/Transforms/JumpTableToSwitch/max_function_size.ll
    A llvm/test/Transforms/JumpTableToSwitch/remarks.ll
    A llvm/test/Transforms/JumpTableToSwitch/skip.ll
    A llvm/test/Transforms/JumpTableToSwitch/stride.ll
    A llvm/test/Transforms/JumpTableToSwitch/struct.ll

  Log Message:
  -----------
  Add JumpTableToSwitch pass (#77709)

Add a pass to convert jump tables to switches.
The new pass replaces an indirect call with a switch + direct calls if all the functions in the jump table are smaller than the provided threshold.
The pass is currently disabled by default and can be enabled by -enable-jump-table-to-switch.

Test plan: ninja check-all


  Commit: fd140d4283652ff7a906f4ebaaa75c8fcf00d39b
      https://github.com/llvm/llvm-project/commit/fd140d4283652ff7a906f4ebaaa75c8fcf00d39b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn

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


  Commit: f022aaf4e722eae9d0feaf7715a5d8960f4d017b
      https://github.com/llvm/llvm-project/commit/f022aaf4e722eae9d0feaf7715a5d8960f4d017b
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/fdiv-sqrt.ll

  Log Message:
  -----------
  Revert "[InstCombine] Optimise x / sqrt(y / z) with fast-math pattern. (#76737)"

This reverts commit bb5c3899d1936ebdf7ebf5ca4347ee2e057bee7f.

That commit caused failed asserts like this:

$ cat repro.c
float a, b;
double sqrt();
void c() { b = a / sqrt(a); }
$ clang -target x86_64-linux-gnu -c -O2 -ffast-math repro.c
clang: ../lib/IR/Instruction.cpp:522: bool llvm::Instruction::hasAllowReassoc() const: Assertion `isa<FPMathOperator>(this) && "getting fast-math flag on invalid op"' failed.


  Commit: 8884ba43a8485bebef5c4d41e7ed457e3fa84f07
      https://github.com/llvm/llvm-project/commit/8884ba43a8485bebef5c4d41e7ed457e3fa84f07
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp

  Log Message:
  -----------
  [lldb] Fix FreeBSD build. (#81353)


  Commit: 33c6b77d2a18862fb5b16160ef9d600382e93f19
      https://github.com/llvm/llvm-project/commit/33c6b77d2a18862fb5b16160ef9d600382e93f19
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Object/COFF.h
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/test/tools/llvm-lib/arm64ec-implib.test

  Log Message:
  -----------
  [llvm-lib][Object] Add support for EC importlib symbols. (#81059)

ARM64EC import libraries expose two additional symbols: mangled thunk
symbol (like `#func`) and auxiliary import symbol (like`__imp_aux_func`).
The main functional change with this patch is that those symbols are
properly added to static library ECSYMBOLS.


  Commit: 7d9540ea96ecb1e83f19cc68a202e8fa697c513d
      https://github.com/llvm/llvm-project/commit/7d9540ea96ecb1e83f19cc68a202e8fa697c513d
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/include/__chrono/duration.h
    M libcxx/include/chrono
    M libcxx/test/std/time/rep.h
    M libcxx/test/std/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp
    M libcxx/test/std/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp
    M libcxx/test/std/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp

  Log Message:
  -----------
  [libc++][chrono] Implements duration Rep constraints. (#80539)

Applies LWG3050 to the constraints of operator*, operator/, and
operator%. The changes to the constructor were done in
https://reviews.llvm.org/D118902, but that patch did not identify the
related LWG-issue, and only adjusted the constructor to the wording in
the Standard.

Implements:
- LWG 3050: Conversion specification problem in chrono::duration
constructor

---------

Co-authored-by: h-vetinari <h.vetinari at gmx.com>


  Commit: 9981f5a72e998e5334852695164731b01bf0307b
      https://github.com/llvm/llvm-project/commit/9981f5a72e998e5334852695164731b01bf0307b
  Author: David Green <david.green at arm.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/test/Analysis/BasicAA/vscale.ll

  Log Message:
  -----------
  [BasicAA] Add extra onevscale test for multiple dependent geps that lose the NSW flag. NFC


  Commit: 59037c0975de51ae29a5f9bd4260131ba3b7c22a
      https://github.com/llvm/llvm-project/commit/59037c0975de51ae29a5f9bd4260131ba3b7c22a
  Author: Yeting Kuo <46629943+yetingk at users.noreply.github.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M clang/docs/ShadowCallStack.rst
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/riscv-features.c
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/test/CodeGen/RISCV/shadowcallstack.ll

  Log Message:
  -----------
  [RISCV] Add Zicfiss support to the shadow call stack implementation. (#68075)

This patch enable hardware shadow stack with `Zicifss` and
`mno-forced-sw-shadow-stack`. New feature forced-sw-shadow-stack
disables hardware shadow stack even when `Zicfiss` enabled.


  Commit: 30cd1838dc334775f7a29f57b581f2bdda3f0ea1
      https://github.com/llvm/llvm-project/commit/30cd1838dc334775f7a29f57b581f2bdda3f0ea1
  Author: Po-yao Chang <poyaoc97 at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

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

  Log Message:
  -----------
  [libc++][modules] Fix disabling Unicode (#81294)

-DLIBCXX_ENABLE_UNICODE=OFF or -D_LIBCPP_HAS_NO_UNICODE doesn't build
without this change.


  Commit: f66f44eb0c194f6bd0b6387d778624b303b6edc1
      https://github.com/llvm/llvm-project/commit/f66f44eb0c194f6bd0b6387d778624b303b6edc1
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M libcxx/modules/std.compat.cppm.in
    M libcxx/modules/std.cppm.in
    M libcxx/utils/generate_libcxx_cppm_in.py

  Log Message:
  -----------
  [libc++][modules] Regenerates files.

After applying the review comments of
https://github.com/llvm/llvm-project/pull/80478
I've forgotten to update the generated files. This fixes the issue and
removes trailing whitespace.


  Commit: a4ac099487d057dde8151700b3802eaeb69cead2
      https://github.com/llvm/llvm-project/commit/a4ac099487d057dde8151700b3802eaeb69cead2
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M flang/lib/Lower/ConvertCall.cpp

  Log Message:
  -----------
  [Flang] Support passing a function that returns procedure pointer as actual corresponding to a procedure dummy. (#80891)

Flang crashes with the following case. The problem is we missed the case
when passing a reference to a function that returns a procedure pointer
as actual that corresponds to a procedure dummy. This PR is to fix that.

```
  PROGRAM main
  IMPLICIT NONE
  INTERFACE
    FUNCTION IntF(Arg)
      integer :: Arg, IntF
    END FUNCTION
  END INTERFACE

  INTERFACE
    FUNCTION RetPtr(Arg)
      IMPORT
      PROCEDURE(IntF) :: Arg
      PROCEDURE(IntF), POINTER :: RetPtr
    END FUNCTION
  END INTERFACE

  CALL ModSub(RetPtr(IntF))
  contains
    SUBROUTINE ModSub(Fun1)
    PROCEDURE(IntF) :: Fun1
    END SUBROUTINE
  END
  ```


  Commit: 4fb7b3301bfbd439eb3d30d6a36c7cdb26941a0d
      https://github.com/llvm/llvm-project/commit/4fb7b3301bfbd439eb3d30d6a36c7cdb26941a0d
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M libcxx/include/print
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/src/print.cpp

  Log Message:
  -----------
  [libc++][print] Moves is_terminal to the dylib. (#80464)

Having the test in the header requires including unistd.h on POSIX
platforms. This header has other declarations which may conflict with
code that uses named declarations provided by this header. For example
code using "int pipe;" would conflict with the function pipe in this
header.

Moving the code to the dylib means std::print would not be available on
Apple backdeployment targets. On POSIX platforms there is no transcoding
required so a not Standard conforming implementation is still a useful
and the observable differences are minimal. This behaviour has been done
for print before https://github.com/llvm/llvm-project/pull/76293.

Note questions have been raised in LWG4044 "Confusing requirements for
std::print on POSIX platforms", whether or not the isatty check on POSIX
platforms is required. When this LWG issue is resolved the
backdeployment targets could become Standard compliant.

This patch is intended to be backported to the LLVM-18 branch.

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


  Commit: b4c6ab600f2ef6f3a842afee569dcf86bce7a43a
      https://github.com/llvm/llvm-project/commit/b4c6ab600f2ef6f3a842afee569dcf86bce7a43a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Don't use visitLocalInitializer in visitExpr

We were unnecessarily getting the pointer of the local variable twice.


  Commit: d2e4a725da5b4cbef8b5c1446f29fed1487aeab0
      https://github.com/llvm/llvm-project/commit/d2e4a725da5b4cbef8b5c1446f29fed1487aeab0
  Author: Frederic Cambus <fred at statdns.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M clang/tools/scan-build/man/scan-build.1

  Log Message:
  -----------
  [clang] Update Clang version from 18 to 19 in scan-build.1.

Similar to D110763.


  Commit: dce77a357948709e335910ddc07f9c3f2eb2ac4b
      https://github.com/llvm/llvm-project/commit/dce77a357948709e335910ddc07f9c3f2eb2ac4b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/test/Transforms/IndVarSimplify/X86/pr27133.ll
    M llvm/test/Transforms/IndVarSimplify/lftr-reuse.ll
    M llvm/test/Transforms/IndVarSimplify/pr30806-phi-scev.ll
    M llvm/test/Transforms/IndVarSimplify/preserve-nsw-during-expansion.ll
    M llvm/test/Transforms/IndVarSimplify/widen-i32-i8ptr.ll
    M llvm/test/Transforms/LoopFlatten/widen-iv.ll
    M llvm/test/Transforms/LoopFlatten/widen-iv2.ll
    M llvm/test/Transforms/LoopFlatten/widen-iv3.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll

  Log Message:
  -----------
  [IndVars] Preserve flags of narrow IV inc if replacing with wider inc. (#80446)

We are replacing a narrow IV increment with a wider one. If the original
(narrow) increment did not wrap, the wider one should not wrap either.
Set the flags to be the union of both wide increment and original
increment; this ensures we preserve flags SCEV could infer for the wider
increment.

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


  Commit: ba451c80ba67ab6834305f35d47e36b6b446ce83
      https://github.com/llvm/llvm-project/commit/ba451c80ba67ab6834305f35d47e36b6b446ce83
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/EvalEmitter.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Only set result invalid if empty

This is currently NFC but required for later changes. A Ret op
might fail and set the result to invalid, causing another setInvalid()
call, which asserts that the result is still empty.


  Commit: bc034baaff1f6ce4e18b68c20df3be45bfb5104f
      https://github.com/llvm/llvm-project/commit/bc034baaff1f6ce4e18b68c20df3be45bfb5104f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    A clang/test/AST/Interp/complex.c

  Log Message:
  -----------
  [clang][Interp] Protect InitPtr from non-initializable pointers

This can happen when an initializer returns a dummy pointer.


  Commit: 0a255fcf4a90f9e864ae9321b28e4956f7c865fb
      https://github.com/llvm/llvm-project/commit/0a255fcf4a90f9e864ae9321b28e4956f7c865fb
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingFile.c

  Log Message:
  -----------
  [compiler-rt][profile] Fix InstrProfilingFile possible resource leak. (#81363)

close #79708


  Commit: 5e9eaf87b374c3f6638543682b523827834494a8
      https://github.com/llvm/llvm-project/commit/5e9eaf87b374c3f6638543682b523827834494a8
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    A lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp

  Log Message:
  -----------
  [lldb][libc++] Adds valarray data formatters. (#80609)

The code is heavily based on the vector data formatter.


  Commit: 2a51c56d8e0e410bf896be2c6bebe37344a996e1
      https://github.com/llvm/llvm-project/commit/2a51c56d8e0e410bf896be2c6bebe37344a996e1
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 5e9eaf87b374


  Commit: 3a05e7651bc71b3c71757bb406f211645c1c1a37
      https://github.com/llvm/llvm-project/commit/3a05e7651bc71b3c71757bb406f211645c1c1a37
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/DeclSpec.h

  Log Message:
  -----------
  [clang][NFC] Annotate `Sema/DeclSpec.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 76e3759d8d2dc5af755737a764b237ff04aaf7f4
      https://github.com/llvm/llvm-project/commit/76e3759d8d2dc5af755737a764b237ff04aaf7f4
  Author: Ikhlas Ajbar <iajbar at quicinc.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.h
    M llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
    A llvm/test/CodeGen/Hexagon/order-stack-object.ll
    M llvm/test/CodeGen/Hexagon/store-imm-stack-object.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_generated_funcs.ll.nogenerated.expected

  Log Message:
  -----------
  [Hexagon] Order objects on the stack by their alignments (#81280)

This patch sorts stack objects by their alignment value from the largest
to the smallest. If two objects have the same alignment, then they are
sorted by their size from the largest to the smallest. This minimizes
padding and reduces run time stack size.


  Commit: 4e16a75902d5718f4932fae9b2a07c410cd0ba34
      https://github.com/llvm/llvm-project/commit/4e16a75902d5718f4932fae9b2a07c410cd0ba34
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/ScopeInfo.h

  Log Message:
  -----------
  [clang][NFC] Annotate `Sema/ScopeInfo.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: d2812d2d1a9b4edb64e95a9a86a2599a24bcb5ec
      https://github.com/llvm/llvm-project/commit/d2812d2d1a9b4edb64e95a9a86a2599a24bcb5ec
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/Overload.h

  Log Message:
  -----------
  [clang][NFC] Annotate `Sema/Overload.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 425fd3eb10f29e73d722b4c2bc9cb50798de18e8
      https://github.com/llvm/llvm-project/commit/425fd3eb10f29e73d722b4c2bc9cb50798de18e8
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/ScopeInfo.h

  Log Message:
  -----------
  [clang][NFC] Rename FirstCoroutineStmtKind enumerators

So that they do not use coroutine keywords.
Fixed buildbot failure https://lab.llvm.org/buildbot/#/builders/86/builds/74100


  Commit: 6a7cf806a66c67df01818fda01116a2dd2d90b0d
      https://github.com/llvm/llvm-project/commit/6a7cf806a66c67df01818fda01116a2dd2d90b0d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/ParsedAttr.h

  Log Message:
  -----------
  [clang][NFC] Annotate `Sema/ParsedAttr.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 0df8aed6c30f08ded526038a6bbb4daf113a31c1
      https://github.com/llvm/llvm-project/commit/0df8aed6c30f08ded526038a6bbb4daf113a31c1
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M lld/test/COFF/timestamp.test

  Log Message:
  -----------
  [LLD] [COFF] Pick timestamps from the SOURCE_DATE_EPOCH variable (#81326)

The SOURCE_DATE_EPOCH environment variable can be set in order to get
reproducible build.

When linking PE/COFF modules with LLD, the timestamp field is set to the
current time, unless either the /timestamp: or /Brepro option is set. If
neither of them is set, check the SOURCE_DATE_EPOCH variable, before
resorting to using the actual current date and time.

See https://reproducible-builds.org/docs/source-date-epoch/ for reference
on the use of this variable.


  Commit: b17348c3b541d7fc7ec441c98db75c18d8959910
      https://github.com/llvm/llvm-project/commit/b17348c3b541d7fc7ec441c98db75c18d8959910
  Author: Kai Sasaki <lewuathe at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir
    M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir

  Log Message:
  -----------
  [mlir][complex] Prevent underflow in complex.abs (#79786) (#81092)


  Commit: d70b1c1206d93b5cdf31fa330d5717eb73e8794a
      https://github.com/llvm/llvm-project/commit/d70b1c1206d93b5cdf31fa330d5717eb73e8794a
  Author: Po-yao Chang <poyaoc97 at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M lldb/docs/resources/build.rst

  Log Message:
  -----------
  [LLDB][Docs] Replace LLDB_RELOCATABLE_PYTHON with LLDB_EMBED_PYTHON_HOME (#81310)

LLDB_RELOCATABLE_PYTHON was removed in LLVM 11
(https://github.com/llvm/llvm-project/commit/3ec3f62f0a0b1ac13230922c91ffc988c1b1e8d5).


  Commit: d0f4663f488dee869ed797b684d4c3361539ac1c
      https://github.com/llvm/llvm-project/commit/d0f4663f488dee869ed797b684d4c3361539ac1c
  Author: darkbuck <michael.hliao at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
    M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/branch.mir
    M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/jump_table_and_brjt.mir
    M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/phi.mir

  Log Message:
  -----------
  [GlobalISel][Mips] Global ISel for `brcond`

- Enable equivalent between `brcond` and `G_BRCOND`.
- Remove the manual selection of `G_BRCOND` in Mips. Revise test cases.

Reviewers: petar-avramovic, bcardosolopes, arsenm

Reviewed By: arsenm

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


  Commit: 2c3ba9f6225612caf7d2d5ba6613ba1454d52dc3
      https://github.com/llvm/llvm-project/commit/2c3ba9f6225612caf7d2d5ba6613ba1454d52dc3
  Author: Quinn Dawkins <quinn.dawkins at gmail.com>
  Date:   2024-02-10 (Sat, 10 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
    M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp

  Log Message:
  -----------
  [mlir][Linalg] Unrestrict redundant transfer hoisting from func.func (#79516)

All the hoistRedundantVectorTransfers op does is walk the target
operation, which does not have to be restricted to func.func.


  Commit: c2f9885a8aa3a820eefdacccf3fcc6b9d87e3284
      https://github.com/llvm/llvm-project/commit/c2f9885a8aa3a820eefdacccf3fcc6b9d87e3284
  Author: Koakuma <koachan at protonmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    A clang/test/Driver/sparc-fixed-register.c
    M llvm/lib/Target/Sparc/Sparc.td
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
    M llvm/lib/Target/Sparc/SparcRegisterInfo.h
    M llvm/lib/Target/Sparc/SparcRegisterInfo.td
    M llvm/lib/Target/Sparc/SparcSubtarget.cpp
    M llvm/lib/Target/Sparc/SparcSubtarget.h
    A llvm/test/CodeGen/SPARC/reserved-arg-regs.ll
    A llvm/test/CodeGen/SPARC/reserved-regs-named.ll
    A llvm/test/CodeGen/SPARC/reserved-regs-unavailable.ll
    M llvm/test/CodeGen/SPARC/reserved-regs.ll

  Log Message:
  -----------
  [SPARC] Support reserving arbitrary general purpose registers (#74927)

This adds support for marking arbitrary general purpose registers -
except for those with special purpose (G0, I6-I7, O6-O7) - as reserved,
as needed by some software like the Linux kernel.


  Commit: d9124332aa3b95725b149617066fdd1f525b530d
      https://github.com/llvm/llvm-project/commit/d9124332aa3b95725b149617066fdd1f525b530d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/DelayedDiagnostic.h

  Log Message:
  -----------
  [clang][NFC] Annotate `Sema/DelayedDiagnostic.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: c0ed1b2c08ab3b75e79d90fcda7e949ca50400a5
      https://github.com/llvm/llvm-project/commit/c0ed1b2c08ab3b75e79d90fcda7e949ca50400a5
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/Visibility.h

  Log Message:
  -----------
   [clang][NFC] Annotate `Basic/Visibility.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 07ec9a3799fa1e80888f8bd0c1101ad6dd546842
      https://github.com/llvm/llvm-project/commit/07ec9a3799fa1e80888f8bd0c1101ad6dd546842
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/CodeGen/CGFunctionInfo.h

  Log Message:
  -----------
  [clang][NFC] Partially annotate `CGFunctionInfo.h` with `preferred_type`

`CallingConvention` and `EffectiveCallingConvention` bit-fields that hold `llvm::CallingConv` are impossible to annotate at the moment, as `llvm::CallingConv` is actually a namespace with an unnamed enum inside.


  Commit: c112f963ce2b2efc8da765a1161402cebfa379b8
      https://github.com/llvm/llvm-project/commit/c112f963ce2b2efc8da765a1161402cebfa379b8
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/AnalysisBasedWarnings.h

  Log Message:
  -----------
   [clang][NFC] Annotate `AnalysisBasedWarning.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 0764254e014db8783a31e84a322636c651bc7d6d
      https://github.com/llvm/llvm-project/commit/0764254e014db8783a31e84a322636c651bc7d6d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

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

  Log Message:
  -----------
  [clang][NFC] Annotate `StmtOpenMP.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: c8a12ed413aae2c2602c880395270acbdbb15e70
      https://github.com/llvm/llvm-project/commit/c8a12ed413aae2c2602c880395270acbdbb15e70
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

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

  Log Message:
  -----------
   [clang][NFC] Annotate `CommentCommandTraits.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: ab2cef5391cc3434bc54b755810c51b55e9a04fc
      https://github.com/llvm/llvm-project/commit/ab2cef5391cc3434bc54b755810c51b55e9a04fc
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/CFG.h

  Log Message:
  -----------
  [clang][NFC] Annotate `Analysis/CFG.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 535da10842c7309e9eeaf9828cf6bb034fecaf16
      https://github.com/llvm/llvm-project/commit/535da10842c7309e9eeaf9828cf6bb034fecaf16
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp

  Log Message:
  -----------
  [lldb] checks if lldb can trace/attach/set a breakpoint a process or load a file to debug on FreeBSD.

before having the generic EINVAL message, we check if the
`security.bsd.unprivileged_proc_debug` allows process debugging.

close #79634


  Commit: 6496948a427fc8f815f7c21cd068acd046873cca
      https://github.com/llvm/llvm-project/commit/6496948a427fc8f815f7c21cd068acd046873cca
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/APINotes/Types.h

  Log Message:
  -----------
  [clang][NFC] Partially annotate `APINotes/Types.h` with `preferred_type`

`RawRetainCountConversion` bit-field requires a new enumerator in `RetainCountConventionKind` to be annotated.


  Commit: fcd21624b082b0c42777f6047cdfbc8a59057001
      https://github.com/llvm/llvm-project/commit/fcd21624b082b0c42777f6047cdfbc8a59057001
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Driver.h

  Log Message:
  -----------
   [clang][NFC] Annotate `Driver.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 956722698172a806652ca8e2dba0a783a1c3d593
      https://github.com/llvm/llvm-project/commit/956722698172a806652ca8e2dba0a783a1c3d593
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/CodeCompleteConsumer.h

  Log Message:
  -----------
  [clang][NFC] Annotate `CodeCompletionConsumer.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 04812c72dee2c1c211306a4dd6d51e783f0c5015
      https://github.com/llvm/llvm-project/commit/04812c72dee2c1c211306a4dd6d51e783f0c5015
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/CodeCompleteOptions.h

  Log Message:
  -----------
  [clang][NFC] Annotate `CodeCompletionOptions.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 1ee81076388078cb0cb1fbc90ad374fceafd0c98
      https://github.com/llvm/llvm-project/commit/1ee81076388078cb0cb1fbc90ad374fceafd0c98
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

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

  Log Message:
  -----------
  [clang][NFC] Annotate `ASTReader.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 3bf89e5883ff0ea82ca4ad5cd511b77826b7bb71
      https://github.com/llvm/llvm-project/commit/3bf89e5883ff0ea82ca4ad5cd511b77826b7bb71
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/AST/Linkage.h

  Log Message:
  -----------
  [clang][NFC] Annotate `AST/Linkage.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 1366e4f594bdb4cd429423a1e07509e984838fa0
      https://github.com/llvm/llvm-project/commit/1366e4f594bdb4cd429423a1e07509e984838fa0
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Descriptor.h

  Log Message:
  -----------
  [clang][NFC] Annotate `Interp/Descriptor.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: ee56d494974311049e055c73e4feb2e4098f1da8
      https://github.com/llvm/llvm-project/commit/ee56d494974311049e055c73e4feb2e4098f1da8
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/Basic/Targets/ARM.h

  Log Message:
  -----------
  [clang][NFC] Annotate `Targets/ARM.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: ba0d35181cef094209306207dc6e3fa816ddde36
      https://github.com/llvm/llvm-project/commit/ba0d35181cef094209306207dc6e3fa816ddde36
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.h

  Log Message:
  -----------
  [clang][NFC] Annotate `CGCall.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: fd80304763a41f86b877c91b750551d7e6bd852d
      https://github.com/llvm/llvm-project/commit/fd80304763a41f86b877c91b750551d7e6bd852d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCUDARuntime.h

  Log Message:
  -----------
  [clang][NFC] Annotate `CGCUDARuntime.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 35737beaef1452b6ecdb0e6d7a359d48c8e9236a
      https://github.com/llvm/llvm-project/commit/35737beaef1452b6ecdb0e6d7a359d48c8e9236a
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenFunction.h

  Log Message:
  -----------
  [clang][NFC] Annotate `CodeGenFunction.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 866e073c2851bd4180cc0c64ce5a3d7f109e21dc
      https://github.com/llvm/llvm-project/commit/866e073c2851bd4180cc0c64ce5a3d7f109e21dc
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGRecordLayout.h

  Log Message:
  -----------
  [clang][NFC] Annotate `CGRecordLayout.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 1ed37606ca4bda4659b33a7f570d273b5afd16ea
      https://github.com/llvm/llvm-project/commit/1ed37606ca4bda4659b33a7f570d273b5afd16ea
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCleanup.h

  Log Message:
  -----------
  [clang][NFC] Annotate `CGCleanup.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: bf571059f3bcf50bf8d3b39dc6aadeb14ede14bf
      https://github.com/llvm/llvm-project/commit/bf571059f3bcf50bf8d3b39dc6aadeb14ede14bf
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.h

  Log Message:
  -----------
  [clang][NFC] Annotate `LangOptions.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 4502dc416f40e0165ef988ded7db2673ac35670e
      https://github.com/llvm/llvm-project/commit/4502dc416f40e0165ef988ded7db2673ac35670e
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir

  Log Message:
  -----------
  [mlir][nfc] Remove leftover print stmt in a test


  Commit: 5aec9392674572fa5a06283173a6a739742d261d
      https://github.com/llvm/llvm-project/commit/5aec9392674572fa5a06283173a6a739742d261d
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h

  Log Message:
  -----------
  [clang-format][NFC] Keep Operator== sorted in Format.h


  Commit: 5932fcc47855fdd209784f38820422d2369b84b2
      https://github.com/llvm/llvm-project/commit/5932fcc47855fdd209784f38820422d2369b84b2
  Author: Quentin Dian <dianqk at dianqk.net>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/lib/Analysis/InlineCost.cpp
    A llvm/test/Transforms/Inline/inline-switch-default-2.ll
    A llvm/test/Transforms/Inline/inline-switch-default.ll

  Log Message:
  -----------
  [InlineCost] Consider the default branch when calculating cost  (#77856)

First step in fixing #76772.

This PR considers the default branch as a case branch. This will give
the unreachable default branch fair consideration.


  Commit: c3dfbb6f49845edd4b953055f5fe14257fad6b58
      https://github.com/llvm/llvm-project/commit/c3dfbb6f49845edd4b953055f5fe14257fad6b58
  Author: David Green <david.green at arm.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Add commute_constant_to_rhs to post legalizer combiners (#81103)

This helps the fp reductions, moving the constant operands to the RHS
which in turn helps simplify away fadd -0.0 and fmul 1.0.


  Commit: 887ed6d2876156ade8a382e521130feae4b91b82
      https://github.com/llvm/llvm-project/commit/887ed6d2876156ade8a382e521130feae4b91b82
  Author: David Green <david.green at arm.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp

  Log Message:
  -----------
  [AArch64][GlobalISel] Remove mulh c++ lowering (#81105)

I believe these should be selectable via tablegen patterns nowadays.


  Commit: b985d4179a882892ce009fb3668cdc917e27f5d5
      https://github.com/llvm/llvm-project/commit/b985d4179a882892ce009fb3668cdc917e27f5d5
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp

  Log Message:
  -----------
  [clang][NFC] Annotate `ExprConstant.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 63b414e4977d6e19f05947c88f57cd127fa328e3
      https://github.com/llvm/llvm-project/commit/63b414e4977d6e19f05947c88f57cd127fa328e3
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/AST/RecordLayoutBuilder.cpp

  Log Message:
  -----------
  [clang][NFC] Annotate `RecordLayoutBuilder.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: eaff01f4fc1b3f1ccdc5fc6dafb39af959d00f6d
      https://github.com/llvm/llvm-project/commit/eaff01f4fc1b3f1ccdc5fc6dafb39af959d00f6d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

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

  Log Message:
  -----------
  [clang][NFC] Annotate `CGExprCXX.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: bcc4c8231fbee46f1b16f8b9db7d9926745db9bb
      https://github.com/llvm/llvm-project/commit/bcc4c8231fbee46f1b16f8b9db7d9926745db9bb
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

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

  Log Message:
  -----------
  [clang][NFC] Annotate `CGObjC.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 6884657de8da3024b50d8737219c1f24ab075c4c
      https://github.com/llvm/llvm-project/commit/6884657de8da3024b50d8737219c1f24ab075c4c
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp

  Log Message:
  -----------
  [clang][NFC] Annotate `SemaChecking.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: f0b2bcfe91e70816b33973bc50a2cb63144ba77a
      https://github.com/llvm/llvm-project/commit/f0b2bcfe91e70816b33973bc50a2cb63144ba77a
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/Sema/SemaStmt.cpp

  Log Message:
  -----------
  [clang][NFC] Annotate `SemaStmt.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 83269a04def26fe9890036857d3e1a8c6c1f770d
      https://github.com/llvm/llvm-project/commit/83269a04def26fe9890036857d3e1a8c6c1f770d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/tools/driver/cc1as_main.cpp

  Log Message:
  -----------
  [clang][NFC] Annotate `cc1as_main.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: bc1d61cbf8759f5144217af50d2309b5dddd5538
      https://github.com/llvm/llvm-project/commit/bc1d61cbf8759f5144217af50d2309b5dddd5538
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/unittests/Basic/SourceManagerTest.cpp

  Log Message:
  -----------
  [clang][NFC] Annotate `SourceManagerTest.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 23bdca2c6737f25f1d184f03021f61157bac6196
      https://github.com/llvm/llvm-project/commit/23bdca2c6737f25f1d184f03021f61157bac6196
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [clang][NFC] Annotate `RISCVVEmitter.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 4bbae068d704752acbd7c5d8652c11b0954742be
      https://github.com/llvm/llvm-project/commit/4bbae068d704752acbd7c5d8652c11b0954742be
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h

  Log Message:
  -----------
  [clang][NFC] Annotate `RISCVVIntrinsicUtils.h` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: 803374994602910aae2cb483d03bcbdb294b21bb
      https://github.com/llvm/llvm-project/commit/803374994602910aae2cb483d03bcbdb294b21bb
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/Basic/DiagnosticIDs.cpp

  Log Message:
  -----------
  [clang][NFC] Annotate `DiagnosticID.cpp` with `preferred_type`

This helps debuggers to display values in bit-fields in a more helpful way.


  Commit: fe0d277f31d3369de1fd92ad8dd8044f5b1d4ed7
      https://github.com/llvm/llvm-project/commit/fe0d277f31d3369de1fd92ad8dd8044f5b1d4ed7
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M libcxx/include/ratio
    A libcxx/test/std/utilities/ratio/ratio.arithmetic/R1_R2_requirement.verify.cpp
    A libcxx/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement.verify.cpp
    A libcxx/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement_v.verify.cpp

  Log Message:
  -----------
  [libc++][ratio] Avoids accepting unrelated types. (#80491)

The arithmetic and comparison operators are ill-formed when R1 or R2 is
not a std::ratio.

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


  Commit: 1503db86d65ee2bcc8ec1c2a5a4d00dea02aae0d
      https://github.com/llvm/llvm-project/commit/1503db86d65ee2bcc8ec1c2a5a4d00dea02aae0d
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

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

  Log Message:
  -----------
  [clang][NFC] Refactor bit-fields in `RawComment`

Make them all of the same `unsigned` type, which brings `sizeof(RawComment)` down from 12 to 4 when compiling Clang for Microsoft ABI.


  Commit: 082439c33fa76ad4df267600472695d24ad53821
      https://github.com/llvm/llvm-project/commit/082439c33fa76ad4df267600472695d24ad53821
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

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

  Log Message:
  -----------
  [clang][NFC] Refactor bit-fields in `ObjCAtTryStmt`

Make all bit-fields of type `unsigned`, which reduces amoung of padding on Microsoft ABI, resulting in potentially lesser size of the object.


  Commit: 15279e7569108cccb49ca1fcfdfae420124d3fac
      https://github.com/llvm/llvm-project/commit/15279e7569108cccb49ca1fcfdfae420124d3fac
  Author: Carlos Galvez <carlosgalvezp at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M openmp/cmake/HandleOpenMPOptions.cmake
    M openmp/cmake/config-ix.cmake

  Log Message:
  -----------
  [OpenMP] Remove -Wno-enum-constexpr-conversion (#81318)

This effectively reverts commit
9ff0cc7e0fa7e99163610d2fcb58e96f3315e343. For some reason "git revert"
lead to "no changes" after fixing conflicts, so a clean revert was not
possible.

The original issue (#57022) is no longer reproducible even with this
patch, so we can remove the suppression.

This is in line with our goal to make -Wenum-constexpr-conversion a
non-downgradeable error, see #59036.

Co-authored-by: Carlos Gálvez <carlos.galvez at zenseact.com>


  Commit: e3f684d86b308bc2576d813aad1a230aa6b295ab
      https://github.com/llvm/llvm-project/commit/e3f684d86b308bc2576d813aad1a230aa6b295ab
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h

  Log Message:
  -----------
  [clang][NFC] Refactor bit-fields in `DefaultedFunctionKind`

This patch makes all bit-fields in `DefaultedFunctionKind` of type `unsigned`, which brings `sizeof(DefaultedFunctionKind)` down from 8 to 4 when compiling Clang for Microsoft ABI.


  Commit: b45de48be24695b613f48ed21bb35f844454193b
      https://github.com/llvm/llvm-project/commit/b45de48be24695b613f48ed21bb35f844454193b
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll

  Log Message:
  -----------
  [MVE] Expand64BitShift - handle all constant shift amounts less than 32 (#81261)

Expand64BitShift was always dropping to generic shift legalization if the shift amount type was larger than i64, even if the constant shift amount was actually very small. I've adjusted the constant bounds checks to work with APInt types so we can always perform the comparison.

This results in the MVE long shift instructions being used more often, and it looks like this is preventing some additional combines from happening. This could be addressed in the future.

This came about while I was trying to extend the DAGTypeLegalizer::ExpandShift* helpers and need to move to consistently using the legal shift amount types instead of reusing the shift amount type from the original wider shift.


  Commit: 00e80fbfb9151a68e7383dcec7da69c867225e54
      https://github.com/llvm/llvm-project/commit/00e80fbfb9151a68e7383dcec7da69c867225e54
  Author: Danny Mösch <danny.moesch at icloud.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
    M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-override.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/use-anyofallof.rst
    M clang/include/clang/Basic/Module.h
    M clang/lib/Basic/Module.cpp
    M clang/lib/Headers/stdatomic.h
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/test/Analysis/bitwise-shift-common.c
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/include/__locale_dir/locale_base_api/ibm.h
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [NFC] Correct C++ standard names (#81421)


  Commit: ffab5a089b1e94b3305fbdfdf1547b751121c090
      https://github.com/llvm/llvm-project/commit/ffab5a089b1e94b3305fbdfdf1547b751121c090
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/misched-fusion-addadrp.ll

  Log Message:
  -----------
  Add a test for the A16/A17 parts of eb1b428750181ea742c547db0bc7136cd5b8f732

There are a couple of open questions on what we should do for A14, so I'll
leave that off for now.

https://github.com/llvm/llvm-project/pull/81325#issuecomment-1937489565


  Commit: 03f571995b4f0c260254955afd16ec44d0764794
      https://github.com/llvm/llvm-project/commit/03f571995b4f0c260254955afd16ec44d0764794
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnalyzer.h
    M clang/unittests/Format/TestLexer.h

  Log Message:
  -----------
  [clang-format][NFC] Make LangOpts global in namespace Format (#81390)


  Commit: 3dc8ef677d7d05116a0bf6524eb38b02ca6ba042
      https://github.com/llvm/llvm-project/commit/3dc8ef677d7d05116a0bf6524eb38b02ca6ba042
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnalyzer.h
    M clang/unittests/Format/TestLexer.h

  Log Message:
  -----------
  Revert "[clang-format][NFC] Make LangOpts global in namespace Format (#81390)"

This reverts commit 03f571995b4f0c260254955afd16ec44d0764794.

We can't hide getFormattingLangOpts() as it's used by other tools.


  Commit: b1771475da91805a4ac1831810b62a7b3655ccca
      https://github.com/llvm/llvm-project/commit/b1771475da91805a4ac1831810b62a7b3655ccca
  Author: David Green <david.green at arm.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/insertextract.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Additional insert and extract GISel tests. NFC


  Commit: 1a988869319bb4cfe04b3d2618818180b3cfb28c
      https://github.com/llvm/llvm-project/commit/1a988869319bb4cfe04b3d2618818180b3cfb28c
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc] Remove extra ] in stdc.td. (#81438)


  Commit: 5da801386c2b820a4596fc6d8da6b5f4a6da94b4
      https://github.com/llvm/llvm-project/commit/5da801386c2b820a4596fc6d8da6b5f4a6da94b4
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/test/MC/AArch64/arm64-adr.s
    M llvm/test/MC/AArch64/arm64-branch-encoding.s
    M llvm/test/MC/AArch64/basic-a64-diagnostics.s

  Log Message:
  -----------
  [AArch64AsmParser] Allow branch target symbol to have a shift/extend modifier name (#80571)

Shift and extend modifiers are parsed as separate operands. When a
symbol operand of a branch instruction has such a "bad" name,
AArch64AsmParser will report an error.

```
% cat a.c
void lsl(); void lsr(); void asr(); void ror(); void uxtb(); void sxtx();
void foo() { lsl(); asr(); asr(); ror(); uxtb(); sxtx(); }
% clang --target=aarch64 -c -save-temps a.c
a.s:15:8: error: expected #imm after shift specifier
        bl      lsl
                   ^
a.s:16:8: error: expected #imm after shift specifier
        bl      asr
                   ^
a.s:17:8: error: expected #imm after shift specifier
        bl      asr
                   ^
a.s:18:8: error: expected #imm after shift specifier
        bl      ror
                   ^
a.s:19:5: error: expected label or encodable integer pc offset
        bl      uxtb
                ^
a.s:20:5: error: expected label or encodable integer pc offset
        bl      sxtx
                ^
```

In contrast, gas correctly parses these instructions.

Fix #79729 by parsing shift/extend modifier after an immediate
value/register


  Commit: 32e65b0b8a743678974c7ca7913c1d6c41bb0772
      https://github.com/llvm/llvm-project/commit/32e65b0b8a743678974c7ca7913c1d6c41bb0772
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnalyzer.h
    M clang/unittests/Format/TestLexer.h

  Log Message:
  -----------
  Reland "[clang-format][NFC] Make LangOpts global in namespace Format (#81390)"

Restore getFormattingLangOpts().


  Commit: da9559d69a856ba668b659609a0ab73322fc738a
      https://github.com/llvm/llvm-project/commit/da9559d69a856ba668b659609a0ab73322fc738a
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/test/CodeGen/NVPTX/extractelement.ll

  Log Message:
  -----------
  Do not use PerformEXTRACTCombine for v8i8 types (#81242)

Same as with v4i8 types, we should not be using PerformEXTRACTCombine
for v8i8 types.


  Commit: 00918933fc4e181fe3c74006d81d7a598c2227b3
      https://github.com/llvm/llvm-project/commit/00918933fc4e181fe3c74006d81d7a598c2227b3
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-11 (Sun, 11 Feb 2024)

  Changed paths:
    M clang/unittests/Format/TestLexer.h

  Log Message:
  -----------
  [clang-format] Undo the change to TestLexer() in commit 32e65b0b8a74

We can't skip calling getFormattingLangOpts() because LangOpts is not
initialized in the unit tests.


  Commit: 373d9d72145cd40c9dc00abefd14632763a2987b
      https://github.com/llvm/llvm-project/commit/373d9d72145cd40c9dc00abefd14632763a2987b
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    A llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    A llvm/test/tools/llvm-mca/RISCV/XiangShan/cascade-fma.s
    A llvm/test/tools/llvm-mca/RISCV/XiangShan/gpr-bypass.s
    A llvm/test/tools/llvm-mca/RISCV/XiangShan/load-to-alu.s

  Log Message:
  -----------
  [RISCV] Add sched model for XiangShan-NanHu (#70232)

[XiangShan](https://github.com/OpenXiangShan/XiangShan) is an
open-source high-performance RISC-V processor.

This PR adds the schedule model for XiangShan-NanHu, the 2nd Gen core of
the XiangShan processor series.
Overview:
https://xiangshan-doc.readthedocs.io/zh-cn/latest/integration/overview/

It is based on the patch [D122556](https://reviews.llvm.org/D122556) by
@SForeKeeper. The original patch hasn't been updated for a long time and
it is out of sync with the current RTL design.

---------

Co-authored-by: SForeKeeper <zkliu6 at gmail.com>


  Commit: f9d6d6fbcc23e0227d6b065f5723d80cd332cb1d
      https://github.com/llvm/llvm-project/commit/f9d6d6fbcc23e0227d6b065f5723d80cd332cb1d
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M libcxx/include/CMakeLists.txt
    M libcxx/include/__fwd/array.h
    R libcxx/include/__fwd/get.h
    M libcxx/include/__fwd/pair.h
    M libcxx/include/__fwd/subrange.h
    M libcxx/include/__fwd/tuple.h
    M libcxx/include/__memory/compressed_pair.h
    M libcxx/include/__ranges/elements_view.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__tuple/tuple_like.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/istream
    M libcxx/include/module.modulemap.in
    M libcxx/include/streambuf
    M libcxx/include/tuple
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv

  Log Message:
  -----------
  [libc++] Move the contents of `__fwd/get.h` into the forward declaration headers they actually belong to (#81368)

This brings us closer to one forward declaring header per public header.


  Commit: 1c48c9234b3e30e6ed5b9a0ce68320579bb6fec7
      https://github.com/llvm/llvm-project/commit/1c48c9234b3e30e6ed5b9a0ce68320579bb6fec7
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

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


  Commit: f5d71b79fe978f1e70f4a41adfd15f65dec6e210
      https://github.com/llvm/llvm-project/commit/f5d71b79fe978f1e70f4a41adfd15f65dec6e210
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  Reland "[clang-format][NFC] Make LangOpts global in namespace Format (#81390)"


  Commit: 33108fae9020cb49577fc3ee0aed219cc581f82a
      https://github.com/llvm/llvm-project/commit/33108fae9020cb49577fc3ee0aed219cc581f82a
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  Reverted due to wrong commit message

This reverts commit f5d71b79fe978f1e70f4a41adfd15f65dec6e210.


  Commit: 7f40c5cc4e15a0a67b031f13370afc342a5dc14b
      https://github.com/llvm/llvm-project/commit/7f40c5cc4e15a0a67b031f13370afc342a5dc14b
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  Reland "[clang-format] Update FormatToken::isSimpleTypeSpecifier() (#80241)"


  Commit: f5399e89a27d8c64849a1631958952f4dfe14692
      https://github.com/llvm/llvm-project/commit/f5399e89a27d8c64849a1631958952f4dfe14692
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  Remove trailing whitespaces in AMDGPUUsage.rst


  Commit: 074f7c2235a7d39f59f5c4d85b8fb87d3459b90d
      https://github.com/llvm/llvm-project/commit/074f7c2235a7d39f59f5c4d85b8fb87d3459b90d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [InstCombine] Remove redundant fold (NFCI)

This has been subsumed by simplifyAndOrWithOpReplaced().


  Commit: 92d79922051f732560acf3791b543df1e6580689
      https://github.com/llvm/llvm-project/commit/92d79922051f732560acf3791b543df1e6580689
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll

  Log Message:
  -----------
  [AArch64] Only apply bool vector bitcast opt if result is scalar (#81256)

This optimization tries to optimize bitcasts from `<N x i1>` to iN, but
currently also triggers for `<N x i1>` to `<M x iK>` bitcasts, if custom
lowering has been requested for these for an unrelated reason. Fix this
by explicitly checking that the result type is scalar.

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


  Commit: 1e36d92b705b7977c867dc3afa90da76dee6effd
      https://github.com/llvm/llvm-project/commit/1e36d92b705b7977c867dc3afa90da76dee6effd
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll

  Log Message:
  -----------
  [LowerMemIntrinsics] Avoid udiv/urem when type size is a power of 2 (#81238)

See #64620 - does not fix the issue but improves the generated code a
bit.


  Commit: b221b9733688d149dc288339e304e48af609ad75
      https://github.com/llvm/llvm-project/commit/b221b9733688d149dc288339e304e48af609ad75
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll

  Log Message:
  -----------
  Add support for SPIR-V extension:  SPV_INTEL_subgroups (#81023)

The goal of this PR is to implement SPV_INTEL_subgroups extension in
SPIR-V Backend.


  Commit: f93aa5157a3317b24cff660ac972814ee9ed4dbc
      https://github.com/llvm/llvm-project/commit/f93aa5157a3317b24cff660ac972814ee9ed4dbc
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/TargetParser/TargetParser.h
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
    M llvm/test/CodeGen/AMDGPU/gds-atomic.ll
    A llvm/test/CodeGen/AMDGPU/generic-targets-require-v6.ll
    A llvm/test/CodeGen/AMDGPU/hsa-generic-target-features.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.d16.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix.ll
    M llvm/test/CodeGen/AMDGPU/unsupported-image-sample.ll
    M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [AMDGPU] Introduce GFX9/10.1/10.3/11 Generic Targets (#76955)

These generic targets include multiple GPUs and will, in the future,
provide a way to build once and run on multiple GPU, at the cost of less
optimization opportunities.

Note that this is just doing the compiler side of things, device libs an
runtimes/loader/etc. don't know about these targets yet, so none of them
actually work in practice right now. This is just the initial commit to
make LLVM aware of them.

This contains the documentation changes for both this change and #76954
as well.


  Commit: f7f947e6208cb65ab1a29c4573bf927f967b9d5d
      https://github.com/llvm/llvm-project/commit/f7f947e6208cb65ab1a29c4573bf927f967b9d5d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [InstCombine] Remove some uninteresting FIXMEs (NFC)

If there are two undef operands, the select would get folded away
entirely. One undef operand can occur if the other two operands
do not satisfy the poison implication check. However, I don't think
that handling this edge case is worthwhile in this fold. If we
wanted to handle this, it would be more natural to do so in the
simplifyValueKnownNonZero() fold (as this is actually the property
we would be exploiting -- this doesn't really have any relation
to taking the log2).


  Commit: 8a2a65ffdf7fb2bb0195dcc0d1dc6705cef8bce5
      https://github.com/llvm/llvm-project/commit/8a2a65ffdf7fb2bb0195dcc0d1dc6705cef8bce5
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir

  Log Message:
  -----------
  [mlir][ArmSME][test] Unroll reduction dimension in multi-tile-matmul.mlir (#81160)

This tests both #80148 and #80170 work together to allow unrolling the
reduction dimension of a matmul.


  Commit: c90114c993ec1443360769a4d51963e3536de0ef
      https://github.com/llvm/llvm-project/commit/c90114c993ec1443360769a4d51963e3536de0ef
  Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/ScopeInfo.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/SemaCXX/warn-shadow-in-lambdas.cpp

  Log Message:
  -----------
  [clang] Avoid -Wshadow warning when init-capture named same as class field (#74512)

Shadowing warning doesn't make much sense since field is not available
in lambda's body without capturing this.

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


  Commit: b726a81947c40521e047385c5217933c18162187
      https://github.com/llvm/llvm-project/commit/b726a81947c40521e047385c5217933c18162187
  Author: Benji Smith <6193112+Benjins at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm-c/Core.h
    M llvm/lib/IR/Core.cpp
    M llvm/unittests/IR/ConstantsTest.cpp

  Log Message:
  -----------
  [C API] Add blockaddress getters to C API (#81382)

This allows for accessing the function/basic block that a blockaddress
constant refers to

Due to the difficulties of fully supporting cloning BlockAddress values
in echo.cpp, tests are instead done using a unit test.

This previously was up for review at
https://github.com/llvm/llvm-project/pull/77390.


  Commit: 53c260d99e375f666c6cffa15f5fa261858147a2
      https://github.com/llvm/llvm-project/commit/53c260d99e375f666c6cffa15f5fa261858147a2
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/runtime-type-info.cpp
    A flang/test/Semantics/typeinfo10.f90

  Log Message:
  -----------
  [flang] ensure parent component are first in runtime type info (#81259)

Static info generated to describe derived types contain an array listing
the components of some derived type.

The parent component must be first for the runtime to properly works.
The current sort was only relying on the offset, but if the parent is an
empty type, this did not work properly because its offset did not
compare smaller than the first component and the parent was not added
first


  Commit: 9d8a236164082a6d92a58eaafce1f733ce2e81a7
      https://github.com/llvm/llvm-project/commit/9d8a236164082a6d92a58eaafce1f733ce2e81a7
  Author: David Green <david.green at arm.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/BasicAA/vscale.ll

  Log Message:
  -----------
  [BasicAA] Check for Overflow using vscale_range (#81144)

This extends #80818 when IsNSW is lost (possibly due to looking through
multiple GEPs), to check the vscale_range for an access that will not
overflow even with the maximum range.


  Commit: d153ef6a34956e0fc580c0f4b8e4b9b76b93b522
      https://github.com/llvm/llvm-project/commit/d153ef6a34956e0fc580c0f4b8e4b9b76b93b522
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.h
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll

  Log Message:
  -----------
  Add support for SPIR-V extension: SPV_INTEL_function_pointers (#80759)

This PR adds initial support for "SPV_INTEL_function_pointers" SPIR-V
extension:
https://github.com/intel/llvm/blob/sycl/sycl/doc/design/spirv-extensions/SPV_INTEL_function_pointers.asciidoc

The goal of the extension is to support indirect function calls and
translation of function pointers into SPIR-V.


  Commit: 213b0ae4978581d382ba99107040122c5e69662b
      https://github.com/llvm/llvm-project/commit/213b0ae4978581d382ba99107040122c5e69662b
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
    M llvm/test/CodeGen/ARM/GlobalISel/fpenv.ll

  Log Message:
  -----------
  [GlobalISel][ARM] legalize G_FPENV_RESET for soft-float mode (#81456)


  Commit: c609846155279090a4f9e659f63fb851e4946cb7
      https://github.com/llvm/llvm-project/commit/c609846155279090a4f9e659f63fb851e4946cb7
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Metadata.h
    M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp

  Log Message:
  -----------
  [TBAA] Extract logic to use TBAA tag for field of !tbaa.struct (NFC). (#81284)


  Commit: 0bf4ff29816c0eead99ba576a2df2e3c4d214b1f
      https://github.com/llvm/llvm-project/commit/0bf4ff29816c0eead99ba576a2df2e3c4d214b1f
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M lld/test/COFF/timestamp.test

  Log Message:
  -----------
  [LLD] [test] Avoid printing timestamps past INT32_MAX with llvm-readobj (#81463)

If llvm-readobj is built with a 32 bit time_t, it can't print such
timestamps correctly.


  Commit: b0958bd9dee3920f15ae266b276a6ad43022b4b5
      https://github.com/llvm/llvm-project/commit/b0958bd9dee3920f15ae266b276a6ad43022b4b5
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir

  Log Message:
  -----------
  [mlir][Vector] Add missing test (scalable vec + strided access) (#81296)

This is a follow-up for #81187, it simply adds missing tests for
scalable vectors.


  Commit: 0c634537148f594203fbe946822cc38deca20ae3
      https://github.com/llvm/llvm-project/commit/0c634537148f594203fbe946822cc38deca20ae3
  Author: Mariusz Sikora <mariusz.sikora at amd.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst

  Log Message:
  -----------
  [AMDGPU][NFC] Docs - remove duplicates (#81465)


  Commit: 5e6b4be5cbddbc7538cdae0f0889b116e386fcca
      https://github.com/llvm/llvm-project/commit/5e6b4be5cbddbc7538cdae0f0889b116e386fcca
  Author: David Green <david.green at arm.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/test/Analysis/BasicAA/vscale.ll

  Log Message:
  -----------
  [BasicAA] Treat different VScale intrinsics as the same value. (#81152)

The IR may contain multiple llvm.vscale intrinsics that have not been CSEd.
This patch ensures that multiple vscales can be treated the same, either in the
decomposition of geps and when we subtract one decomposition from another.


  Commit: b21e3282864c9f7ad656c64bc375f5869ef76d19
      https://github.com/llvm/llvm-project/commit/b21e3282864c9f7ad656c64bc375f5869ef76d19
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [IR] Add ptradd fast path in accumulateConstantOffset() (NFC)

For getelementptr i8 (aka ptradd) we can skip the whole logic and
directly use the offset. As we're now canonicalizing to this form,
it's pretty common and worth having a fast-path for.


  Commit: 7bc079c85219ad6e954fb6071cd108151203c85e
      https://github.com/llvm/llvm-project/commit/7bc079c85219ad6e954fb6071cd108151203c85e
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-float.ll

  Log Message:
  -----------
  [TTI]Fallback to SingleSrcPermute shuffle kind, if no direct estimation for

extract subvector.

Many targets do not have cost for extractsubvector shuffle kind, but
have the costs for single source permute. If there are no costs
estimation for extractsubvector, better to switchto single source
permute for better cost estimation.

Reviewers: RKSimon, davemgreen, arsenm

Reviewed By: RKSimon

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


  Commit: 268799cc59ef7af237278d058c6e2ee2c8eb227d
      https://github.com/llvm/llvm-project/commit/268799cc59ef7af237278d058c6e2ee2c8eb227d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Refactor Pointer::toAPValue()

Use early-out style rather than letting control flow through
the entire function.


  Commit: 0940f9083e68bda78bcbb323c2968a4294092e21
      https://github.com/llvm/llvm-project/commit/0940f9083e68bda78bcbb323c2968a4294092e21
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll

  Log Message:
  -----------
  [SLP]Add support for strided loads.

Added basic support for strided loads support in SLP vectorizer.
Supports constant strides only. If the strided load must be
reversed, applies -stride to avoid extra reverse shuffle.

Reviewers: preames, lukel97

Reviewed By: preames

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


  Commit: 45260bf23b802047ab4fd888b8bf2b32e4c5eb69
      https://github.com/llvm/llvm-project/commit/45260bf23b802047ab4fd888b8bf2b32e4c5eb69
  Author: Petr <piter.zh at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp

  Log Message:
  -----------
  Fix use after free error in NVVMReflect (#81471)

I have a Triton kernel, which triggered a heap-use-after-free error in
LLVM.

The problem was that the same instruction may be added to the
`ToSimplify` array multiple times. If this duplicate instruction is
trivially dead, it gets deleted on the first pass. Then, on the second
pass, the freed instruction is passed.

To fix this, I'm adding the instructions to the `ToRemove` array and
filter it out for duplicates to avoid possible double frees.


  Commit: 2ac8e6b7f5b8f495f496a55512e5ea452beb0bca
      https://github.com/llvm/llvm-project/commit/2ac8e6b7f5b8f495f496a55512e5ea452beb0bca
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/NVPTX/intrinsics.ll

  Log Message:
  -----------
  [NVPTX] Implement `__builtin_readcyclecounter` on NVPTX (#81344)

Summary:
This patch simply states that `__builtin_readcyclecounter` is legal on
NVPTX and makes it  return the value from the `clock64` sreg. The timer
intrinsics are marked as having side effects, which is desireable for
timing primitives and required to pattern match the instrinic DAG.


  Commit: d1c481d27db07acb6fa68a244bb110bd7ad57a05
      https://github.com/llvm/llvm-project/commit/d1c481d27db07acb6fa68a244bb110bd7ad57a05
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll

  Log Message:
  -----------
  [CGP] Precommit tests for PR76613 (NFC)


  Commit: 8373ceef8f2ee377d6daf884e2f3ea11408a7fe2
      https://github.com/llvm/llvm-project/commit/8373ceef8f2ee377d6daf884e2f3ea11408a7fe2
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll

  Log Message:
  -----------
  [CGP] Extend `dupRetToEnableTailCallOpts` to known intrinsics

Hint further tail call optimization opportunities when the examined
returned value is the return value of a known intrinsic or library
function, and it appears as first function argument.

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


  Commit: afa413a132c0959295df36c28814ee83948e4931
      https://github.com/llvm/llvm-project/commit/afa413a132c0959295df36c28814ee83948e4931
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/dbg-declare-tag-offset.ll

  Log Message:
  -----------
  [RemoveDIs][DebugInfo] Correctly visit DPValues in StackInfoBuilder::visit (#81247)

In `StackInfoBuilder::visit(Instruction &Inst)`, operations are
performed on memory-related instructions, including debug intrinsics
that refer to "interesting" allocas. There is a block that also visits
DPValues attached to the instruction, but this block is near the end of
the function; this has two problems:
1. The DPValues attached to an instruction precede that instruction, so
they should always be processed before the instruction itself.
2. More importantly, some of the paths for visiting other instructions
contain early returns, which will result in the DPValues not being
visited at all.

This patch simply moves the DPValue-visiting block to the top of the
function, which should resolve both of these problems.


  Commit: f5fd0deb2371d0bae3bef2563f50e005a140fc6d
      https://github.com/llvm/llvm-project/commit/f5fd0deb2371d0bae3bef2563f50e005a140fc6d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/docs/ClangLinkerWrapper.rst
    M clang/test/Driver/linker-wrapper.c
    M llvm/lib/Object/OffloadBinary.cpp

  Log Message:
  -----------
  [LinkerWrapper][NFC] Rename 'all' to 'generic' for architecture agnostic IR

Summary:
A previous patch introduced `all` as a special architecture. I have
decided I do not like this name and have changed it to `generic`.


  Commit: 50ed98f1cf2516c59de0351fa683639c937782ea
      https://github.com/llvm/llvm-project/commit/50ed98f1cf2516c59de0351fa683639c937782ea
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  Revert "Reland "[clang-format] Update FormatToken::isSimpleTypeSpecifier() (#80241)""

The change caused an asan crash when running the `QualifierFixerTest.IsQualifierType` unittest, see
details: https://github.com/llvm/llvm-project/pull/80241#issuecomment-1938749844

This reverts commit 7f40c5cc4e15a0a67b031f13370afc342a5dc14b.


  Commit: 6a471611a4b98396abb0680229aa0694ffe88a43
      https://github.com/llvm/llvm-project/commit/6a471611a4b98396abb0680229aa0694ffe88a43
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Support of TableGen value annotations. (#80299)

This implements the annotation of the values in TableGen.
The main changes are,

- parseTableGenValue(), the simplified parser method for the syntax of
values.
- modified consumeToken() to parseTableGenValue in 'if', 'assert' and
after '='.
- modified parseParens() to call parseTableGenValue inside.
- modified parseSquare() to to call parseTableGenValue inside, with
skipping separator tokens.
- modified parseAngle() to call parseTableGenValue inside, with skipping
separator tokens.


  Commit: 2b5e4eeb26ce57a8d7c2835cffc80388f43f044a
      https://github.com/llvm/llvm-project/commit/2b5e4eeb26ce57a8d7c2835cffc80388f43f044a
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/docs/analyzer/checkers.rst
    M clang/www/analyzer/alpha_checks.html

  Log Message:
  -----------
  [clang][analyzer] Remove 'alpha.core.CallAndMessageUnInitRefArg' from documentation (NFC). (#81138)

This checker does not exist (any more?) but appeared in the
documentation. No other references to CallAndMessageUnInitRefArg are
found in the full clang code.


  Commit: 15b0cc1212701908400e8059c6581ffe85d8070f
      https://github.com/llvm/llvm-project/commit/15b0cc1212701908400e8059c6581ffe85d8070f
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Move a declaration into an if statement


  Commit: ea8de6e4336cf82aa541c6ad951b62585c3ea55c
      https://github.com/llvm/llvm-project/commit/ea8de6e4336cf82aa541c6ad951b62585c3ea55c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Make two local variables const


  Commit: 635dfd5d69c6be52a8a2bb612f3483d9a1226cfa
      https://github.com/llvm/llvm-project/commit/635dfd5d69c6be52a8a2bb612f3483d9a1226cfa
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Fix a designated initializer testcase

This protected GetPtrField and ArrayDecay ops from dummy pointers
which fixes the attached test case for designated initializers in C.


  Commit: 85598ae35aa61f1f5fcf9fd19657768985806d9f
      https://github.com/llvm/llvm-project/commit/85598ae35aa61f1f5fcf9fd19657768985806d9f
  Author: Tarun Prabhu <tarun at lanl.gov>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M flang/docs/GettingInvolved.md

  Log Message:
  -----------
  [flang][docs] Update meeting link for technical call and some cleanup (#81147)

Added the meeting numbers and passcodes for both the technical and
community calls, just in case. Removed an obsolete reference to "LLVM
flang and current flang". Some minor stylistic edits.


  Commit: 32eb95cc40d93bc5fb67e0b52531f7620204ec8c
      https://github.com/llvm/llvm-project/commit/32eb95cc40d93bc5fb67e0b52531f7620204ec8c
  Author: nikitalita <69168929+nikitalita at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
    M llvm/lib/DebugInfo/CodeView/EnumTables.cpp
    M llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
    M llvm/lib/DebugInfo/PDB/PDBExtras.cpp
    M llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
    M llvm/test/DebugInfo/COFF/swift.ll
    M llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
    M llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp

  Log Message:
  -----------
  [DebugInfo] Update CodeView enums (#71038)

This adds the following values to the CodeView.h enums (and updates the
various functions that use them):


* CPUType:
  * Added `Unknown`
* This is not currently documented in the online documentation, but this
is present in `cvconst.h` in the latest DIA SDK (Visual Studio 2022,
17.7.6)
* `Unknown` is the CPUType that is emitted by `aliasobj.exe` in the
Compile3Sym records, and can be found in objects that link with
`oldnames.lib`
    

![image](https://github.com/llvm/llvm-project/assets/69168929/8ee7b032-761b-45da-8439-d07aba797940)


* SourceLanguage (All of these are documented at
https://learn.microsoft.com/en-us/visualstudio/debugger/debug-interface-access/cv-cfl-lang?view=vs-2022
and are present in `cvconst.h` in the latest DIA SDK (Visual Studio
2022, 17.7.6))
  * Added Go
  * Added AliasObj
* emitted by `aliasobj.exe` in certain records, can be found in PDBs
that link with `oldnames.lib`
  * Changed Swift to the official Microsoft enumeration
  * Added `OldSwift`
* The old Swift enumeration of `S` was changed to `OldSwift` to allow
pdb dumping utilities to continue to emit correct source language
information for old PDBs
 
### WARNING
The `Swift` change is a potentially breaking change, as the swift
compiler will now emit `0x13` for the SourceLanguage type in PDB records
instead of `S`. This could potentially break utilities that relied on
the old enum value.
 
 * CallType
   * Added Swift
* This is not currently documented in the online documentation, but this
is present in `cvconst.h` in the latest DIA SDK (Visual Studio 2022,
17.7.6)


  Commit: c9afeaa6434a61b3b3a57c8eda6d2cfb25ab675b
      https://github.com/llvm/llvm-project/commit/c9afeaa6434a61b3b3a57c8eda6d2cfb25ab675b
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [format] Remove an unused variable.


  Commit: 69ddf1eb4dc27331083dff49e60033265ae4b568
      https://github.com/llvm/llvm-project/commit/69ddf1eb4dc27331083dff49e60033265ae4b568
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/load-combine.ll

  Log Message:
  -----------
  [X86] Add test for #80911 (NFC)


  Commit: d08d3159d5ee0ee127d3581776ef569b8a6113af
      https://github.com/llvm/llvm-project/commit/d08d3159d5ee0ee127d3581776ef569b8a6113af
  Author: Jon Roelofs <jonathan_roelofs at apple.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/test/Sema/aarch64-sme-func-attrs.c

  Log Message:
  -----------
  [clang][sema][FMV] Forbid multi-versioning arm_streaming functions. (#81268)

The streaming mode change is incompatible with the ifunc mechanism used
to implement FMV: we can't conditionally change it based on the
particular callee that is resolved at runtime.

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


  Commit: 5c9f7682b090124d9a8b69f92d3f7c269dca25fc
      https://github.com/llvm/llvm-project/commit/5c9f7682b090124d9a8b69f92d3f7c269dca25fc
  Author: Stephen Tozer <Stephen.Tozer at Sony.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default"

This reapplies commit bdde5f9bea75e897bcc31a95b9c3376988c211cc.

The above commit previously failed due to buildbot errors:
  https://lab.llvm.org/buildbot/#/builders/205/builds/25126
  https://lab.llvm.org/buildbot/#/builders/184/builds/10242

These failures should have been respectively resolved by the commits:
  afa413a132c0959295df36c28814ee83948e4931
  b5a273a1cfe6f509f8d2541e04d9186438f33348

As noted in the original commit, this commit may break downstream tests.
If this commit is breaking your downstream tests, please see comment 12 in
[0], which documents the kind of variation in tests we'd expect to see from
this change and what to do about it.

[0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939


  Commit: 70caa316e955a35904e34961c79d75935b7d906f
      https://github.com/llvm/llvm-project/commit/70caa316e955a35904e34961c79d75935b7d906f
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [Matrix] Refactor shape info computation (NFCI).

Factor our forward shape computation for a given instruction. This
allows re-use in a follow-up fix.


  Commit: 76eb8e35d6631827c0450e9d5f4743e410d4151a
      https://github.com/llvm/llvm-project/commit/76eb8e35d6631827c0450e9d5f4743e410d4151a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.cpp

  Log Message:
  -----------
  [clang][Interp] Fix marking results as nullptr

I screwed this up in an earlier NFC commit, but the isZero()
case needs to set IsNullPtr to true of course.


  Commit: 1da7f410bcd831d4b2c3166b672d93c8110edfc0
      https://github.com/llvm/llvm-project/commit/1da7f410bcd831d4b2c3166b672d93c8110edfc0
  Author: Paul T Robinson <paul.robinson at sony.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/Headers/ia32intrin.h

  Log Message:
  -----------
  [Headers][X86] Editorial fixes to ia32intrin.h descriptions (#80490)

Use indicative not imperative; fix missing capitalization; spell out
some abbreviations; "time-stamp" not "time stamp"; and similar.


  Commit: 673e5e34b40071b2762c5ac1fea32c3596fe4dd3
      https://github.com/llvm/llvm-project/commit/673e5e34b40071b2762c5ac1fea32c3596fe4dd3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll

  Log Message:
  -----------
  [Matrix] Add dedicated tests for transpose lifting.

Add extra test coverage for transpose lifting using
-matrix-print-after-transpose-opt.

The added tests show a mis-compile.


  Commit: ab702513f1ee2268ce216d11c310a08cae24a0e7
      https://github.com/llvm/llvm-project/commit/ab702513f1ee2268ce216d11c310a08cae24a0e7
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/test/Dialect/Vector/ops.mlir

  Log Message:
  -----------
  [mlir][VectorOps] Add vector.interleave operation (#80965)

The interleave operation constructs a new vector by interleaving the
elements from the trailing (or final) dimension of two input vectors,
returning a new vector where the trailing dimension is twice the size.

Note that for the n-D case this differs from the interleaving possible
with `vector.shuffle`, which would only operate on the leading
dimension.

Another key difference is this operation supports scalable vectors,
though currently a general LLVM lowering is limited to the case where
only the trailing dimension is scalable.

Example:
```mlir
%0 = vector.interleave %a, %b
            : vector<[4]xi32>     ; yields vector<[8]xi32>
%1 = vector.interleave %c, %d
            : vector<8xi8>        ; yields vector<16xi8>
%2 = vector.interleave %e, %f
            : vector<f16>         ; yields vector<2xf16>
%3 = vector.interleave %g, %h
            : vector<2x4x[2]xf64> ; yields vector<2x4x[4]xf64>
%4 = vector.interleave %i, %j
            : vector<6x3xf32>     ; yields vector<6x6xf32>
```

Note: This change alone does not add any lowerings.


  Commit: d2d6b368a17547a847baf2c9767ad8c1686e58d1
      https://github.com/llvm/llvm-project/commit/d2d6b368a17547a847baf2c9767ad8c1686e58d1
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/bit.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    A libc/src/stdbit/stdc_first_leading_zero_uc.h
    A libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    A libc/src/stdbit/stdc_first_leading_zero_ui.h
    A libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    A libc/src/stdbit/stdc_first_leading_zero_ul.h
    A libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    A libc/src/stdbit/stdc_first_leading_zero_ull.h
    A libc/src/stdbit/stdc_first_leading_zero_us.cpp
    A libc/src/stdbit/stdc_first_leading_zero_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_zero_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_zero_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_zero_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_first_leading_zero (C23) (#81340)


  Commit: cf55e61dd916d7ba042b9d072d07c3a0b50a815f
      https://github.com/llvm/llvm-project/commit/cf55e61dd916d7ba042b9d072d07c3a0b50a815f
  Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
    M llvm/test/MC/AMDGPU/gfx12_unsupported.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt

  Log Message:
  -----------
  AMDGPU: Don't allow s_barrier on gfx12 (#81317)

- s_barrier is not present on gfx12


  Commit: 30338223e461a00463cef665ec29d8f5a8ef2cda
      https://github.com/llvm/llvm-project/commit/30338223e461a00463cef665ec29d8f5a8ef2cda
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [clang] Refactor `IdentifierInfo::ObjcOrBuiltinID` (#71709)

This patch refactors how values are stored inside
`IdentifierInfo::ObjcOrBuiltinID` bit-field, and annotates it with
`preferred_type`. In order to make the value easier to interpret by
debuggers, a new `ObjCKeywordOrInterestingOrBuiltin` enum is added.
Previous "layout" of this fields couldn't be represented with this new enum,
because it skipped over some arbitrary enumerators, so a new "layout"
was invented, which is reflected in `ObjCKeywordOrInterestingOrBuiltin` enum. I
believe the new layout is simpler than the new one.


  Commit: b5046a7fa9b38cfcc3980b83a93db678871ad350
      https://github.com/llvm/llvm-project/commit/b5046a7fa9b38cfcc3980b83a93db678871ad350
  Author: Andrei Safronov <safronov at espressif.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/CMakeLists.txt
    A llvm/lib/Target/Xtensa/Xtensa.h
    A llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
    A llvm/lib/Target/Xtensa/XtensaAsmPrinter.h
    A llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    A llvm/lib/Target/Xtensa/XtensaFrameLowering.h
    A llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
    A llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    A llvm/lib/Target/Xtensa/XtensaISelLowering.h
    A llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    A llvm/lib/Target/Xtensa/XtensaInstrInfo.h
    A llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
    A llvm/lib/Target/Xtensa/XtensaRegisterInfo.h
    A llvm/lib/Target/Xtensa/XtensaSubtarget.cpp
    A llvm/lib/Target/Xtensa/XtensaSubtarget.h
    M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
    M llvm/lib/Target/Xtensa/XtensaTargetMachine.h
    A llvm/test/CodeGen/Xtensa/lit.local.cfg
    A llvm/test/CodeGen/Xtensa/simple.ll

  Log Message:
  -----------
  [Xtensa] Initial codegen support from IR (#78548)

This PR provides implementation of the basic codegen infra such as
TargetFrameLowering, MCInstLower,
AsmPrinter, RegisterInfo, InstructionInfo, TargetLowering,
SelectionDAGISel.

Migrated from https://reviews.llvm.org/D145658


  Commit: 595d8d4e856217f69dc05448ae852c24e65cc181
      https://github.com/llvm/llvm-project/commit/595d8d4e856217f69dc05448ae852c24e65cc181
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Make use of find_if. NFC.


  Commit: 6a3a5cad2e1249f1b685546ebe71b2ead9a27541
      https://github.com/llvm/llvm-project/commit/6a3a5cad2e1249f1b685546ebe71b2ead9a27541
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll

  Log Message:
  -----------
  Revert "[SLP]Add support for strided loads."

This reverts commit 0940f9083e68bda78bcbb323c2968a4294092e21 to fix
issues reported in https://github.com/llvm/llvm-project/pull/80310.


  Commit: 7d9c38a040d778338131fbbcc094aa412dc9306a
      https://github.com/llvm/llvm-project/commit/7d9c38a040d778338131fbbcc094aa412dc9306a
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp

  Log Message:
  -----------
  [flang][NFC] Remove hardcoded attr name for fir.global op (#81347)

These hardcoded attribute name are a leftover from the upstreaming
period when there was no way to get the attribute name without an
instance of the operation. It is since possible to do without them and
they should be removed to avoid duplication.

This PR cleanup the fir.global op of these hardcoded attribute name and
use their generated getters. Some other PRs will follow to cleanup other
operations.


  Commit: 165fdaab213d3e3e7461344b4fc504f04dcba571
      https://github.com/llvm/llvm-project/commit/165fdaab213d3e3e7461344b4fc504f04dcba571
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/lib/Optimizer/Dialect/FIROps.cpp

  Log Message:
  -----------
  [flang][NFC]  Remove hardcoded attr name for fir.dispatch and fid.dt_entry ops (#81348)

These hardcoded attribute name are a leftover from the upstreaming
period when there was no way to get the attribute name without an
instance of the operation. It is since possible to do without them and
they should be removed to avoid duplication.

This PR cleanup the fir.dt_entry and fir.dispatch ops of these hardcoded
attribute name and use their generated getters. Some other PRs will
follow to cleanup other operations.


  Commit: f559c2efe195b54ebc0f0a0077918483a25a6ae4
      https://github.com/llvm/llvm-project/commit/f559c2efe195b54ebc0f0a0077918483a25a6ae4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/Sema/SemaChecking.cpp

  Log Message:
  -----------
  [clang][Sema][NFC] Use auto for dyn_cast<>


  Commit: 44d85c5b15bbf6226f442126735b764d81cbf6e3
      https://github.com/llvm/llvm-project/commit/44d85c5b15bbf6226f442126735b764d81cbf6e3
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td

  Log Message:
  -----------
  [AArch64][SVE2] Use a PatFrag for URSHR (#81304)

Follow-up for #78374


  Commit: 0b6e04005ca0eab7c5566950d8595379a9f72d41
      https://github.com/llvm/llvm-project/commit/0b6e04005ca0eab7c5566950d8595379a9f72d41
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Exclude X1 and X5 from register scavenging for long branch. (#80215)

When a branch target is too far away we need to emit an indirect branch.
We scavenge a register for this since we don't know we need this until
after register allocation.

Jumps using X1 and X5 as the source are hints to the hardware to pop the
return-address stack. We should avoiding using them for jumps that
aren't a return or tail call.


  Commit: 1114ac4399a8a5725a7ce79a5189f3467e43ba7a
      https://github.com/llvm/llvm-project/commit/1114ac4399a8a5725a7ce79a5189f3467e43ba7a
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/zcmp-with-float.ll

  Log Message:
  -----------
  [RISCV] Remove stale comment from test. NFC (#81098)

The bug mentioned in the comment has been committed and did change the
cfi_offset.


  Commit: 9ecf4d20bbfabdcd11c9058363903f975a652e7b
      https://github.com/llvm/llvm-project/commit/9ecf4d20bbfabdcd11c9058363903f975a652e7b
  Author: David Truby <david.truby at arm.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp
    M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add.f90
    A flang/test/Lower/OpenMP/parallel-reduction.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction.mlir

  Log Message:
  -----------
  [mlir][flang][openmp] Rework parallel reduction operations (#79308)

This patch reworks the way that parallel reduction operations function
to better match the expected semantics from the OpenMP specification.
Previously specific omp.reduction operations were used inside the
region, meaning that the reduction only applied when the correct
operation was used, whereas the specification states that any change to
the variable inside the region should be taken into account for the
reduction.

The new semantics create a private reduction variable as a block
argument which should be used normally for all operations on that
variable in the region; this private variable is then combined with the
others into the shared variable. This way no special omp.reduction
operations are needed inside the region.

This patch only makes the change for the `parallel` operation, the
change for the `wsloop` operation will be in a separate patch.

---------

Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>


  Commit: a8b4c11f9d51f3d735f76c98367c87d6ff328a32
      https://github.com/llvm/llvm-project/commit/a8b4c11f9d51f3d735f76c98367c87d6ff328a32
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ObjectYAML/DWARFEmitter.h
    M llvm/include/llvm/ObjectYAML/DWARFYAML.h
    M llvm/lib/ObjectYAML/DWARFEmitter.cpp
    M llvm/lib/ObjectYAML/DWARFYAML.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFAcceleratorTableTest.cpp

  Log Message:
  -----------
  [DWARFYAML] Implement debug_names support (#79666)

This commit brings support for debug_names in DWARFYAML. It parses YAML
and generates emits a DWARF5 Accelerator table with the following
limitations:

1. All forms must have a fixed length (zero length is also ok).
2. Hard-coded support for DWARF 5 and DWARF32.
3. The generated table does not contain a hash index

All of these limitations can be lifted in the future, but for now this
is good enough to enable testing.


  Commit: dfbe2bca1d8ccee87f032562fd60214ca8ea0d22
      https://github.com/llvm/llvm-project/commit/dfbe2bca1d8ccee87f032562fd60214ca8ea0d22
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp

  Log Message:
  -----------
  [clang][NFC] Refactor `Sema::TemplateDeductionResult` (#81398)

This patch converts `Sema::TemplateDeductionResult` into a scoped enum
in namespace scope, making it eligible for forward declaring. This is
useful in certain contexts, such as `preferred_type` annotations on
bit-fields.


  Commit: 20948df25d0401f248ec754dfa22422e20377662
      https://github.com/llvm/llvm-project/commit/20948df25d0401f248ec754dfa22422e20377662
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    A llvm/test/tools/llvm-dwarfdump/X86/debug-str-offsets-mixed-dwarf-4-5.yaml
    M llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_str_offsets.yaml

  Log Message:
  -----------
  [DWARFVerifier] Fix debug_str_offsets DWARF version detection (#81303)

The DWARF 5 debug_str_offsets section starts with a header, which must
be skipped in order to access the underlying `strp`s.

However, the verifier supports some pre-standardization version of this
section (with the same section name), which does not have a header. In
this case, the offsets start on the first byte of the section. More in
[1] and [2] about this legacy section.

How does The DWARF verifier figure out which version to use? It manually
reads the **first** header in debug_info and uses that. This is wrong
when multiple debug_str_offset sections have been linked together, in
particular it is wrong in the following two cases:

1. A standard DWARF 4 object file (i.e. no debug_str_offsets) linked
with a standard DWARF 5 object file.
2. A non-standard DWARF 4 object file (i.e. containing the header-less
debug_str_offsets section) linked with a standard DWARF 5 object file.

Based on discussions in https://github.com/llvm/llvm-project/pull/81210,
the legacy version is only possible with dwo files, and dwo files cannot
mix the legacy version with the dwarf 5 version. As such, we change the
verifier to only check the debug_info header in the case of dwo files.
If it sees a dwarf 4 version, it handles it the legacy way.

Note: the modified test was technically testing an unsupported
combination of dwarf version + non-dwo sections. To see why, simply note
that the test contained no `debug_info.dwo` sections, so the call to
DWARFObject::forEachInfoDWOSections was doing nothing. We were finding
the error through the "standard version", which shouldn't happen.

[1]: https://gcc.gnu.org/wiki/DebugFission 
[2]: https://gcc.gnu.org/wiki/DebugFissionDWP


  Commit: 5fdd094837c6d8437803ebf3ccc91c3d494a2ac8
      https://github.com/llvm/llvm-project/commit/5fdd094837c6d8437803ebf3ccc91c3d494a2ac8
  Author: Logikable <seanluchen at google.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/test/CodeGen/LoongArch/atomics.c
    M clang/test/CodeGen/PowerPC/quadword-atomics.c
    M clang/test/CodeGen/RISCV/riscv-atomics.c
    M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
    M clang/test/CodeGen/arm-atomics-m.c
    M clang/test/CodeGen/arm-atomics-m0.c
    M clang/test/CodeGen/atomic-ops-libcall.c
    M clang/test/CodeGen/atomic-ops.c
    M clang/test/CodeGen/atomics-inlining.c
    M clang/test/CodeGen/c11atomics.c
    M clang/test/CodeGenCXX/atomic-inline.cpp
    M clang/test/CodeGenOpenCL/atomic-ops-libcall.cl

  Log Message:
  -----------
  [clang][CodeGen] Emit atomic IR in place of optimized libcalls. (#73176)

In the beginning, Clang only emitted atomic IR for operations it knew
the
underlying microarch had instructions for, meaning it required
significant
knowledge of the target. Later, the backend acquired the ability to
lower
IR to libcalls. To avoid duplicating logic and improve logic locality,
we'd like to move as much as possible to the backend.

There are many ways to describe this change. For example, this change
reduces the variables Clang uses to decide whether to emit libcalls or
IR, down to only the atomic's size.


  Commit: 4c654b7b91aff61728619fc3cc955fa5169d17c6
      https://github.com/llvm/llvm-project/commit/4c654b7b91aff61728619fc3cc955fa5169d17c6
  Author: Rolf Morel <rolfmorel at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M mlir/python/mlir/dialects/transform/loop.py
    M mlir/test/python/dialects/transform_loop_ext.py

  Log Message:
  -----------
  [MLIR][Python] Add missing peel_front argument to LoopPeelOp's extension class (#81424)


  Commit: 833a1cadeb7d2b173e5658d7516a2f8435fe7770
      https://github.com/llvm/llvm-project/commit/833a1cadeb7d2b173e5658d7516a2f8435fe7770
  Author: Alexey Bataev <5361294+alexey-bataev at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll

  Log Message:
  -----------
  [SLP]Add support for strided loads.

Added basic support for strided loads support in SLP vectorizer.
Supports constant strides only. If the strided load must be
reversed, applies -stride to avoid extra reverse shuffle.

Reviewers: preames, lukel97

Reviewed By: preames

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


  Commit: 73ce0aed35eaeaf7e2d5c464a68fca7d946834bf
      https://github.com/llvm/llvm-project/commit/73ce0aed35eaeaf7e2d5c464a68fca7d946834bf
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [bazel] Port for 9ecf4d20bbfabdcd11c9058363903f975a652e7b


  Commit: a3dcc7ab3a4121a4185eab102fdbe39bbd7bf89f
      https://github.com/llvm/llvm-project/commit/a3dcc7ab3a4121a4185eab102fdbe39bbd7bf89f
  Author: J. Ryan Stinnett <jryans at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md

  Log Message:
  -----------
  [Docs][DebugInfo][RemoveDIs] Revise debug info migration guide title (#81480)


  Commit: 815e0485a47fa0794e0eccf93a4f4dc928881c6f
      https://github.com/llvm/llvm-project/commit/815e0485a47fa0794e0eccf93a4f4dc928881c6f
  Author: Mirko Brkušanin <Mirko.Brkusanin at amd.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/test/MC/AMDGPU/gfx11-promotions.s

  Log Message:
  -----------
  [AMDGPU][MC] Fix printing vcc(_lo) twice for VOPC DPP instrucitons (#81158)


  Commit: fb48fd18c240574841378defacadff34238089bb
      https://github.com/llvm/llvm-project/commit/fb48fd18c240574841378defacadff34238089bb
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [Driver,test] Fix hlsl-lang-targets.hlsl after #78655


  Commit: b04dd5d187306df9cc7e53ec5a84c1324be63eb8
      https://github.com/llvm/llvm-project/commit/b04dd5d187306df9cc7e53ec5a84c1324be63eb8
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reorder-same-node.ll

  Log Message:
  -----------
  [SLP]FIx PR81403: compiler crah because wrongly resized vector value.

The mask for the reshuffling/resizing might be calculated incorrectly,
fixed.


  Commit: a9845d602288263a5e2c260ac1a9655ae6b7b119
      https://github.com/llvm/llvm-project/commit/a9845d602288263a5e2c260ac1a9655ae6b7b119
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    A clang/test/CXX/drs/dr124.cpp
    A clang/test/CXX/drs/dr185.cpp
    A clang/test/CXX/drs/dr193.cpp
    A clang/test/CXX/drs/dr199.cpp
    M clang/test/CXX/drs/dr1xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add some CodeGen tests for CWG 1xx issues (#80338)

Covers CWG issues
[124](https://cplusplus.github.io/CWG/issues/124.html)
[185](https://cplusplus.github.io/CWG/issues/185.html),
[193](https://cplusplus.github.io/CWG/issues/193.html),
[199](https://cplusplus.github.io/CWG/issues/199.html).

I also looked at [190](https://cplusplus.github.io/CWG/issues/190.html),
but concluded that we should try to test it via C++20
`std::is_layout_compatible` first.

I tried to group tests under `dr1xx-codegen.cpp`, but found out that
CodeGen can arbitrarily reorder function definitions in LLVM module. In
particular, interleaving between regular function definitions and
destructor definitions present in the source might not be preserved,
which messes up FileCheck directives. `CHECK-DAG` can help with that,
but its interaction with `CHECK-LABEL` (lack of thereof) would require
me to relax tests too much.


  Commit: 75a1c4e10be179536153cdd3462055cb32ddcb0c
      https://github.com/llvm/llvm-project/commit/75a1c4e10be179536153cdd3462055cb32ddcb0c
  Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/include/llvm/BinaryFormat/ELF.h

  Log Message:
  -----------
  AMDGPU/NFC: Reserve 0x055 MACH in e_flag for future use (#81501)


  Commit: dbe4143f23ff27a058c4e7c551a0fa70b93b438e
      https://github.com/llvm/llvm-project/commit/dbe4143f23ff27a058c4e7c551a0fa70b93b438e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backward.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll

  Log Message:
  -----------
  [Matrix] Fix dimensions when hoisting transpose across add. (#81507)

Row and column arguments for matrix_transpose indicate the shape of the
operand. When hoisting the transpose to the result of the add, the add
operates on the original operand's shape, and so does the hoisted
transpose.

This patch also adds an assert that the shape for the original add and
the transpose match, as well as the shape of the new add matches the
cached shape for it.

The assert could potentially be moved to
updateShapeAndReplaceAllUsesWith.


  Commit: 78f39dc70c1feaea5130b90ea3fb7b3ddd62446b
      https://github.com/llvm/llvm-project/commit/78f39dc70c1feaea5130b90ea3fb7b3ddd62446b
  Author: Jonas Hahnfeld <hahnjo at hahnjo.de>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp

  Log Message:
  -----------
  [JITLink][RISCV] Use hashmap to find PCREL_HI20 edge (#78849)

As noted in issues #68594 and #73935, `JITLink/RISCV/ELF_ehframe.s`
fails with libstdc++'s expensive checks because `getRISCVPCRelHi20`
calls `std::equal_range` on the edges which may not be ordered by their
offset. Instead let `ELFJITLinker_riscv` build a hashmap of all edges
with type `R_RISCV_PCREL_HI20` that can be looked up in constant time.

Closes #73935


  Commit: d9c3066a587fa81bc0086aa1cf6afa1e04581e77
      https://github.com/llvm/llvm-project/commit/d9c3066a587fa81bc0086aa1cf6afa1e04581e77
  Author: Mariusz Borsa <wrotki at msn.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake

  Log Message:
  -----------
  [Sanitizers][ABI] Build ASAN shim for arm64_32 arch (#81066)

Turns out this arch is needed by the ABI impls

rdar://121963634

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


  Commit: 50b8a3c01c6a20327dc3f65d2ee175ce73cdcc73
      https://github.com/llvm/llvm-project/commit/50b8a3c01c6a20327dc3f65d2ee175ce73cdcc73
  Author: srcarroll <50210727+srcarroll at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/test/Dialect/Linalg/canonicalize.mlir

  Log Message:
  -----------
  [mlir][linalg] Refactor `EraseIdentityGenericOp` to be reused by other `LinalgOp`s (#80466)

This refactored pattern rewrite is intended to be reused by any
`LinalgOp`'s canonicalization pattern for removing identity ops.
Additionally, this canonicalization has been applied to `BroadCastOp`.


  Commit: 54226e234fa4fd00b58e7550329f1645ca37a0a1
      https://github.com/llvm/llvm-project/commit/54226e234fa4fd00b58e7550329f1645ca37a0a1
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
    M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp

  Log Message:
  -----------
  [ORC] Make EPCDynamicLibrarySearchGenerator async

Switch the primary implementation of EPC lookupSymbols to be async,
keeping a synchronous wrapper for compatibility. Use the new async
implementation inside EPCDynamicLibrarySearchGenerator to work
working towards a fully async search generator.

Provide an asynchronous lookup API for EPCGenericDylibManager and adopt
that from the SimpleRemoteEPC. This enables an end-to-end async
EPCDynamicLibrarySearchGenerator. Note: currently we keep the current
per-dlhandle lookup model, but a future improvement could do a single
async call for a given lookup operation.


  Commit: 2fcfc9754a16805b81e541dc8222a8b5cf17a121
      https://github.com/llvm/llvm-project/commit/2fcfc9754a16805b81e541dc8222a8b5cf17a121
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M utils/bazel/WORKSPACE
    M utils/bazel/examples/http_archive/WORKSPACE
    M utils/bazel/examples/submodule/WORKSPACE
    M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/third-party/unittest/BUILD.bazel
    M utils/bazel/third_party_build/zlib-ng.BUILD
    M utils/bazel/third_party_build/zstd.BUILD

  Log Message:
  -----------
  [NFC] Reformat bzl files with buildifier


  Commit: 73159a994abcbf82881ee15b0df5cf13c9671f31
      https://github.com/llvm/llvm-project/commit/73159a994abcbf82881ee15b0df5cf13c9671f31
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [NFC] Refactor fast-math handling for clang driver (#81173)

This refactors the fast-math handling in the clang driver, moving the
settings into a lambda that is shared by the -ffp-model=fast and
-ffast-math code. Previously the -ffp-model=fast handler changed the
local option variable and fell through to the -ffast-math handler.

This refactoring is intended to prepare the way for decoupling the
-ffp-model=fast settings from the -ffast-math settings and possibly
introduce a less aggressive fp-model.


  Commit: 8799d7143f8b75ba722f438d0d2388bfaefa793b
      https://github.com/llvm/llvm-project/commit/8799d7143f8b75ba722f438d0d2388bfaefa793b
  Author: Artem Belevich <tra at google.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll

  Log Message:
  -----------
  [NVPTX] Fix the error in a pattern match in v4i8 comparisons. (#81308)

The replacement should've had BFE() as the arguments for the comparison,
not the source register.

While at that, tighten the patterns a bit, and expand them to cover
variants with immediate arguments. Also change the default lowering of
bfe() to use unsigned variant, so the value of the upper bits is
predictable.


  Commit: fa6850a9981b65972294e13021f82b96d460b3ec
      https://github.com/llvm/llvm-project/commit/fa6850a9981b65972294e13021f82b96d460b3ec
  Author: Rishi Surendran <142182875+rishisurendran at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/include/llvm/IR/Metadata.h
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Target/LLVMIR/LLVMTranslationInterface.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Target/LLVMIR/AttrKindDetail.h
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [mlir][nvvm]Add support for grid_constant attribute on LLVM function arguments (#78228)

Add support for attribute nvvm.grid_constant on LLVM function arguments.
The attribute can be attached only to arguments of type llvm.ptr that
have llvm.byval attribute.
Generate LLVM metadata for functions with nvvm.grid_constant arguments.
The metadata node is a list of integers, where each integer n denotes
that the nth parameter has the
grid_constant annotation (numbering from 1). The generated metadata node
will be handled by NVVM compiler. See
https://docs.nvidia.com/cuda/nvvm-ir-spec/index.html#supported-properties
for documentation on grid_constant property.

This patch also adds convertParameterAttr to
LLVMTranslationDialectInterface for supporting the translation of
derived dialect attributes on function parameters 


  Commit: 61a0fc794789e5bf9f850436926700c3ad56682b
      https://github.com/llvm/llvm-project/commit/61a0fc794789e5bf9f850436926700c3ad56682b
  Author: Artem Belevich <tra at google.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/NVPTX/nanosleep.ll

  Log Message:
  -----------
  [NVPTX] pass correct GPU arch to ptxas test (#81535)


  Commit: 537042577252ce84774aa4f7fbafef8c39b4032c
      https://github.com/llvm/llvm-project/commit/537042577252ce84774aa4f7fbafef8c39b4032c
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/IR/SCF.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for bugprone-argument-comment in SCF.cpp (NFC)


  Commit: 8189db978fa73a09c040a1e698d85f8b4a63cd37
      https://github.com/llvm/llvm-project/commit/8189db978fa73a09c040a1e698d85f8b4a63cd37
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for performance-unnecessary-value-param in BufferizableOpInterfaceImpl.cpp (NFC)


  Commit: e546a6e95da62b39ba7903e0371fdaa210417e8d
      https://github.com/llvm/llvm-project/commit/e546a6e95da62b39ba7903e0371fdaa210417e8d
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  Apply clang-tidy fixes for modernize-loop-convert in Utils.cpp (NFC)


  Commit: 56c385cd677bcc4f191e8c09044155159bc9bf7b
      https://github.com/llvm/llvm-project/commit/56c385cd677bcc4f191e8c09044155159bc9bf7b
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  Apply clang-tidy fixes for modernize-loop-convert in SparseGPUCodegen.cpp (NFC)


  Commit: 61f64d1c237be75bed5d717aec4de0f9df5ab2e7
      https://github.com/llvm/llvm-project/commit/61f64d1c237be75bed5d717aec4de0f9df5ab2e7
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in SparseTensorRewriting.cpp (NFC)


  Commit: aef36ebb3b74c81589885c61b4fc066052dd9498
      https://github.com/llvm/llvm-project/commit/aef36ebb3b74c81589885c61b4fc066052dd9498
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/tools/driver/cc1_main.cpp

  Log Message:
  -----------
  [clang] Remove old Linux kernel workaround for ensuring stack space (#81533)

PR #71709 broke the Linux PIE build with `undefined symbol: alloca`
errors. With the newly included `clang/Basic/Builtins.h` in that PR, it
surfaces an issue with a combination of two previous patches.

26670dcba1609574cba5942aff78ff97b567c5f3 added `#undef alloca` so clang
builtins handling of alloca would work under MSVC (unsure if this is
still necessary).

194b6a3b1b1a99cc3c12c466a04320f271ebd8aa added code that calls `alloca`
to workaround a Linux kernel < 4.1 bug. Given that Linux 4.1 was EOL in
2018, it should be ok to remove this workaround.


  Commit: fcef407aa21ad5a79d66a088e6f2a66a5745725d
      https://github.com/llvm/llvm-project/commit/fcef407aa21ad5a79d66a088e6f2a66a5745725d
  Author: Konstantin Zhuravlyov <kzhuravl_dev at outlook.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIInstrFormats.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td

  Log Message:
  -----------
  AMDGPU/NFC: Remove some bits from TSFlags (#81525)

- AMDGPU/NFC: Purge SOPK_ZEXT from TSFlags
  - Moved to helper function in SIInstInfo
- AMDGPU/NFC: Purge VOPAsmPrefer32Bit from TSFlags
  - This flag did not make sense / remnants of something else I think


  Commit: 283feb42ee509cc56fb75316b4fd86b53a714cf4
      https://github.com/llvm/llvm-project/commit/283feb42ee509cc56fb75316b4fd86b53a714cf4
  Author: Karthika Devi C <quic_kartc at quicinc.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M polly/lib/Analysis/ScopBuilder.cpp
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
    M polly/test/ScopInfo/int2ptr_ptr2int.ll

  Log Message:
  -----------
  [polly] Make reduction detection checks more robust - part 2 (#80721)

Existing reduction detection algorithm does two types of memory checks
before marking a load store pair as reduction.
Second check is to verify there is no other memory access in ScopStmt
overlapping with the memory of load and store that forms the reduction.
Existing check misses cases where there could be probable overlap such
as
	A[V] += A[P];
In the above case there is chance of overlap between A[V] and A[P] which
is missed.
This commit addresses this by removing the parameter from space before
checking for compatible space.

Part 1 of this patch :
[75297](https://github.com/llvm/llvm-project/pull/75297)


  Commit: a5f3d1a803020167bd9d494a8a3921e7dcc1550a
      https://github.com/llvm/llvm-project/commit/a5f3d1a803020167bd9d494a8a3921e7dcc1550a
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Passes/ADRRelaxationPass.h
    M bolt/include/bolt/Passes/Aligner.h
    M bolt/include/bolt/Passes/AllocCombiner.h
    M bolt/include/bolt/Passes/AsmDump.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/CMOVConversion.h
    M bolt/include/bolt/Passes/FixRISCVCallsPass.h
    M bolt/include/bolt/Passes/FixRelaxationPass.h
    M bolt/include/bolt/Passes/FrameOptimizer.h
    M bolt/include/bolt/Passes/Hugify.h
    M bolt/include/bolt/Passes/IdenticalCodeFolding.h
    M bolt/include/bolt/Passes/IndirectCallPromotion.h
    M bolt/include/bolt/Passes/Inliner.h
    M bolt/include/bolt/Passes/Instrumentation.h
    M bolt/include/bolt/Passes/JTFootprintReduction.h
    M bolt/include/bolt/Passes/LongJmp.h
    M bolt/include/bolt/Passes/LoopInversionPass.h
    M bolt/include/bolt/Passes/PLTCall.h
    M bolt/include/bolt/Passes/PatchEntries.h
    M bolt/include/bolt/Passes/RegReAssign.h
    M bolt/include/bolt/Passes/ReorderData.h
    M bolt/include/bolt/Passes/ReorderFunctions.h
    M bolt/include/bolt/Passes/RetpolineInsertion.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Passes/TailDuplication.h
    M bolt/include/bolt/Passes/ThreeWayBranch.h
    M bolt/include/bolt/Passes/ValidateInternalCalls.h
    M bolt/include/bolt/Passes/ValidateMemRefs.h
    M bolt/include/bolt/Passes/VeneerElimination.h
    M bolt/lib/Passes/ADRRelaxationPass.cpp
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/AllocCombiner.cpp
    M bolt/lib/Passes/AsmDump.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/FixRelaxationPass.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    M bolt/lib/Passes/Hugify.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/JTFootprintReduction.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/LoopInversionPass.cpp
    M bolt/lib/Passes/PLTCall.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Passes/RegReAssign.cpp
    M bolt/lib/Passes/ReorderData.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/StokeInfo.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ThreeWayBranch.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Passes/ValidateMemRefs.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp

  Log Message:
  -----------
  [BOLT][NFC] Return Error from BinaryFunctionPass::runOnFunctions (#81521)

As part of the effort to refactor old error handling code that
would directly call exit(1), in this patch we change the
interface to `BinaryFunctionPass` to return an Error on
`runOnFunctions()`. This gives passes the ability to report a
serious problem to the caller (RewriteInstance class), so the
caller may decide how to best handle the exceptional situation.

Co-authored-by: Rafael Auler <rafaelauler at fb.com>

Test Plan: NFC


  Commit: fa7dd4919aa705f18f268fab5b2887d45f89d8dd
      https://github.com/llvm/llvm-project/commit/fa7dd4919aa705f18f268fab5b2887d45f89d8dd
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Passes/ADRRelaxationPass.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/VeneerElimination.cpp

  Log Message:
  -----------
  [BOLT][NFC] Add BOLTError and return it from passes (1/2) (#81522)

As part of the effort to refactor old error handling code that
would directly call exit(1), in this patch we add a new class
BOLTError and auxiliary functions `createFatalBOLTError()` and
`createNonFatalBOLTError()` that allow BOLT code to bubble up the
problem to the caller by using the Error class as a return
type (or Expected). Also changes passes to use these.

Co-authored-by: Rafael Auler <rafaelauler at fb.com>

Test Plan: NFC


  Commit: 13d60ce2f262ef9055389908b63824e53b3054a1
      https://github.com/llvm/llvm-project/commit/13d60ce2f262ef9055389908b63824e53b3054a1
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Passes/FrameOptimizer.h
    M bolt/include/bolt/Passes/LongJmp.h
    M bolt/include/bolt/Passes/ReorderFunctions.h
    M bolt/include/bolt/Passes/ShrinkWrapping.h
    M bolt/include/bolt/Rewrite/BinaryPassManager.h
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCSymbolizer.cpp
    M bolt/lib/Target/X86/X86MCSymbolizer.h

  Log Message:
  -----------
  [BOLT][NFC] Propagate BOLTErrors from Core, RewriteInstance, and passes (2/2) (#81523)

As part of the effort to refactor old error handling code that
would directly call exit(1), in this patch continue the migration
on libCore, libRewrite and libPasses to use the new BOLTError
class whenever a failure occurs.

Test Plan: NFC

Co-authored-by: Rafael Auler <rafaelauler at fb.com>


  Commit: 93cdd1b5cfa3735c599949b77e24dbfbe570441a
      https://github.com/llvm/llvm-project/commit/93cdd1b5cfa3735c599949b77e24dbfbe570441a
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/BackendUtil.cpp
    M llvm/include/llvm/Support/PGOOptions.h
    A llvm/include/llvm/Transforms/Instrumentation/PGOForceFunctionAttrs.h
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/Support/PGOOptions.cpp
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    A llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
    A llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn

  Log Message:
  -----------
  [PGO] Add ability to mark cold functions as optsize/minsize/optnone (#69030)

The performance of cold functions shouldn't matter too much, so if we
care about binary sizes, add an option to mark cold functions as
optsize/minsize for binary size, or optnone for compile times [1]. Clang
patch will be in a future patch.

This is intended to replace `shouldOptimizeForSize(Function&, ...)`.
We've seen multiple cases where calls to this expensive function, if not
careful, can blow up compile times. I will clean up users of that
function in a followup patch.

Initial version: https://reviews.llvm.org/D149800

[1]
https://discourse.llvm.org/t/rfc-new-feature-proposal-de-optimizing-cold-functions-using-pgo-info/56388


  Commit: 52cf07116bf0a8cab87b0f55176d198bcaa02575
      https://github.com/llvm/llvm-project/commit/52cf07116bf0a8cab87b0f55176d198bcaa02575
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DynoStats.h
    M bolt/include/bolt/Core/Exceptions.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/CMOVConversion.h
    M bolt/include/bolt/Passes/CacheMetrics.h
    M bolt/include/bolt/Passes/ReorderData.h
    M bolt/include/bolt/Passes/ReorderFunctions.h
    M bolt/include/bolt/Passes/ShrinkWrapping.h
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Core/BinaryBasicBlock.cpp
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DynoStats.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/ParallelUtilities.cpp
    M bolt/lib/Passes/ADRRelaxationPass.cpp
    M bolt/lib/Passes/AllocCombiner.cpp
    M bolt/lib/Passes/AsmDump.cpp
    M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/FrameAnalysis.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/JTFootprintReduction.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/LoopInversionPass.cpp
    M bolt/lib/Passes/PLTCall.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Passes/RegAnalysis.cpp
    M bolt/lib/Passes/RegReAssign.cpp
    M bolt/lib/Passes/ReorderData.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/StokeInfo.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ThreeWayBranch.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Passes/ValidateMemRefs.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCSymbolizer.cpp
    A bolt/test/X86/fatal-error.s
    A bolt/test/X86/log.test
    M bolt/tools/bat-dump/bat-dump.cpp
    M bolt/tools/driver/llvm-bolt.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp

  Log Message:
  -----------
  [BOLT][NFC] Log through JournalingStreams (#81524)

Make core BOLT functionality more friendly to being used as a
library instead of in our standalone driver llvm-bolt. To
accomplish this, we augment BinaryContext with journaling streams
that are to be used by most BOLT code whenever something needs to
be logged to the screen. Users of the library can decide if logs
should be printed to a file, no file or to the screen, as
before. To illustrate this, this patch adds a new option
`--log-file` that allows the user to redirect BOLT logging to a
file on disk or completely hide it by using
`--log-file=/dev/null`. Future BOLT code should now use
`BinaryContext::outs()` for printing important messages instead of
`llvm::outs()`. A new test log.test enforces this by verifying that
no strings are print to screen once the `--log-file` option is
used.

In previous patches we also added a new BOLTError class to report
common and fatal errors, so code shouldn't call exit(1) now. To
easily handle problems as before (by quitting with exit(1)),
callers can now use
`BinaryContext::logBOLTErrorsAndQuitOnFatal(Error)` whenever code
needs to deal with BOLT errors. To test this, we have fatal.s
that checks we are correctly quitting and printing a fatal error
to the screen.

Because this is a significant change by itself, not all code was
yet ported. Code from Profiler libs (DataAggregator and friends)
still print errors directly to screen.

Co-authored-by: Rafael Auler <rafaelauler at fb.com>

Test Plan: NFC


  Commit: 85507f17cfc42e29f956de6b3e0924c3cf7b4469
      https://github.com/llvm/llvm-project/commit/85507f17cfc42e29f956de6b3e0924c3cf7b4469
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/assignment-to-refptr.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h

  Log Message:
  -----------
  [analyzer] Ignore assignment to Ref / RefPtr in alpha.webkit.UncountedCallArgsChecker. (#80810)


  Commit: 7ff5dfbaa0c971048da0f37ec6f05f5395562c21
      https://github.com/llvm/llvm-project/commit/7ff5dfbaa0c971048da0f37ec6f05f5395562c21
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    A llvm/test/Transforms/LICM/expr-reassociate-int.ll

  Log Message:
  -----------
  [LICM] Support integer mul/add in hoistFPAssociation. (#67736)

The reassociation this is trying to repair can happen for integer types
too.

This patch adds support for integer mul/add to hoistFPAssociation. The
function has been renamed to hoistMulAddAssociation. I've used separate
statistics and limits for integer to allow tuning flexibility.


  Commit: 82568046e6761f961002ea6c48b5160ba6c7576f
      https://github.com/llvm/llvm-project/commit/82568046e6761f961002ea6c48b5160ba6c7576f
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    A clang/test/Analysis/Checkers/WebKit/ref-ptr-accessor.cpp

  Log Message:
  -----------
  [analyzer] Add the support for calling Ref::ptr accessor. (#80919)

This accessor returns a pointer from Ref type and is therefore safe.


  Commit: 9df71899bd5dbbaf0640c74cc82a6330dc7760cf
      https://github.com/llvm/llvm-project/commit/9df71899bd5dbbaf0640c74cc82a6330dc7760cf
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
    M clang/test/CodeGen/aarch64-ABI-align-packed.c
    M clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
    M clang/test/CodeGen/aarch64-ls64-inline-asm.c
    M clang/test/CodeGen/aarch64-ls64.c
    M clang/test/CodeGen/aarch64-matmul.cpp
    M clang/test/CodeGen/aarch64-neon-ldst-one-rcpc3.c
    M clang/test/CodeGen/aarch64-targetattr-arch.c
    M clang/test/CodeGen/aarch64-targetattr-crypto.c
    M clang/test/CodeGen/aarch64-targetattr.c
    M clang/test/CodeGen/aarch64-tme.cpp
    M clang/test/CodeGen/arm64-mte.c
    M clang/test/CodeGen/fp128_complex.c
    M clang/test/CodeGen/fp16-ops-strictfp.c
    M clang/test/CodeGen/fp16-ops.c
    M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
    M clang/test/Driver/aarch64-fix-cortex-a53-835769.c
    M clang/test/Driver/aarch64-mgeneral_regs_only.c
    M clang/test/Driver/aarch64-pauth-lr.c
    M clang/test/Driver/aarch64-target-as-march.s
    M clang/test/Driver/arm-alignment.c
    M clang/test/Driver/arm-no-neg-immediates.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Frontend/embed-bitcode.ll
    M clang/test/Frontend/gnu-mcount.c
    M clang/test/Headers/arm-acle-header.c
    M clang/test/Headers/xmmintrin-unsupported.c
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Sema/aarch64-tme-errors.c
    M clang/test/Sema/aarch64-tme-tcancel-errors.c
    M clang/test/SemaCXX/warn-overaligned-type-thrown.cpp

  Log Message:
  -----------
  [test] Replace aarch64-*-{eabi,gnueabi} with aarch64

Similar to d39b4ce3ce8a3c256e01bdec2b140777a332a633
Using "eabi" or "gnueabi" for aarch64 targets is a common mistake and
warned by Clang Driver. We want to avoid them elsewhere as well. Just
use the common "aarch64" without other triple components.


  Commit: f63da479ae2f5e0d747430f268ae7b458c02455c
      https://github.com/llvm/llvm-project/commit/f63da479ae2f5e0d747430f268ae7b458c02455c
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    A clang/test/Analysis/Checkers/WebKit/implicit-cast-to-base-class-with-deref-in-superclass.cpp

  Log Message:
  -----------
  [analyzer] Fix an implicit cast to a base ref counted class generates a false positive. (#80934)

The bug was caused by isRefCountable erroneously returning false for a
class with both ref() and deref() functions defined because we were not
resetting the base paths results between looking for "ref()" and
"deref()"


  Commit: 2dbfa8407e7d2f4293add33b5ead3f2d5fcd04e9
      https://github.com/llvm/llvm-project/commit/2dbfa8407e7d2f4293add33b5ead3f2d5fcd04e9
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/ref-countable-default-arg-nullptr.cpp

  Log Message:
  -----------
  [analyzer] Allow default arguments to be evaluated like other arguments. (#80956)

This PR aligns the evaluation of default arguments with other kinds of
arguments by extracting the expressions within them as argument values
to be evaluated.


  Commit: c2b01c87dcc3ab59e7d466cbec795310a3d43fde
      https://github.com/llvm/llvm-project/commit/c2b01c87dcc3ab59e7d466cbec795310a3d43fde
  Author: jimingham <jingham at apple.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/DataFormatters/TypeSummary.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp

  Log Message:
  -----------
  Make ValueObjectPrinter's handling of its ValueObject pointers more principled (NFC) (#81314)

I get a small but fairly steady stream of crash reports which I can only
explain by ValueObjectPrinter trying to access its m_valobj field, and
finding it NULL. I have never been able to reproduce any of these, and
the reports show a state too long after the fact to know what went
wrong.

I've read through this section of lldb a bunch of times trying to figure
out how this could happen, but haven't ever found anything actually
wrong that could cause this. OTOH, ValueObjectPrinter is somewhat sloppy
about how it handles the ValueObject it is printing.

a) lldb allows you to make a ValueObjectPrinter with a Null incoming
ValueObject. However, there's no affordance to set the ValueObject in
the Printer after the fact, and it doesn't really make sense to do that.
So I change the ValueObjectPrinter API's to take a ValueObject
reference, rather than a pointer. All the places that make
ValueObjectPrinters already check the non-null status of their
ValueObject's before making the ValueObjectPrinter, so sadly, I didn't
find the bug, but this will enforce the intent.
b) The next step in printing the ValueObject is deciding which of the
associated DynamicValue/SyntheticValue we are actually printing (based
on the use_dynamic and use_synthetic settings in the original
ValueObject. This was put in a pointer by GetMostSpecializedValue, but
most of the printer code just accessed the pointer, and it was hard to
reason out whether we were guaranteed to always call this before using
m_valobj. So far as I could see we always do (sigh, didn't find the bug
there either) but this was way too hard to reason about.

In fact, we figure out once which ValueObject we're going to print and
don't change that through the life of the printer. So I changed this to
both set the "most specialized value" in the constructor, and then to
always access it through GetMostSpecializedValue(). That makes it easier
to reason about the use of this ValueObject as well.

This is an NFC change, all it does is make the code easier to reason
about.


  Commit: 11e5e22c41f6611591a591f58c1e73cc3721ef5f
      https://github.com/llvm/llvm-project/commit/11e5e22c41f6611591a591f58c1e73cc3721ef5f
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [libc][bazel] mark read and write as weak (#81330)

Downstream there's a user that intercepts these functions and overlays
them. This causes symbol conflicts if neither function is marked weak.
In future the intent is to move to this to being a downstream
configuration
option.


  Commit: fac6d3d98ba1bac24acc5b19c84d07af25c1b755
      https://github.com/llvm/llvm-project/commit/fac6d3d98ba1bac24acc5b19c84d07af25c1b755
  Author: michaelrj-google <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [libc][bazel] mark epoll funcitons as weak (#81327)

Downstream there's a user that intercepts these functions and overlays
them. This causes symbol conflicts if neither function is marked weak.
In future the intent is to move to this to being a downstream
configuration
option.


  Commit: 644ac2a018c9bf83c9ba256074e552ad7f1fe941
      https://github.com/llvm/llvm-project/commit/644ac2a018c9bf83c9ba256074e552ad7f1fe941
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Introduce std::array fixits (#80084)

Array subscript on a const size array is not bounds-checked. The idiomatic
replacement is std::array which is bounds-safe in hardened mode of libc++.

This commit extends the fixit-producing machine to consider std::array as a
transformation target type and teaches it to handle the array subscript on const
size arrays with a trivial (empty) fixit.


  Commit: 3a080a0195ed21b8e12f825cfa00c8fa79f851a6
      https://github.com/llvm/llvm-project/commit/3a080a0195ed21b8e12f825cfa00c8fa79f851a6
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    A llvm/include/llvm/TextAPI/FileTypes.h
    M llvm/include/llvm/TextAPI/InterfaceFile.h
    M llvm/include/llvm/TextAPI/RecordsSlice.h
    M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
    M llvm/lib/TextAPI/InterfaceFile.cpp
    M llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/lib/TextAPI/TextAPIContext.h
    M llvm/lib/TextAPI/TextStubCommon.h

  Log Message:
  -----------
  [TextAPI] Refactor BinaryAttrs to InterfaceFile assignment (#81551)

Create a helper method for this operation, so it can be reused in
multiple places.
Additonally move FileType enum into its own header to avoid include
cycles.


  Commit: ecd63afafd635d3f37ec25e3ded1db0410e97de3
      https://github.com/llvm/llvm-project/commit/ecd63afafd635d3f37ec25e3ded1db0410e97de3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    R llvm/test/Transforms/LICM/expr-reassociate-int.ll

  Log Message:
  -----------
  Revert "[LICM] Support integer mul/add in hoistFPAssociation. (#67736)"

This reverts commit 7ff5dfbaa0c971048da0f37ec6f05f5395562c21.

Causing crashes on Mac build bots.


  Commit: a38152e2156a467520dae29fa3760802c308d54c
      https://github.com/llvm/llvm-project/commit/a38152e2156a467520dae29fa3760802c308d54c
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/Options.td
    M llvm/test/tools/llvm-lib/arm64ec-implib.test

  Log Message:
  -----------
  [llvm-lib] Add support for -defArm64Native argument. (#81426)

This can be used to create import libraries that contain both ARM64EC
and native exports. The implementation follows observed MSVC lib.exe
behaviour. It's ignored on targets other than ARM64EC.


  Commit: 3bdc4c702dfdd1f2fb513943f034d49bb79ded29
      https://github.com/llvm/llvm-project/commit/3bdc4c702dfdd1f2fb513943f034d49bb79ded29
  Author: Kevin Frei <kevinfrei at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
    M llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h
    A llvm/include/llvm/DebugInfo/GSYM/OutputAggregator.h
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
    M llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp

  Log Message:
  -----------
  Gsymutil aggregation similar to DwarfDump --verify (#81154)

GsymUtil, like DwarfDump --verify, spews a *lot* of data necessary to
understand/diagnose issues with DWARF data. The trouble is that the kind
of information necessary to make the messages useful also makes them
nearly impossible to easily categorize. I put together a similar output
categorizer (https://github.com/llvm/llvm-project/pull/79648) that will
emit a summary of issues identified at the bottom of the (very verbose)
output, enabling easier tracking of issues as they arise or are
addressed.

There's a single output change, where a message "warning: Unable to
retrieve DWO .debug_info section for some object files. (Remove the
--quiet flag for full output)" was being dumped the first time it was
encountered (in what looks like an attempt to make something easily
grep-able), but rather than keep the output in the same order, that
message is now a 'category' so gets emitted at the end of the output.
The test 'tools/llvm-gsymutil/X86/elf-dwo.yaml' was changed to reflect
this difference.

---------

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


  Commit: bc66e0cf9feb8f3c38fa2e33850b6c6e5477fb21
      https://github.com/llvm/llvm-project/commit/bc66e0cf9feb8f3c38fa2e33850b6c6e5477fb21
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  Revert "Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default""

This reverts commit 5c9f7682b090124d9a8b69f92d3f7c269dca25fc.

Causes crashes, see comments on https://github.com/llvm/llvm-project/commit/5c9f7682b090124d9a8b69f92d3f7c269dca25fc.


  Commit: 1af073a11cb2ae5a52205e66f33d0ec9bbcbb5e0
      https://github.com/llvm/llvm-project/commit/1af073a11cb2ae5a52205e66f33d0ec9bbcbb5e0
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [flang][OpenMP] Pass semantics context to all generating functions in… (#81269)

… lower

The convention is to pass it after "symTable" if present, otherwise
after "converter":
- converter, symTable, semaCtx
- converter, semaCtx

This makes the interfaces more uniform---some of these functions were
already taking the semantics context, while others were not.

The context will be used in future patches.


  Commit: f7c2c32c019275e88fd14e401aaa68b760f32a28
      https://github.com/llvm/llvm-project/commit/f7c2c32c019275e88fd14e401aaa68b760f32a28
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M lld/ELF/Target.cpp
    A lld/test/ELF/unsupported-emachine.test

  Log Message:
  -----------
  [ELF] Properly reject unsupported e_machine

Fix an incorrect llvm_unreachable.


  Commit: 25cec33521ba1c67f5e939ceea277be18b2d0fb7
      https://github.com/llvm/llvm-project/commit/25cec33521ba1c67f5e939ceea277be18b2d0fb7
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M lld/ELF/Writer.cpp
    M lld/test/ELF/x86-64-section-layout.s

  Log Message:
  -----------
  [ELF] Place _edata before .bss in the presence of .ldata

This minor issue is identified while working on #81224.


  Commit: 3d18c8cd265c0c0bf1d85226c4770a2dd0f86e8f
      https://github.com/llvm/llvm-project/commit/3d18c8cd265c0c0bf1d85226c4770a2dd0f86e8f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/AArch64/cast.ll
    M llvm/test/Analysis/CostModel/AArch64/fptoi_sat.ll
    M llvm/test/Analysis/LoopAccessAnalysis/number-of-memchecks.ll
    M llvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll
    M llvm/test/CodeGen/AArch64/Redundantstore.ll
    M llvm/test/CodeGen/AArch64/aarch64-a57-fp-load-balancing.ll
    M llvm/test/CodeGen/AArch64/aarch64-addv.ll
    M llvm/test/CodeGen/AArch64/aarch64-tbz.ll
    M llvm/test/CodeGen/AArch64/aarch64-unroll-and-jam.ll
    M llvm/test/CodeGen/AArch64/aarch64-vcvtfp2fxs-combine.ll
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/arm64-movi.ll
    M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/asm-large-immediate.ll
    M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16.ll
    M llvm/test/CodeGen/AArch64/bitreverse.ll
    M llvm/test/CodeGen/AArch64/cmpwithshort.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i8-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat.ll
    M llvm/test/CodeGen/AArch64/cond-br-tuning.ll
    M llvm/test/CodeGen/AArch64/consthoist-gep.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/extract-sext-zext.ll
    M llvm/test/CodeGen/AArch64/fabs.ll
    M llvm/test/CodeGen/AArch64/faddsub.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/fcopysign.ll
    M llvm/test/CodeGen/AArch64/fcvt.ll
    M llvm/test/CodeGen/AArch64/fdiv.ll
    M llvm/test/CodeGen/AArch64/fence-singlethread.ll
    M llvm/test/CodeGen/AArch64/fexplog.ll
    M llvm/test/CodeGen/AArch64/fminimummaximum.ll
    M llvm/test/CodeGen/AArch64/fminmax.ll
    M llvm/test/CodeGen/AArch64/fmla.ll
    M llvm/test/CodeGen/AArch64/fmul.ll
    M llvm/test/CodeGen/AArch64/fneg.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_lane.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_2op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_3op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_vector_1op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_vector_2op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_vector_3op.ll
    M llvm/test/CodeGen/AArch64/fpext.ll
    M llvm/test/CodeGen/AArch64/fpow.ll
    M llvm/test/CodeGen/AArch64/fpowi.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/fptrunc.ll
    M llvm/test/CodeGen/AArch64/frem.ll
    M llvm/test/CodeGen/AArch64/frintn.ll
    M llvm/test/CodeGen/AArch64/fsincos.ll
    M llvm/test/CodeGen/AArch64/fsqrt.ll
    M llvm/test/CodeGen/AArch64/hints.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/intrinsics-memory-barrier.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/ldp-stp-scaled-unscaled-pairs.ll
    M llvm/test/CodeGen/AArch64/legalize-bug-bogus-cpu.ll
    M llvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
    M llvm/test/CodeGen/AArch64/merge-store-dependency.ll
    M llvm/test/CodeGen/AArch64/merge-store.ll
    M llvm/test/CodeGen/AArch64/min-max-combine.ll
    M llvm/test/CodeGen/AArch64/min-max.ll
    M llvm/test/CodeGen/AArch64/mul_pow2.ll
    M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
    M llvm/test/CodeGen/AArch64/neon_rbit.ll
    M llvm/test/CodeGen/AArch64/no-quad-ldp-stp.ll
    M llvm/test/CodeGen/AArch64/nzcv-save.ll
    M llvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
    M llvm/test/CodeGen/AArch64/postra-mi-sched.ll
    M llvm/test/CodeGen/AArch64/rbit.ll
    M llvm/test/CodeGen/AArch64/rcpc3-sve.ll
    M llvm/test/CodeGen/AArch64/rcpc3.ll
    M llvm/test/CodeGen/AArch64/rem_crash.ll
    M llvm/test/CodeGen/AArch64/rotate.ll
    M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
    M llvm/test/CodeGen/AArch64/sls-stackprotector-outliner.ll
    M llvm/test/CodeGen/AArch64/stack-probing-64k.ll
    M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
    M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
    M llvm/test/CodeGen/AArch64/stack-probing.ll
    M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll
    M llvm/test/CodeGen/AArch64/tailmerging_in_mbp.ll
    M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
    M llvm/test/CodeGen/AArch64/v3f-to-int.ll
    M llvm/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.ll
    M llvm/test/CodeGen/AArch64/v8.5a-scalar-frint3264-intrinsic.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
    M llvm/test/CodeGen/AArch64/xar.ll
    M llvm/test/Transforms/LICM/sink-foldable.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/arbitrary-induction-step.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/backedge-overflow.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll

  Log Message:
  -----------
  [test] Replace aarch64-*-{eabi,gnueabi}{,hf} with aarch64

Similar to d39b4ce3ce8a3c256e01bdec2b140777a332a633
Using "eabi" or "gnueabi" for aarch64 targets is a common mistake and
warned by Clang Driver. We want to avoid them elsewhere as well. Just
use the common "aarch64" without other triple components.


  Commit: 78f2eb8d0f9cf5e8a79b64f6d64deeb487502e38
      https://github.com/llvm/llvm-project/commit/78f2eb8d0f9cf5e8a79b64f6d64deeb487502e38
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
    M llvm/test/CodeGen/AArch64/cond-br-tuning.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-or-phi.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split.ll
    M llvm/test/Transforms/CalledValuePropagation/simple-arguments.ll
    M llvm/test/Transforms/CalledValuePropagation/simple-memory.ll
    M llvm/test/Transforms/CalledValuePropagation/simple-select.ll
    M llvm/test/Transforms/ConstantHoisting/AArch64/const-hoist-gep.ll

  Log Message:
  -----------
  [test] Replace aarch64-*-{eabi,gnueabi}{,hf} with aarch64


  Commit: 95a204cf34c410c2be5f152daec2d476f1e06d84
      https://github.com/llvm/llvm-project/commit/95a204cf34c410c2be5f152daec2d476f1e06d84
  Author: paperchalice <liujunchang97 at outlook.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h

  Log Message:
  -----------
  [CodeGenPassBuilder] Remove  analysis registering interfaces (#81439)

PassBuilder already can do this.


  Commit: 542a3cb9cc89c3d6fca68374bf6c35ac6c229300
      https://github.com/llvm/llvm-project/commit/542a3cb9cc89c3d6fca68374bf6c35ac6c229300
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/DomConditionCache.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    A llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll

  Log Message:
  -----------
  [ValueTracking] Compute known FPClass from dominating condition (#80941)

This patch improves `computeKnownFPClass` by using context-sensitive
information from `DomConditionCache`.


  Commit: 4af24d4ab76539706bfbceec4b3923426fb1b9e7
      https://github.com/llvm/llvm-project/commit/4af24d4ab76539706bfbceec4b3923426fb1b9e7
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

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

  Log Message:
  -----------
  [clang-format] Don't remove parentheses in macro definitions (#81444)

Closes #81399.


  Commit: c43ad6c0fddac0bbed5e881801dd2bc2f9eeba2d
      https://github.com/llvm/llvm-project/commit/c43ad6c0fddac0bbed5e881801dd2bc2f9eeba2d
  Author: yonghong-song <ys114321 at gmail.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/test/MC/BPF/insn-unit.s

  Log Message:
  -----------
  BPF: Change callx insn encoding (#81546)

Currently, the kernel verifier unsupported callx insn used the 32-bit
imm field to store the target register. On the other hand, gcc used the
dst_reg field to store the target register. The gcc encoding is better.
This patch adjusted the coding to be the same as gcc.

Signed-off-by: Yonghong Song <yonghong.song at linux.dev>


  Commit: 070fad422834faab1f0ffc90e21e25d2f524b17b
      https://github.com/llvm/llvm-project/commit/070fad422834faab1f0ffc90e21e25d2f524b17b
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    A mlir/test/Dialect/OpenMP/roundtrip.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Add `omp.private` op (#80955)

This PR adds a new op to the OpenMP dialect: `PrivateClauseOp`. This op
will be later used to model `[first]private` clauses for differnt OpenMP
directives.

This is part of productizing the "delayed privatization" PoC which can
be found in #79862.


  Commit: 91dcf53abd34fa836a126c706f87b810d299d802
      https://github.com/llvm/llvm-project/commit/91dcf53abd34fa836a126c706f87b810d299d802
  Author: rmarker <37921131+rmarker at users.noreply.github.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/ConfigParseTest.cpp

  Log Message:
  -----------
  [clang-format] Rename option AlwaysBreakAfterReturnType. (#80827)

Changes the option to BreakAfterReturnType option, with a more relevant
name, deprecating and replacing AlwaysBreakAfterReturnType.
Following up on #78010.


  Commit: 2dd52046816ac706a25d588efac77705793d8778
      https://github.com/llvm/llvm-project/commit/2dd52046816ac706a25d588efac77705793d8778
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LICM.cpp
    A llvm/test/Transforms/LICM/expr-reassociate-int.ll

  Log Message:
  -----------
  Recommit "[LICM] Support integer mul/add in hoistFPAssociation. (#67736)"

With a fix for build bot failure. I was accessing the type of a deleted
Instruction.

Original message:

The reassociation this is trying to repair can happen for integer types
too.

This patch adds support for integer mul/add to hoistFPAssociation. The
function has been renamed to hoistMulAddAssociation. I've used separate
statistics and limits for integer to allow tuning flexibility.


  Commit: bc8910d272e3f9ed58b21af2e7c7a9125e4b25ea
      https://github.com/llvm/llvm-project/commit/bc8910d272e3f9ed58b21af2e7c7a9125e4b25ea
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Mark RISCVFoldMasks methods as const. NFC


  Commit: b56b3d75b04cda762ac8e15b7ec6fa4f52a6735a
      https://github.com/llvm/llvm-project/commit/b56b3d75b04cda762ac8e15b7ec6fa4f52a6735a
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/CXX/over/over.match/over.match.best/p1-2a.cpp

  Log Message:
  -----------
  [Clang][Sema] Don't consider top-level cv-qualifiers in template partial orderings (#81449)

This fixes a regression since
https://github.com/llvm/llvm-project/commit/340eac01f7dad6c24cee35dd35f2484098dd6b1a,
from which we compared function parameter types with cv-qualifiers taken
into account. However, as per [dcl.fct]/p5:

> After producing the list of parameter types, any top-level
cv-qualifiers modifying
> a parameter type are deleted when forming the function type.

Thus, I think we should use `hasSameUnqualifiedType` for type
comparison.

This fixes https://github.com/llvm/llvm-project/issues/75404.


  Commit: 85e6e71eb09cb9e75bbd475e5f54f876653c3f16
      https://github.com/llvm/llvm-project/commit/85e6e71eb09cb9e75bbd475e5f54f876653c3f16
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Handle discarded PointerToIntegral casts

Resolve an old TODO comment.


  Commit: bb77047a3b93e332be9cb3d85ad658e0ffa25525
      https://github.com/llvm/llvm-project/commit/bb77047a3b93e332be9cb3d85ad658e0ffa25525
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll

  Log Message:
  -----------
  [RISCV] Handle fixed length vectors with exact VLEN in loweringEXTRACT_SUBVECTOR (#79949)

This is a revival of #65392. When we lower an extract_subvector, we
extract the
subregister that the subvector is contained in first and then do a
vslidedown
with LMUL=1. We can currently only do this for scalable vectors though
because
the index is scaled by vscale and thus we will know what subregister the
subvector lies in.

For fixed length vectors, the index isn't scaled by vscale and so the
subvector
could lie in any arbitrary subregister, so we have to do a vslidedown
with the
full LMUL.

The exception to this is when we know the exact VLEN: in which case, we
can
still work out the exact subregister and do the LMUL=1 vslidedown on it.

This patch handles this case by scaling the index by 1/vscale before
computing
the subregister, and extending the LMUL=1 path to handle fixed length
vectors.


  Commit: 4bcbeaed63af8f1e18c1c74d3ef2a5a6ff7a22ac
      https://github.com/llvm/llvm-project/commit/4bcbeaed63af8f1e18c1c74d3ef2a5a6ff7a22ac
  Author: Austin Kerbow <Austin.Kerbow at amd.com>
  Date:   2024-02-12 (Mon, 12 Feb 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll

  Log Message:
  -----------
  [AMDGPU] Enable kernel arg preloading with gfx90a (#81180)

Add a trap instruction to the beginning of the kernel prologue to handle
cases where preloading is attempted on HW loaded with incompatible
firmware.


  Commit: 785eddd7a786b798427e336b79bc0f2495a49984
      https://github.com/llvm/llvm-project/commit/785eddd7a786b798427e336b79bc0f2495a49984
  Author: sstipanovic <146831748+sstipanovic at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/bitcast_38_i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.mir

  Log Message:
  -----------
  [AMDGPU][GlobalIsel] Introduce isRegisterClassType to check for legal types, instead of checking bit width.  (#68189)

In D151116 it was suggested to have a set of classes to cover every
possible case. This does it for bitcast first.

closes #79578


  Commit: d7f59c8fb83cc00c58a826d542b81f98e7bd9526
      https://github.com/llvm/llvm-project/commit/d7f59c8fb83cc00c58a826d542b81f98e7bd9526
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
    A mlir/test/Dialect/GPU/test-nvvm-pipeline.mlir

  Log Message:
  -----------
  [mlir] Lower math dialect later in gpu-lower-to-nvvm-pipeline (#81489)

This PR moves lowering of math dialect later in the pipeline. Because
math dialect is lowered correctly by createConvertGpuOpsToNVVMOps for
GPU target, and it needs to run it first.

Reland #78556


  Commit: d033366bd2189e33343ca93d276b40341dc39770
      https://github.com/llvm/llvm-project/commit/d033366bd2189e33343ca93d276b40341dc39770
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/test/MinGW/driver.test

  Log Message:
  -----------
  [LLD] [MinGW] Implement the --lto-emit-asm and -plugin-opt=emit-llvm options (#81475)

These were implemented in the COFF linker in
3923e61b96cf90123762f0e0381504efaba2d77a and
d12b99a4313816cf99e97cb5f579e2d51ba72b0b.

This matches the corresponding options in the ELF linker.


  Commit: 66f73100b8c758248724d53598165d850fdaf364
      https://github.com/llvm/llvm-project/commit/66f73100b8c758248724d53598165d850fdaf364
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/test/AST/Interp/literals.cpp

  Log Message:
  -----------
  [clang][Interp] Fix ltor conversion for pointer types

This special case is wrong, we need to handle pointer types here
just like anything else.


  Commit: d2ccf3393363f3bbcfd46e58a0ed2a6bd9170099
      https://github.com/llvm/llvm-project/commit/d2ccf3393363f3bbcfd46e58a0ed2a6bd9170099
  Author: Hristo Hristov <hghristov.rmm at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libcxx/include/sstream
    A libcxx/test/std/input.output/string.streams/istringstream/types.compile.pass.cpp
    R libcxx/test/std/input.output/string.streams/istringstream/types.pass.cpp
    A libcxx/test/std/input.output/string.streams/ostringstream/types.compile.pass.cpp
    R libcxx/test/std/input.output/string.streams/ostringstream/types.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringbuf/types.compile.pass.cpp
    R libcxx/test/std/input.output/string.streams/stringbuf/types.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringstream/types.compile.pass.cpp
    R libcxx/test/std/input.output/string.streams/stringstream/types.pass.cpp

  Log Message:
  -----------
  [libc++][sstream] Explicitly delete special member functions (#80254)

The standard declares the copy constructors and copy assign operators as
deleted.

References:
- https://eel.is/c++draft/string.streams


  Commit: d30e941a03f7e70fb7875ede7b5d80342982e3a8
      https://github.com/llvm/llvm-project/commit/d30e941a03f7e70fb7875ede7b5d80342982e3a8
  Author: Simon Pilgrim <RKSimon at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [DAG] Add SelectionDAG::getShiftAmountConstant APInt variant (#81484)

Asserts that the shift amount is in range and update ExpandShiftByConstant to use getShiftAmountConstant (and legal shift amount types).


  Commit: a1efe56ace6099959ac97fcb09b9a7837b6d0255
      https://github.com/llvm/llvm-project/commit/a1efe56ace6099959ac97fcb09b9a7837b6d0255
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  Remove an unused variable in release build.


  Commit: 87d771193490e6604f132752438bd8404c83498c
      https://github.com/llvm/llvm-project/commit/87d771193490e6604f132752438bd8404c83498c
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll

  Log Message:
  -----------
  [AMDGPU][SIMemoryLegalizer] Fix order of GL0/1_INV on GFX10/11 (#81450)

Fixes SWDEV-443292


  Commit: e892f323ea234a997888b0fa44356b0678eda5f0
      https://github.com/llvm/llvm-project/commit/e892f323ea234a997888b0fa44356b0678eda5f0
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp

  Log Message:
  -----------
  [mlir][nvgpu] Allow TMA's last dim to be non-128B without swizzling (#81499)

Allow TMA's last dimension to be non-128B when swizzling mode is not
set.

Test `tma_load_64x8_8x128_noswizzle.mlir` is failing due to the
verifier. This PR will fix that


  Commit: 346e7c7f6881afaade5a71ad97475d70639dadcf
      https://github.com/llvm/llvm-project/commit/346e7c7f6881afaade5a71ad97475d70639dadcf
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A clang/test/CXX/drs/dr201.cpp
    A clang/test/CXX/drs/dr210.cpp
    A clang/test/CXX/drs/dr292.cpp
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/www/cxx_dr_status.html

  Log Message:
  -----------
  [clang] Add some CodeGen tests for CWG 2xx issues (#80823)

This patch covers CWG issues
[201](https://cplusplus.github.io/CWG/issues/201.html),
[210](https://cplusplus.github.io/CWG/issues/210.html),
[292](https://cplusplus.github.io/CWG/issues/292.html).

[CWG208](https://cplusplus.github.io/CWG/issues/208.html) is not
covered, as it actually requires a libcxxabi test.

Resolution of CWG292 has been superseded by
[P0145R3](https://wg21.link/p0145r3) "Refining Expression Evaluation
Order for Idiomatic C++"
(see changes to paragraph 5.3.4/18).


  Commit: d57515bd107bc76df5a042ffee2b7dc6125ffef1
      https://github.com/llvm/llvm-project/commit/d57515bd107bc76df5a042ffee2b7dc6125ffef1
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/include/llvm/CodeGenTypes/LowLevelType.h
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/unittests/CodeGen/LowLevelTypeTest.cpp

  Log Message:
  -----------
  [LLT] Add and use isPointerVector and isPointerOrPointerVector. NFC. (#81283)


  Commit: 0e16950e741aee7ffec865c81596e1411471475e
      https://github.com/llvm/llvm-project/commit/0e16950e741aee7ffec865c81596e1411471475e
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s

  Log Message:
  -----------
  [X86] IceLakeServer - ZMM FADD/FMUL can only use Port0

Fix discrepancy from when this was forked from the SkylakeServer model

This also fixes VRANGEPS/VRANGEPD instructions which typically match FADD characteristics

Confirmed with Agner + uops.info

Fixes #81504


  Commit: 070848c17c2944afa494d42d3ad42929f3379842
      https://github.com/llvm/llvm-project/commit/070848c17c2944afa494d42d3ad42929f3379842
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  [AArch64][GISel] Don't pointlessly lower G_TRUNC (#81479)

If we have something like G_TRUNC from v2s32 to v2s16, then lowering
this to a concat of two G_TRUNC s32 to s16 followed by G_TRUNC from
v2s16 to v2s8 does not bring us any closer to legality. In fact, the
first part of that is a G_BUILD_VECTOR whose legalization will produce a
new G_TRUNC from v2s32 to v2s16, and both G_TRUNCs will then get
combined to the original, causing a legalization cycle.

Make the lowering condition more precise, by requiring that the original
vector is >128 bits, which is I believe the only case where this
specific splitting approach is useful.

Note that this doesn't actually produce a legal result (the alwaysLegal
is a lie, as before), but it will cause a proper globalisel abort
instead of an infinite legalization loop.

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


  Commit: 815a84655262ac569db11357fef1651f3571e7ee
      https://github.com/llvm/llvm-project/commit/815a84655262ac569db11357fef1651f3571e7ee
  Author: David Green <david.green at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Support/Utils.h
    A flang/include/flang/Optimizer/Transforms/Utils.h
    M flang/lib/Optimizer/Dialect/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp

  Log Message:
  -----------
  [Flang] Move genMinMaxlocReductionLoop to Transforms/Utils.cpp (#81380)

This is one option for attempting to move genMinMaxlocReductionLoop to a
better location. It moves it into Transforms and makes HLFIRTranforms
depend upon FIRTransforms.

It passes a build locally, both with and without -DBUILD_SHARED_LIBS,
and does OK on the windows CI.


  Commit: f0db35b93f31ea5d6ff9bd4791fb6755b5a5bb9b
      https://github.com/llvm/llvm-project/commit/f0db35b93f31ea5d6ff9bd4791fb6755b5a5bb9b
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    A llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  [MC/DC] Refactor: Introduce `MCDCTypes.h` for `coverage::mcdc` (#81459)

They can be also used in `clang`.
Introduce the lightweight header instead of `CoverageMapping.h`.

This includes for now:
* `mcdc::ConditionID`
* `mcdc::Parameters`


  Commit: 05ad0d46325732e2f7759cb93c94f3e15b41d110
      https://github.com/llvm/llvm-project/commit/05ad0d46325732e2f7759cb93c94f3e15b41d110
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp

  Log Message:
  -----------
  CoverageMapping.cpp: Apply std::move to MCDCRecord (#81220)


  Commit: 0a600c34c8c1fe87c9661b6020e5044b24da3dc7
      https://github.com/llvm/llvm-project/commit/0a600c34c8c1fe87c9661b6020e5044b24da3dc7
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Dialect/NVGPU/tmaload-transform.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x64_swizzle128b.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir

  Log Message:
  -----------
  [mlir][nvgpu] Make `phaseParity` of `mbarrier.try_wait` `i1` (#81460)

Currently, `phaseParity` argument of `nvgpu.mbarrier.try_wait.parity` is
index. This can cause a problem if it's passed any value different than
0 or 1. Because the PTX instruction only accepts even or odd phase. This
PR makes phaseParity argument i1 to avoid misuse.

Here is the information from PTX doc:

```
The .parity variant of the instructions test for the completion of the phase indicated 
by the operand phaseParity, which is the integer parity of either the current phase or 
the immediately preceding phase of the mbarrier object. An even phase has integer 
parity 0 and an odd phase has integer parity of 1. So the valid values of phaseParity 
operand are 0 and 1.
```
See for more information:

https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#parallel-synchronization-and-communication-instructions-mbarrier-test-wait-mbarrier-try-wait


  Commit: 4588525d7edbc0d14c41f5fa8f3e23a3241a502e
      https://github.com/llvm/llvm-project/commit/4588525d7edbc0d14c41f5fa8f3e23a3241a502e
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp

  Log Message:
  -----------
  CoverageMappingReader/Writer: MCDCConditionID shouldn't be zero


  Commit: 270f2c5575dc5dd001e91ddc2c71b0f2d23f567c
      https://github.com/llvm/llvm-project/commit/270f2c5575dc5dd001e91ddc2c71b0f2d23f567c
  Author: martinboehme <mboehme at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp

  Log Message:
  -----------
  [clang][dataflow] Add `Environment::initializeFieldsWithValues()`. (#81239)

This function will be useful when we change the behavior of record-type
prvalues
so that they directly initialize the associated result object. See also
the
comment here for more details:


https://github.com/llvm/llvm-project/blob/9e73656af524a2c592978aec91de67316c5ce69f/clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h#L354

As part of this patch, we document and assert that synthetic fields may
not have
reference type.

There is no practical use case for this: A `StorageLocation` may not
have
reference type, and a synthetic field of the corresponding non-reference
type
can serve the same purpose.


  Commit: 5b015229b77d6ea7916a503d88661b04d4867e7c
      https://github.com/llvm/llvm-project/commit/5b015229b77d6ea7916a503d88661b04d4867e7c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  [AMDGPU] Use LLT::isPointerOrPointerVector in legalizer (#81582)


  Commit: d860ea96b1d4bcc13bf269e9b108d8f5e0c21d93
      https://github.com/llvm/llvm-project/commit/d860ea96b1d4bcc13bf269e9b108d8f5e0c21d93
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll

  Log Message:
  -----------
  [HWASAN] Update dbg.assign intrinsics in HWAsan pass (#79864)

llvm.dbg.assign intrinsics have 2 {value, expression} pairs; fix hwasan to
update the second expression.

Fixes #76545. This is #78606 rebased and with the addition of DPValue handling.
Note the addition of --try-experimental-debuginfo-iterators in the tests and
some shuffling of code in MemoryTaggingSupport.cpp.


  Commit: 44706bd4f0e26f86eda24e4888044897fd4f92a8
      https://github.com/llvm/llvm-project/commit/44706bd4f0e26f86eda24e4888044897fd4f92a8
  Author: ostannard <oliver.stannard at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/fpclass-check-idioms.ll

  Log Message:
  -----------
  [InstCombine] Don't add fcmp instructions to strictfp functions (#81498)

The strictfp attribute has the requirement that "LLVM will not introduce
any new floating-point instructions that may trap". The llvm.is.fpclass
intrinsic is documented as "The function never raises floating-point
exceptions", and the fcmp instruction may raise one, so we can't
transform the former into the latter in functions with the strictfp
attribute.


  Commit: ca61e6a71dbe622593b27ab6c6f3bfd058069772
      https://github.com/llvm/llvm-project/commit/ca61e6a71dbe622593b27ab6c6f3bfd058069772
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
    R llvm/test/Transforms/CorrelatedValuePropagation/switch.ll

  Log Message:
  -----------
  Revert "[CVP] Check whether the default case is reachable (#79993)" (#81585)

This reverts commit a034e65e972175a2465deacb8c78bc7efc99bd23.

Some protobuf users reported that this patch caused a significant
compile-time regression because `TailDuplicator` works poorly with a
specific pattern.

We will reland it once the codegen issue is fixed.


  Commit: ebe77cc320a1bcc8e2cec44f4f388fb43b72016d
      https://github.com/llvm/llvm-project/commit/ebe77cc320a1bcc8e2cec44f4f388fb43b72016d
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp

  Log Message:
  -----------
  [clang-tidy] ignore local variable with [maybe_unused] attribute in bugprone-unused-local-non-trivial-variable (#81563)


  Commit: 8c6e96d9eb35849762fa3ab4d3cc9517c4e14e74
      https://github.com/llvm/llvm-project/commit/8c6e96d9eb35849762fa3ab4d3cc9517c4e14e74
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp

  Log Message:
  -----------
  [clang][Dataflow] Fix unnecessary copy in `initializeFieldsWithValues` (NFC)


  Commit: f506192c016fb6909eb2c17e183f6223db012f8c
      https://github.com/llvm/llvm-project/commit/f506192c016fb6909eb2c17e183f6223db012f8c
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinhf.cpp

  Log Message:
  -----------
  [libc][NFC] Small `abs` related simplifications (#79858)


  Commit: 4c931091a344e3284bd449710defdabe8fab1c22
      https://github.com/llvm/llvm-project/commit/4c931091a344e3284bd449710defdabe8fab1c22
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td

  Log Message:
  -----------
  [AMDGPU][NFC] Get rid of some operand decoders defined using macros. (#81482)

Use templates instead.

Part of <https://github.com/llvm/llvm-project/issues/62629>.


  Commit: fe3406e349884e4ef61480dd0607f1e237102c74
      https://github.com/llvm/llvm-project/commit/fe3406e349884e4ef61480dd0607f1e237102c74
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/CMakeLists.txt
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Target.h
    A lld/test/ELF/Inputs/systemz-init.s
    A lld/test/ELF/basic-systemz.s
    A lld/test/ELF/emulation-systemz.s
    A lld/test/ELF/lto/systemz.ll
    A lld/test/ELF/systemz-got.s
    A lld/test/ELF/systemz-gotent-relax-align.s
    A lld/test/ELF/systemz-gotent-relax-und-dso.s
    A lld/test/ELF/systemz-gotent-relax.s
    A lld/test/ELF/systemz-ifunc-nonpreemptible.s
    A lld/test/ELF/systemz-init-padding.s
    A lld/test/ELF/systemz-pie.s
    A lld/test/ELF/systemz-plt.s
    A lld/test/ELF/systemz-reloc-abs.s
    A lld/test/ELF/systemz-reloc-disp12.s
    A lld/test/ELF/systemz-reloc-disp20.s
    A lld/test/ELF/systemz-reloc-got.s
    A lld/test/ELF/systemz-reloc-gotrel.s
    A lld/test/ELF/systemz-reloc-pc16.s
    A lld/test/ELF/systemz-reloc-pc32.s
    A lld/test/ELF/systemz-reloc-pcdbl.s
    A lld/test/ELF/systemz-tls-gd.s
    A lld/test/ELF/systemz-tls-ie.s
    A lld/test/ELF/systemz-tls-ld.s
    A lld/test/ELF/systemz-tls-le.s
    M lld/test/lit.cfg.py

  Log Message:
  -----------
  [lld] Add target support for SystemZ (s390x) (#75643)

This patch adds full support for linking SystemZ (ELF s390x) object
files. Support should be generally complete:
- All relocation types are supported.
- Full shared library support (DYNAMIC, GOT, PLT, ifunc).
- Relaxation of TLS and GOT relocations where appropriate.
- Platform-specific test cases.

In addition to new platform code and the obvious changes, there were a
few additional changes to common code:

- Add three new RelExpr members (R_GOTPLT_OFF, R_GOTPLT_PC, and
R_PLT_GOTREL) needed to support certain s390x relocations. I chose not
to use a platform-specific name since nothing in the definition of these
relocs is actually platform-specific; it is well possible that other
platforms will need the same.

- A couple of tweaks to TLS relocation handling, as the particular
semantics of the s390x versions differ slightly. See comments in the
code.

This was tested by building and testing >1500 Fedora packages, with only
a handful of failures; as these also have issues when building with LLD
on other architectures, they seem unrelated.

Co-authored-by: Tulio Magno Quites Machado Filho <tuliom at redhat.com>


  Commit: 9ca1a1575a337931d0e49859f83a0d5b70916abd
      https://github.com/llvm/llvm-project/commit/9ca1a1575a337931d0e49859f83a0d5b70916abd
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    A flang/test/Driver/masm.f90

  Log Message:
  -----------
  [flang][Driver] Add -masm option to flang (#81490)

The motivation here was a suggestion over in Compiler Explorer. You can
use `-mllvm` already to do this but since gfortran supports `-masm`, I
figured I'd try to add it.

This is done by flang expanding `-masm` into `-mllvm x86-asm-syntax=`,
then passing that to fc1. Which then collects all the `-mllvm` options
and forwards them on.

The code to expand it comes from clang `Clang::AddX86TargetArgs` (there
are some other places doing the same thing too). However I've removed
the `-inline-asm` that clang adds, as fortran doesn't have inline
assembly.

So `-masm` for flang purely changes the style of assembly output.

```
$ ./bin/flang-new /tmp/test.f90 -o - -S -target x86_64-linux-gnu
<...>
        pushq   %rbp
$ ./bin/flang-new /tmp/test.f90 -o - -S -target x86_64-linux-gnu -masm=att
<...>
        pushq   %rbp
$ ./bin/flang-new /tmp/test.f90 -o - -S -target x86_64-linux-gnu -masm=intel
<...>
        push    rbp
```

The test is adapted from `clang/test/Driver/masm.c` by removing the
clang-cl related lines and changing the 32 bit triples to 64 bit triples
since flang doesn't support 32 bit targets.


  Commit: a8fb0dcc41bf355a3bff9ad7165715a8b6012059
      https://github.com/llvm/llvm-project/commit/a8fb0dcc41bf355a3bff9ad7165715a8b6012059
  Author: Paul Semel <semelpaul at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  [dataflow] CXXOperatorCallExpr equal operator might not be a glvalue (#80991)

Although in a normal implementation the assumption is reasonable, it
seems that some esoteric implementation are not returning a T&. This
should be handled correctly and the values be propagated.

---------

Co-authored-by: martinboehme <mboehme at google.com>


  Commit: 79ce2c93aeb4686ef687b19867dbfe0e8cf40673
      https://github.com/llvm/llvm-project/commit/79ce2c93aeb4686ef687b19867dbfe0e8cf40673
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][VectorOps] Add conversion of 1-D vector.interleave ops to LLVM (#80966)

The 1-D case directly maps to LLVM intrinsics. The n-D case will be
handled by unrolling to 1-D first (in a later patch).

Depends on: #80965


  Commit: e678e6edec8d2672eb848b7453bd10e16cc54958
      https://github.com/llvm/llvm-project/commit/e678e6edec8d2672eb848b7453bd10e16cc54958
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lld/ELF/BUILD.gn

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


  Commit: 8456e0c290f759807023924481712767a19464c2
      https://github.com/llvm/llvm-project/commit/8456e0c290f759807023924481712767a19464c2
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ADT/BitVector.h
    M llvm/unittests/ADT/BitVectorTest.cpp

  Log Message:
  -----------
  [ADT] Allow std::next to work on BitVector's set_bits_iterator (#80830)

Without this I would hit errors with libstdc++-12 like:

/usr/include/c++/12/bits/stl_iterator_base_funcs.h:230:5: note:
candidate template ignored: substitution failure [with _InputIterator =
llvm::const_set_bits_iterator_impl<llvm::BitVector>]: argument may not
have 'void' type
    next(_InputIterator __x, typename
    ^


  Commit: 55d6643ccf6f9394d88d3d6359492000c58c2357
      https://github.com/llvm/llvm-project/commit/55d6643ccf6f9394d88d3d6359492000c58c2357
  Author: Pranav Bhandarkar <153014763+bhandarkar-pranav at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [mlir][openmp] - Add the depend clause to omp.target and related offloading directives (#81081)

This patch adds support for the depend clause in a number of OpenMP
directives/constructs related to offloading. Specifically, it adds the
handling of the depend clause when it is used with the following
constructs

- target
- target enter data
- target update data
- target exit data


  Commit: e79ad7bb94611666a23764459098574bc0394d56
      https://github.com/llvm/llvm-project/commit/e79ad7bb94611666a23764459098574bc0394d56
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M flang/docs/FortranLLVMTestSuite.md
    M flang/docs/index.md

  Log Message:
  -----------
  [flang][docs] Fix a couple of warnings


  Commit: 97088b2ab2184ad4bd64f59fba0b92b70468b10d
      https://github.com/llvm/llvm-project/commit/97088b2ab2184ad4bd64f59fba0b92b70468b10d
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    A llvm/test/DebugInfo/Generic/ipsccp-remap-assign-id.ll

  Log Message:
  -----------
  [RemoveDIs][ValueMapper] Remap DIAssignIDs in DPValues  (#81595)

Fix crash raised in comments for 5c9f7682b090124d9a8b69f92d3f7c269dca25fc


  Commit: bfc0b7c6891896ee8e9818f22800472510093864
      https://github.com/llvm/llvm-project/commit/bfc0b7c6891896ee8e9818f22800472510093864
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A mlir/test/Dialect/Linalg/vectorization-unsupported.mlir

  Log Message:
  -----------
  [mlir][linalg] Document ops not supported by the vectoriser (nfc) (#81500)

Adds a test to help document Linalg Ops that are currently not supported
by the vectoriser (i.e. the logic to vectorise these is missing). The
list is not exhaustive.


  Commit: 35ef3994bf738318b59ce640910fb1ccd3bb7dcb
      https://github.com/llvm/llvm-project/commit/35ef3994bf738318b59ce640910fb1ccd3bb7dcb
  Author: Ivan Butygin <ivan.butygin at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Dialect/Math/Transforms/LegalizeToF32.cpp
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    A mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp

  Log Message:
  -----------
  [mlir][vector] ND vectors linearization pass (#81159)

Common backends (LLVM, SPIR-V) only supports 1D vectors, LLVM conversion
handles ND vectors (N >= 2) as `array<array<... vector>>` and SPIR-V
conversion doesn't handle them at all at the moment. Sometimes it's
preferable to treat multidim vectors as linearized 1D. Add pass to do
this. Only constants and simple elementwise ops are supported for now.

@krzysz00 I've extracted yours result type conversion code from
LegalizeToF32 and moved it to common place.

Also, add ConversionPattern class operating on traits.


  Commit: 990896a591b0b042cdf552900b92016ed253970d
      https://github.com/llvm/llvm-project/commit/990896a591b0b042cdf552900b92016ed253970d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Program.h

  Log Message:
  -----------
  [clang][Interp][NFC] Fix a prototype argument name


  Commit: 208edf7672cd2e84ae5da4df423adccd752ee1f1
      https://github.com/llvm/llvm-project/commit/208edf7672cd2e84ae5da4df423adccd752ee1f1
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll

  Log Message:
  -----------
  [RISCV] Fix assertion in lowerEXTRACT_SUBVECTOR

This fixes a crash when lowering an extract_subvector like:

t0:v1i64 = extract_subvector t1:v2i64, 1

Whilst we never need a vslidedown with M1 on scalable vector types, we might
need to do it for v1i64/v1f64, since the smallest container type for it is
nxv1i64/nxv1f64.

The lowering code is still correct for this case, but the assertion was too
strict. The actual invariant we're relying on is that ContainerSubVecVT's LMUL
<= M1, not < M1. Hence why we handled v2i32 fine, because its container type
was nxv1i32 and MF2.


  Commit: 9b718c0d5d0f1f146957753b7785f87f58cccfec
      https://github.com/llvm/llvm-project/commit/9b718c0d5d0f1f146957753b7785f87f58cccfec
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/test/AST/Interp/literals.cpp
    M clang/test/SemaCXX/PR40395.cpp
    M clang/test/SemaCXX/ms-uuid.cpp

  Log Message:
  -----------
  [clang][Interp] Handle CXXUuidofExprs

Allocate storage and initialize it with the given APValue contents.


  Commit: a70077ed8cdf7c7c2879c18c1c67917cd88e64ef
      https://github.com/llvm/llvm-project/commit/a70077ed8cdf7c7c2879c18c1c67917cd88e64ef
  Author: Abhina Sree <69635948+abhina-sree at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.except.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.except.pass.cpp

  Log Message:
  -----------
  [SystemZ][z/OS][libcxx] mark aligned allocation tests XFAIL on z/OS (#80735)

zOS doesn't support aligned allocation, so mark these testcases as
unsupported.

Continuation of https://reviews.llvm.org/D102798


  Commit: a17a3e9d9a6b4baefd96e19ee5e8ce04cead8ab5
      https://github.com/llvm/llvm-project/commit/a17a3e9d9a6b4baefd96e19ee5e8ce04cead8ab5
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  [MC/DC] Refactor: Make `MCDCParams` as `std::variant` (#81227)

Introduce `mcdc::DecisionParameters` and `mcdc::BranchParameters` and make
sure them not initialized as zero.

FIXME: Could we make `CoverageMappingRegion` as a smart tagged union?


  Commit: 880afa1c5d1b099eed5034340a67e56b9dda4c09
      https://github.com/llvm/llvm-project/commit/880afa1c5d1b099eed5034340a67e56b9dda4c09
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Use vectors instead of sets for testing intersection. NFC. (#81602)

In a few places we test whether sets (i.e. sorted ranges) intersect by
computing the set_intersection and then testing whether it is empty. For
this purpose it should be more efficient to use a std:vector instead of
a std::set to hold the result of the set_intersection, since insertion
is simpler.


  Commit: bb60c066a24eda6e6276fba9021cad85c4892343
      https://github.com/llvm/llvm-project/commit/bb60c066a24eda6e6276fba9021cad85c4892343
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp

  Log Message:
  -----------
  [clang][Interp] Handle Requires- and ConceptSpecializationExprs

Just emit their satisfaction state, which is what the current
interpreter does as well.


  Commit: f6557783007377a80a4dc0c5e3c8e2513ed36b2f
      https://github.com/llvm/llvm-project/commit/f6557783007377a80a4dc0c5e3c8e2513ed36b2f
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    A clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/StmtVisitor.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/Stmt.cpp
    A clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [OpenACC] Implement AST for OpenACC Compute Constructs  (#81188)

'serial', 'parallel', and 'kernel' constructs are all considered
'Compute' constructs. This patch creates the AST type, plus the required
infrastructure for such a type, plus some base types that will be useful
in the future for breaking this up.

The only difference between the three is the 'kind'( plus some minor
 clause legalization rules, but those can be differentiated easily
enough), so rather than representing them as separate AST nodes, it
seems
to make sense to make them the same.

Additionally, no clause AST functionality is being implemented yet, as
that fits better in a separate patch, and this is enough to get the
'naked' constructs implemented.

This is otherwise an 'NFC' patch, as it doesn't alter execution at all,
so there aren't any tests.  I did this to break up the review workload
and to get feedback on the layout.


  Commit: af56beac45692bb25b62383b78ee0b50c40e1f60
      https://github.com/llvm/llvm-project/commit/af56beac45692bb25b62383b78ee0b50c40e1f60
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn

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


  Commit: 742ec3abb876cccf122de4cd92dbbc82dd6f52b2
      https://github.com/llvm/llvm-project/commit/742ec3abb876cccf122de4cd92dbbc82dd6f52b2
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h

  Log Message:
  -----------
  MCDCTypes.h: Add ctors, fixup for #81227


  Commit: 46122082a61ef5bb2871d2d9158739133ad0e113
      https://github.com/llvm/llvm-project/commit/46122082a61ef5bb2871d2d9158739133ad0e113
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lld/COFF/Driver.cpp
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp

  Log Message:
  -----------
  [Object][COFF][NFC] Make writeImportLibrary NativeExports argument optional. (#81600)

It's not interesting for majority of downstream users.


  Commit: d759618df76361a8e490eeae5c5399e0738cbfd0
      https://github.com/llvm/llvm-project/commit/d759618df76361a8e490eeae5c5399e0738cbfd0
  Author: OCHyams <orlando.hyams at sony.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default"

This reapplies commit bdde5f9 by undoing the revert bc66e0c.

The previous reapplication 5c9f768 was reverted due to a crash
(reproducer in comments for 5c9f768) which was fixed in #81595.

As noted in the original commit, this commit may break downstream tests.
If this commit is breaking your downstream tests, please see comment 12 in
[0], which documents the kind of variation in tests we'd expect to see from
this change and what to do about it.

[0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939


  Commit: f7cddf80062848fbbb358d7e913650cc550d2547
      https://github.com/llvm/llvm-project/commit/f7cddf80062848fbbb358d7e913650cc550d2547
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/CodeGenSchedule.cpp
    M llvm/utils/TableGen/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [TableGen] Use std::move instead of swap. NFC. (#81606)

Historically TableGen has used `A.swap(B)` to move containers without
the expense of copying them. Perhaps this predated rvalue references. In
any case `A = std::move(B)` seems like a more direct way to implement
this when only A is required after the operation.


  Commit: d1f510cca8e966bd1742bf17256bfec99dcdf229
      https://github.com/llvm/llvm-project/commit/d1f510cca8e966bd1742bf17256bfec99dcdf229
  Author: Mats Petersson <mats.petersson at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M flang/lib/Semantics/canonicalize-omp.cpp

  Log Message:
  -----------
  Fix warning by removing unused variable (#81604)

Apparently, some compilers [correctly] warn that the variable that was
created prior to this change is unused.

This reemoves the variable.


  Commit: 5e5e51e9062895bed9fcf0dbb157d868be0adf8d
      https://github.com/llvm/llvm-project/commit/5e5e51e9062895bed9fcf0dbb157d868be0adf8d
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Support/DeltaAlgorithm.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp

  Log Message:
  -----------
  Make use of std::inserter. NFC.


  Commit: 38c706e30f5f339bfb0bfb26fd7b5c2d5086064a
      https://github.com/llvm/llvm-project/commit/38c706e30f5f339bfb0bfb26fd7b5c2d5086064a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A .github/workflows/approved-prs.yml
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  [GitHub][workflows] Ask reviewers to merge PRs when author cannot (#81142)

This uses
https://pygithub.readthedocs.io/en/stable/github_objects/Repository.html?highlight=get_collaborator_permission#github.Repository.Repository.get_collaborator_permission.

Which does
https://docs.github.com/en/rest/collaborators/collaborators?apiVersion=2022-11-28#get-repository-permissions-for-a-user
and returns the top level "permission" key.

This is less detailed than the user/permissions key but should be fine
for this
use case.

When a review is submitted we check:
* If it's an approval.
* Whether we have already left a merge on behalf comment (by looking for
a hidden HTML comment).
* Whether the author has permissions to merge their own PR. 
* Whether the reviewer has permissions to merge.

If needed we leave a comment tagging the reviewer. If the reviewer also
doesn't have merge permission, then it asks them to find someone else
who does.


  Commit: 89c1bf1230e011f2f0e43554c278205fa1819de5
      https://github.com/llvm/llvm-project/commit/89c1bf1230e011f2f0e43554c278205fa1819de5
  Author: James Westwood <james.westwood at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/test/Preprocessor/arm-target-features.c
    M llvm/include/llvm/TargetParser/ARMTargetParser.h
    M llvm/lib/TargetParser/ARMTargetParser.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [ARM] __ARM_ARCH macro definition fix (#81493)

This patch changes how the macro __ARM_ARCH is defined to match its
defintion in the ACLE. In ACLE 5.4.1, __ARM_ARCH is defined as equal to
the major architecture version for ISAs up to and including v8. From
v8.1 onwards, its definition is changed to include minor versions, such
that for an architecture vX.Y, __ARM_ARCH = X*100 + Y. Before this
patch, LLVM defined __ARM_ARCH using only the major architecture version
for all architecture versions. This patch adds functionality to define
__ARM_ARCH correctly for architectures greater than or equal to v8.1.


  Commit: 25b9ed6e4964344e3710359bec4c831e5a8448b9
      https://github.com/llvm/llvm-project/commit/25b9ed6e4964344e3710359bec4c831e5a8448b9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/load-combine.ll

  Log Message:
  -----------
  [DAGCombine] Fix multi-use miscompile in load combine (#81586)

The load combine replaces a number of original loads with one new loads
and also replaces the output chains of the original loads with the
output chain of the new load. This is incorrect if the original load is
retained (due to multi-use), as it may get incorrectly reordered.

Fix this by using makeEquivalentMemoryOrdering() instead, which will
create a TokenFactor with both chains.

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


  Commit: 4ad9f5be8348374ed2bfff32842f395f6e5f41a4
      https://github.com/llvm/llvm-project/commit/4ad9f5be8348374ed2bfff32842f395f6e5f41a4
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  ci: Temporarily disable the buildkite job on Windows (#81538)

The failure rate is too high.
See
https://discourse.llvm.org/t/rfc-future-of-windows-pre-commit-ci/76840


  Commit: 192c23b0c7e5d3daefc2ad7d86c095509749eacd
      https://github.com/llvm/llvm-project/commit/192c23b0c7e5d3daefc2ad7d86c095509749eacd
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    A llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
    A llvm/test/Transforms/SLPVectorizer/X86/vec3-gather-some-loads.ll
    A llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll

  Log Message:
  -----------
  [SLP] Add X86 version of non-power-of-2 vectorization tests.

Extra X86 tests for https://github.com/llvm/llvm-project/pull/77790.


  Commit: 485ebbff55f41bd12ad768c2974d3280cb581307
      https://github.com/llvm/llvm-project/commit/485ebbff55f41bd12ad768c2974d3280cb581307
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/CodeGenRegisters.h
    M llvm/utils/TableGen/SubtargetEmitter.cpp

  Log Message:
  -----------
  [TableGen] Use emplace_back instead of resize to size() + 1. NFC.


  Commit: 4f13f353cc8dc472a3f00932bc42179776f0f684
      https://github.com/llvm/llvm-project/commit/4f13f353cc8dc472a3f00932bc42179776f0f684
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  [NFC][LLVM][AsmWriter] Extract logic to write out ConstantFP from WriteConstantInternal.

This makes is easier to extend the code to support vector types.


  Commit: 987258f5c7801ebb4f7ce7c6a035634b275a5759
      https://github.com/llvm/llvm-project/commit/987258f5c7801ebb4f7ce7c6a035634b275a5759
  Author: Daniel Chen <cdchen at ca.ibm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/module/iso_c_binding.f90
    A flang/test/Driver/predefined-macros-powerpc.f90

  Log Message:
  -----------
  [Flang] Add __powerpc__ macro to set c_intmax_t to c_int64_t rather than c_int128_t as PowerPC only supports up to c_int64_t. (#81222)

PowerPC only supports up to `c_int64_t`. Add macro `__powerpc__` and
preprocess it for setting `c_intmax_t` in `iso_c_binding` intrinsic
module.


  Commit: 381a00de4fdcccd904dac6a0856fb44f12ba0abb
      https://github.com/llvm/llvm-project/commit/381a00de4fdcccd904dac6a0856fb44f12ba0abb
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [clang][Driver][HLSL] Fix formatting of clang-dxc options group title

Some extra `<>` and a missing full stop.


  Commit: 11fcae69dbea4860e20ab799ecca9b0432d7f19d
      https://github.com/llvm/llvm-project/commit/11fcae69dbea4860e20ab799ecca9b0432d7f19d
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/test/CodeGen/builtins.c
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/IntrinsicLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/CodeGen/AMDGPU/readsteadycounter.ll
    M llvm/test/CodeGen/NVPTX/intrinsics.ll
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelEmitter.td

  Log Message:
  -----------
  [LLVM] Add `__builtin_readsteadycounter` intrinsic and builtin for realtime clocks (#81331)

Summary:
This patch adds a new intrinsic and builtin function mirroring the
existing `__builtin_readcyclecounter`. The difference is that this
implementation targets a separate counter that some targets have which
returns a fixed frequency clock that can be used to determine elapsed
time, this is different compared to the cycle counter which often has
variable frequency.

This patch only adds support for the NVPTX and AMDGPU targets.

This is done as a new and separate builtin rather than an argument to
`readcyclecounter` to avoid needing to change existing code and to make
the separation more explicit.


  Commit: 1f90af183d7a007584fac041eaca9f126a1a942f
      https://github.com/llvm/llvm-project/commit/1f90af183d7a007584fac041eaca9f126a1a942f
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Do not speculatively grow RegUnitSets. NFC.

This seems to be a trick to avoid copying a RegUnitSet, but it can be
done more simply using std::move.


  Commit: 8ba4ff392538dac7b803cfdf5bde217ff538a644
      https://github.com/llvm/llvm-project/commit/8ba4ff392538dac7b803cfdf5bde217ff538a644
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX][NFC] Change specification of overload types and attribute in DXIL.td (#81184)

- Specify overload types of DXIL Operation as list of types instead of a
string.
- Add supported DXIL type record definitions to `DXIL.td` leveraging
`LLVMType` to avoid duplicate definitions.
 - Spell out DXIL Operation Attribute specification string.
 - Make corresponding changes to process the records in DXILEmitter.cpp


  Commit: 1d8479225a8c1efc8c90511e6c7fe608ff38163c
      https://github.com/llvm/llvm-project/commit/1d8479225a8c1efc8c90511e6c7fe608ff38163c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [clang][Driver] Small correction to print-runtime-dir


  Commit: d58c128bc42b8a9cc45516ba9fe9e6a3c322d7b3
      https://github.com/llvm/llvm-project/commit/d58c128bc42b8a9cc45516ba9fe9e6a3c322d7b3
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A lldb/tools/lldb-dap/Breakpoint.cpp
    A lldb/tools/lldb-dap/Breakpoint.h
    M lldb/tools/lldb-dap/BreakpointBase.cpp
    M lldb/tools/lldb-dap/BreakpointBase.h
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
    M lldb/tools/lldb-dap/FunctionBreakpoint.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/SourceBreakpoint.cpp
    M lldb/tools/lldb-dap/SourceBreakpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

  Log Message:
  -----------
  [lldb-dap][NFC] Add Breakpoint struct to share common logic. (#80753)

This adds a layer between `SounceBreakpoint`/`FunctionBreakpoint` and
`BreakpointBase` to have better separation and encapsulation so we are
not directly operating on `SBBreakpoint`.

I basically moved the `SBBreakpoint` and the methods that requires it
from `BreakpointBase` to `Breakpoint`. This allows adding support for
data watchpoint easier by sharing the logic inside `BreakpointBase`.


  Commit: 7a5c1a4abc750fef335c2ee5191d59ebe9e4bf18
      https://github.com/llvm/llvm-project/commit/7a5c1a4abc750fef335c2ee5191d59ebe9e4bf18
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [clang][docs] Fix warning in LanguageExtensions

build-llvm/tools/clang/docs/LanguageExtensions.rst:2768: WARNING: Title underline too short.


  Commit: 7a471133ef56bf6059b3e35125f86420ebbf3a33
      https://github.com/llvm/llvm-project/commit/7a471133ef56bf6059b3e35125f86420ebbf3a33
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    A mlir/test/Dialect/Linalg/transform-op-mmt4d-to-fma.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir

  Log Message:
  -----------
  [mlir][nfc] Add tests for linalg.mmt4d (#81422)

linalg.mmt4d was added a while back (https://reviews.llvm.org/D105244),
but there are virtually no tests in-tree. In the spirit of documenting
through test, this PR adds a few basic examples.


  Commit: f879ac0385d4c5f7b2b9f4807cd7bd4a78556c1c
      https://github.com/llvm/llvm-project/commit/f879ac0385d4c5f7b2b9f4807cd7bd4a78556c1c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/generic/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/RPC/rpc.h
    M libc/test/src/__support/RPC/rpc_smoke_test.cpp
    M libc/utils/gpu/server/rpc_server.cpp

  Log Message:
  -----------
  [libc] Rework the RPC interface to accept runtime wave sizes (#80914)

Summary:
The RPC interface needs to handle an entire warp or wavefront at once.
This is currently done by using a compile time constant indicating the
size of the buffer, which right now defaults to some value on the client
(GPU) side. However, there are currently attempts to move the `libc`
library to a single IR build. This is problematic as the size of the
wave fronts changes between ISAs on AMDGPU. The builitin
`__builtin_amdgcn_wavefrontsize()` will return the appropriate value,
but it is only known at runtime now.

In order to support this, this patch restructures the packet. Now
instead of having an array of arrays, we simply have a large array of
buffers and slice it according to the runtime value if we don't know it
ahead of time. This also somewhat has the advantage of making the buffer
contiguous within a page now that the header has been moved out of it.


  Commit: d79c3c50c45f2bd0acc0269dbedde9ddeed2d50e
      https://github.com/llvm/llvm-project/commit/d79c3c50c45f2bd0acc0269dbedde9ddeed2d50e
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/test/Lower/CUDA/cuda-proc-attribute.cuf

  Log Message:
  -----------
  [flang][cuda] Lower launch_bounds values (#81537)

This PR adds a new attribute to carry over the information from
`launch_bounds`. The new attribute `CUDALaunchBoundsAttr` holds 2 to 3
integer attrinbutes and is added to `func.func` operation.


  Commit: 1dacfd119071af50eaef21a97a46076ee6ff20fd
      https://github.com/llvm/llvm-project/commit/1dacfd119071af50eaef21a97a46076ee6ff20fd
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libc/src/time/gpu/nanosleep.cpp

  Log Message:
  -----------
  [libc] Round up time for GPU nanosleep implementation (#81630)

Summary:
The GPU `nanosleep` tests would occasionally fail. This was due to the
fact that we used integer division to determine how many ticks we had to
sleep for. This would then truncate, leaving us with a value just
slightly below the requested value. This would then occasionally leave
us with a return value of `-1`. This patch just changes the code to
round up by 1 so we always sleep for at least the requested value.


  Commit: e847abc5b47210de63455f67e58225121617873b
      https://github.com/llvm/llvm-project/commit/e847abc5b47210de63455f67e58225121617873b
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Remove trivial helper function hasRegUnit. NFC.


  Commit: a7cebadc10948ca1b9df1a740370f8ef7cef7e77
      https://github.com/llvm/llvm-project/commit/a7cebadc10948ca1b9df1a740370f8ef7cef7e77
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/CodeGenRegisters.cpp

  Log Message:
  -----------
  [TableGen] Trivial simplification in computeRegUnitSets. NFC.


  Commit: 9be7b0a539f673081bf8d1d5a5b08135190fd46d
      https://github.com/llvm/llvm-project/commit/9be7b0a539f673081bf8d1d5a5b08135190fd46d
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c

  Log Message:
  -----------
  [IRGen][AArch64][RISCV] Generalize bitcast between i1 predicate vector and i8 fixed vector. (#76548)

Instead of only handling vscale x 16 x i1 predicate vectors, handle any
scalable i1 vector where the known minimum is divisible by 8.

This is used on RISC-V where we have multiple sizes of predicate
types.


  Commit: 742a06f577b4c3b1c1f994e91bb6579ae89fe4b0
      https://github.com/llvm/llvm-project/commit/742a06f577b4c3b1c1f994e91bb6579ae89fe4b0
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.h

  Log Message:
  -----------
  [clang] Remove #undef alloca workaround (#81534)

Added in 26670dcba1609574cba5942aff78ff97b567c5f3 to workaround #4885.

Windows CI and a local Windows build are happy with this change, so it
seems like this has been properly fixed at some point. If this does
break somebody, this can be easily reverted. (Also, Linux does the same
`#define alloca` in system headers, so I'm not sure why it'd be
different on Windows)

This is tech debt that caused breakages, see comments on #71709.


  Commit: 9838c8512bc29e3a1b8edeb0eb2541160e4c727f
      https://github.com/llvm/llvm-project/commit/9838c8512bc29e3a1b8edeb0eb2541160e4c727f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/typepromotion-overflow.ll

  Log Message:
  -----------
  [RISCV] Copy typepromotion-overflow.ll from AArch64. NFC


  Commit: 7d40ea85d5ea5cc837536f61e3b4f80ea69f14d0
      https://github.com/llvm/llvm-project/commit/7d40ea85d5ea5cc837536f61e3b4f80ea69f14d0
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/lack-of-signed-truncation-check.ll
    M llvm/test/CodeGen/RISCV/signbit-test.ll
    M llvm/test/CodeGen/RISCV/signed-truncation-check.ll
    M llvm/test/CodeGen/RISCV/typepromotion-overflow.ll

  Log Message:
  -----------
  [RISCV] Enable the TypePromotion pass from AArch64/ARM.

This pass looks for unsigned icmps that have illegal types and tries
to widen the use/def graph to improve the placement of the zero
extends that type legalization would need to insert.

I've explicitly disabled it for i32 by adding a check for
isSExtCheaperThanZExt to the pass.

The generated code isn't perfect, but my data shows a net
dynamic instruction count improvement on spec2017 for both base and
Zba+Zbb+Zbs.


  Commit: 5e3c7e3aa48356a62a4b70d5d9d3e4ddd055a390
      https://github.com/llvm/llvm-project/commit/5e3c7e3aa48356a62a4b70d5d9d3e4ddd055a390
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/test/Lower/CUDA/cuda-proc-attribute.cuf

  Log Message:
  -----------
  [flang][cuda] Lower cluster_dims values (#81636)

This PR adds a new attribute to carry over the information from
`cluster_dims`. The new attribute `CUDAClusterDimsAttr` holds 3 integer
attributes and is added to `func.func` operation.


  Commit: 502a88bae799694d0ed90e1839cd7a0aacb6bc9d
      https://github.com/llvm/llvm-project/commit/502a88bae799694d0ed90e1839cd7a0aacb6bc9d
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.h

  Log Message:
  -----------
  [lldb][NFCI] Add header guard to PlatformRemoteAppleXR.h (#81565)


  Commit: 63198e0682058c81cd546cb1851e785cec1387ef
      https://github.com/llvm/llvm-project/commit/63198e0682058c81cd546cb1851e785cec1387ef
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/time/gpu/nanosleep.cpp
    M libc/src/time/gpu/time_utils.h

  Log Message:
  -----------
  [libc] Remove remaining GPU architecture dependent instructions (#81612)

Summary:
Recent patches have added solutions to the remaining sources of
divergence. This patch simply removes the last occures of things like
`has_builtin`, `ifdef` or builtins with feature requirements. The one
exception here is `nanosleep`, but I made changes in the
`__nvvm_reflect` pass to make usage like this actually work at O0.

Depends on https://github.com/llvm/llvm-project/pull/81331


  Commit: 16140ff219b68f61fedf92df13019d89a4990a47
      https://github.com/llvm/llvm-project/commit/16140ff219b68f61fedf92df13019d89a4990a47
  Author: Giuseppe Rossini <giuseppe.rossini at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [mlir][ROCDL] Add synchronization primitives (#80888)

This PR adds two LLVM intrinsics to MLIR:
- llvm.amdgcn.s.setprio which sets the priority of a wave for the GPU
scheduler
- llvm.amdgcn.sched.barrier which sets a software barrier so that the
scheduler cannot move instructions around


  Commit: c830c1205dc164b645edb9c40cccbe768d5b337c
      https://github.com/llvm/llvm-project/commit/c830c1205dc164b645edb9c40cccbe768d5b337c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libc/src/__support/GPU/nvptx/utils.h

  Log Message:
  -----------
  [libc] Remove leftover target dependent intrinsic

Summary:
I forgot to remove these because I thought I did it already. This caused
the build to fail when actually linked.


  Commit: 2422e969bf0a05b9b5cb4a6233a5f8dd335c2de5
      https://github.com/llvm/llvm-project/commit/2422e969bf0a05b9b5cb4a6233a5f8dd335c2de5
  Author: Mingming Liu <mingmingl at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/lib/ProfileData/InstrProf.cpp

  Log Message:
  -----------
  [NFC][InstrProf]Factor out getCanonicalName to compute the canonical name given a pgo name. (#81547)

- Also update the `InstrProf::addFuncWithName` to call the newly added
`getCanonicalName`.


  Commit: 79ce933114e46c891a5632f7ad4a004b93a5b808
      https://github.com/llvm/llvm-project/commit/79ce933114e46c891a5632f7ad4a004b93a5b808
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll
    M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
    M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.ll
    M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll

  Log Message:
  -----------
  [InstCombine] Extend `(lshr/shl (shl/lshr -1, x), x)` -> `(lshr/shl -1, x)` for multi-use

We previously did this iff the inner `(shl/lshr -1, x)` was
one-use. No instructions are added even if the inner `(shl/lshr -1,
x)` is multi-use and this canonicalization both makes the resulting
instruction easier to analyze and shrinks its dependency chain.

Closes #81576


  Commit: f79f58d5f1be370ccc212236e1c10b55835eb3c7
      https://github.com/llvm/llvm-project/commit/f79f58d5f1be370ccc212236e1c10b55835eb3c7
  Author: Prabhuk <prabhukrllvm at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.h

  Log Message:
  -----------
  Revert "[clang] Remove #undef alloca workaround" (#81649)

Reverts llvm/llvm-project#81534

llvm/llvm-project#81534 breaks building (Fuchsia) Clang toolchain on
Windows.

Log:
https://logs.chromium.org/logs/fuchsia/buildbucket/cr-buildbucket/8756186536543250705/+/u/clang/install/stdout
Builder:
https://ci.chromium.org/ui/p/fuchsia/builders/toolchain.ci/clang-windows-x64/b8756186536543250705/overview

```
FAILED: tools/clang/tools/extra/clang-include-fixer/tool/CMakeFiles/clang-include-fixer.dir/ClangIncludeFixer.cpp.obj 
C:\b\s\w\ir\x\w\cipd\bin\clang-cl.exe  /nologo -TP -DCLANG_REPOSITORY_STRING=\"https://llvm.googlesource.com/llvm-project\" -DGTEST_HAS_RTTI=0 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -IC:\b\s\w\ir\x\w\llvm_build\tools\clang\tools\extra\clang-include-fixer\tool -IC:\b\s\w\ir\x\w\llvm-llvm-project\clang-tools-extra\clang-include-fixer\tool -IC:\b\s\w\ir\x\w\llvm-llvm-project\clang\include -IC:\b\s\w\ir\x\w\llvm_build\tools\clang\include -IC:\b\s\w\ir\x\w\recipe_cleanup\tensorflow-venv\store\python_venv-q9i5kpsp0iun0ktmqgab125ti8\contents\Lib\site-packages\tensorflow\include -IC:\b\s\w\ir\x\w\llvm_build\include -IC:\b\s\w\ir\x\w\llvm-llvm-project\llvm\include -IC:\b\s\w\ir\x\w\llvm-llvm-project\clang-tools-extra\clang-include-fixer\tool\.. -imsvcC:\b\s\w\ir\x\w\zlib_install_target\include -imsvcC:\b\s\w\ir\x\w\zstd_install\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported /Gw -no-canonical-prefixes /O2 /Ob2  -std:c++17 -MT  /EHs-c- /GR- -UNDEBUG /showIncludes /Fotools\clang\tools\extra\clang-include-fixer\tool\CMakeFiles\clang-include-fixer.dir\ClangIncludeFixer.cpp.obj /Fdtools\clang\tools\extra\clang-include-fixer\tool\CMakeFiles\clang-include-fixer.dir\ -c -- C:\b\s\w\ir\x\w\llvm-llvm-project\clang-tools-extra\clang-include-fixer\tool\ClangIncludeFixer.cpp
In file included from C:\b\s\w\ir\x\w\llvm-llvm-project\clang-tools-extra\clang-include-fixer\tool\ClangIncludeFixer.cpp:11:
In file included from C:\b\s\w\ir\x\w\llvm-llvm-project\clang-tools-extra\clang-include-fixer\tool\..\IncludeFixer.h:15:
In file included from C:\b\s\w\ir\x\w\llvm-llvm-project\clang\include\clang/Sema/ExternalSemaSource.h:15:
In file included from C:\b\s\w\ir\x\w\llvm-llvm-project\clang\include\clang/AST/ExternalASTSource.h:18:
In file included from C:\b\s\w\ir\x\w\llvm-llvm-project\clang\include\clang/AST/DeclBase.h:18:
In file included from C:\b\s\w\ir\x\w\llvm-llvm-project\clang\include\clang/AST/DeclarationName.h:18:
In file included from C:\b\s\w\ir\x\w\llvm-llvm-project\clang\include\clang/Basic/IdentifierTable.h:18:
In file included from C:\b\s\w\ir\x\w\llvm-llvm-project\clang\include\clang/Basic/Builtins.h:63:
C:\b\s\w\ir\x\w\llvm_build\tools\clang\include\clang/Basic/Builtins.inc(151,1): error: redefinition of enumerator 'BI_alloca'
  151 | LANGBUILTIN(_alloca, "v*z", "n", ALL_MS_LANGUAGES)
      | ^
C:\b\s\w\ir\x\w\llvm_build\tools\clang\include\clang/Basic/Builtins.inc(15,54): note: expanded from macro 'LANGBUILTIN'
   15 | #  define LANGBUILTIN(ID, TYPE, ATTRS, BUILTIN_LANG) BUILTIN(ID, TYPE, ATTRS)
      |                                                      ^
C:\b\s\w\ir\x\w\llvm-llvm-project\clang\include\clang/Basic/Builtins.h(62,34): note: expanded from macro 'BUILTIN'
   62 | #define BUILTIN(ID, TYPE, ATTRS) BI##ID,
      |                                  ^
<scratch space>(72,1): note: expanded from here
   72 | BI_alloca
      | ^
C:\b\s\w\ir\x\w\llvm_build\tools\clang\include\clang/Basic/Builtins.inc(150,1): note: previous definition is here
  150 | LIBBUILTIN(alloca, "v*z", "fn", STDLIB_H, ALL_GNU_LANGUAGES)
      | ^
C:\b\s\w\ir\x\w\llvm_build\tools\clang\include\clang/Basic/Builtins.inc(11,61): note: expanded from macro 'LIBBUILTIN'
   11 | #  define LIBBUILTIN(ID, TYPE, ATTRS, HEADER, BUILTIN_LANG) BUILTIN(ID, TYPE, ATTRS)
      |                                                             ^
C:\b\s\w\ir\x\w\llvm-llvm-project\clang\include\clang/Basic/Builtins.h(62,34): note: expanded from macro 'BUILTIN'
   62 | #define BUILTIN(ID, TYPE, ATTRS) BI##ID,
      |                                  ^
<scratch space>(71,1): note: expanded from here
   71 | BI_alloca
      | ^
```


  Commit: e20462a069670c24ff512cca32688a29803852f4
      https://github.com/llvm/llvm-project/commit/e20462a069670c24ff512cca32688a29803852f4
  Author: Danila Malyutin <danilaml at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    A llvm/test/CodeGen/X86/statepoint-relocate-undef.ll

  Log Message:
  -----------
  [StatepointLowering] Use Constant instead of TargetConstant for undef value (#81635)

Prevents isel errors when trying to lower gc relocate of undef value
(which turns into CopyToReg of TargetConstant). Such relocates may occur
after DCE (e.g. after GVN removes some dead blocks) if there are not
passes like instcombine scheduled after to clean them up.

Fixes #80294

---------

Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>


  Commit: 9dd2c59312bfae3526cee5e836a6b67b2e9b4989
      https://github.com/llvm/llvm-project/commit/9dd2c59312bfae3526cee5e836a6b67b2e9b4989
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/test/Headers/__clang_hip_math.hip
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll

  Log Message:
  -----------
  InstCombine: Enable SimplifyDemandedUseFPClass and remove flag (#81108)

This completes the unrevert of ef388334ee5a3584255b9ef5b3fefdb244fa3fd7.


  Commit: fc0e9c8315564288f9079a633892abadace534cf
      https://github.com/llvm/llvm-project/commit/fc0e9c8315564288f9079a633892abadace534cf
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libcxx/docs/Modules.rst
    M libcxx/modules/CMakeLists.txt
    A libcxx/modules/CMakeLists.txt.in

  Log Message:
  -----------
  [libc++][modules] Re-add build dir CMakeLists.txt. (#81370)

This CMakeLists.txt is used to build modules without build system
support. This was removed in d06ae33ec32122bb526fb35025c1f0cf979f1090.
This is used in the documentation how to use modules.

Made some minor changes to make it work with the std.compat module using
the std module.

Note the CMakeLists.txt in the build dir should be removed once build
system support is generally available.


  Commit: a04c6366b156f508cdf84a32ef4484b53a6dabee
      https://github.com/llvm/llvm-project/commit/a04c6366b156f508cdf84a32ef4484b53a6dabee
  Author: jimingham <jingham at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Target/Thread.h
    M lldb/source/Expression/DWARFExpression.cpp

  Log Message:
  -----------
  Don't count all the frames just to skip the current inlined ones. (#80918)

The algorithm to find the DW_OP_entry_value requires you to find the
nearest non-inlined frame. It did that by counting the number of stack
frames so that it could use that as a loop stopper.

That is unnecessary and inefficient. Unnecessary because GetFrameAtIndex
will return a null frame when you step past the oldest frame, so you
already have the "got to the end" signal without counting all the stack
frames.
And counting all the stack frames can be expensive.


  Commit: a69ecb2420f644e31f18fcc61a07b3ca627e8939
      https://github.com/llvm/llvm-project/commit/a69ecb2420f644e31f18fcc61a07b3ca627e8939
  Author: jimingham <jingham at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/bindings/python/CMakeLists.txt
    M lldb/bindings/python/python-wrapper.swig
    M lldb/examples/python/cmdtemplate.py
    A lldb/examples/python/templates/parsed_cmd.py
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    A lldb/test/API/commands/command/script/add/TestAddParsedCommand.py
    A lldb/test/API/commands/command/script/add/test_commands.py
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp

  Log Message:
  -----------
  Add the ability to define a Python based command that uses CommandObjectParsed (#70734)

This allows you to specify options and arguments and their definitions
and then have lldb handle the completions, help, etc. in the same way
that lldb does for its parsed commands internally.

This feature has some design considerations as well as the code, so I've
also set up an RFC, but I did this one first and will put the RFC
address in here once I've pushed it...

Note, the lldb "ParsedCommand interface" doesn't actually do all the
work that it should. For instance, saying the type of an option that has
a completer doesn't automatically hook up the completer, and ditto for
argument values. We also do almost no work to verify that the arguments
match their definition, or do auto-completion for them. This patch
allows you to make a command that's bug-for-bug compatible with built-in
ones, but I didn't want to stall it on getting the auto-command checking
to work all the way correctly.

As an overall design note, my primary goal here was to make an interface
that worked well in the script language. For that I needed, for
instance, to have a property-based way to get all the option values that
were specified. It was much more convenient to do that by making a
fairly bare-bones C interface to define the options and arguments of a
command, and set their values, and then wrap that in a Python class
(installed along with the other bits of the lldb python module) which
you can then derive from to make your new command. This approach will
also make it easier to experiment.

See the file test_commands.py in the test case for examples of how this
works.


  Commit: be9f8ffd8141f7cadf04b1bef5dfc65a7b8a7fd7
      https://github.com/llvm/llvm-project/commit/be9f8ffd8141f7cadf04b1bef5dfc65a7b8a7fd7
  Author: David Truby <david.truby at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction.mlir

  Log Message:
  -----------
  [mlir][flang][openmp] Rework wsloop reduction operations (#80019)

This patch reworks the way that wsloop reduction operations function to
better match the expected semantics from the OpenMP specification,
following the rework of parallel reductions.

The new semantics create a private reduction variable as a block
argument which should be used normally for all operations on that
variable in the region; this private variable is then combined with the
others into the shared variable. This way no special omp.reduction
operations are needed inside the region. These block arguments follow
the loop control block arguments.

---------

Co-authored-by: Kiran Chandramohan <kiran.chandramohan at arm.com>


  Commit: 3985eda8ee729b9fc36aa1b1ef6afa716df5bbe9
      https://github.com/llvm/llvm-project/commit/3985eda8ee729b9fc36aa1b1ef6afa716df5bbe9
  Author: Richard Dzenis <richard at dzenis.dev>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/docs/CodingStandards.rst

  Log Message:
  -----------
  [docs] Update links for C++ compiler supported features in CodingStandards (#81587)


  Commit: 1b65742f8c71f576381fe85d5e34579b24f2d874
      https://github.com/llvm/llvm-project/commit/1b65742f8c71f576381fe85d5e34579b24f2d874
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
    M llvm/test/CodeGen/PowerPC/licm-remat.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep-inbounds.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/reorder-gep.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Reorder trivial GEP chains to separate constants (#73056)

In this case, a trivial GEP chain has the form:

```
%ptr = getelementptr sameType, %base, constant
%val = getelementptr sameType, %ptr, %variable
```

That is, a one-index GEP consumes another (of the same basis and result
type) one-index GEP, where the inner GEP uses a constant index and the
outer GEP uses a variable index. For chains of this type, it is trivial
to reorder them (by simply swapping the indexes). The result of doing so
is better AddrMode matching for users of the ultimate ptr produced by
GEP chain.

Future patches can extend this to support non-trivial GEP chains (e.g.
those with different basis types and/or multiple indices).


  Commit: 3a48630a4b25d50abefd945742c247f17bd61156
      https://github.com/llvm/llvm-project/commit/3a48630a4b25d50abefd945742c247f17bd61156
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p3.cpp
    A clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p4.cpp
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/drs/dr23xx.cpp
    M clang/test/CXX/temp/temp.decls/temp.class/temp.mem.enum/p1.cpp
    M clang/test/FixIt/fixit-c++11.cpp
    M clang/test/Parser/cxx-decl.cpp
    M clang/test/Parser/cxx0x-decl.cpp
    M clang/test/SemaCXX/cxx98-compat.cpp
    M clang/test/SemaCXX/enum-scoped.cpp

  Log Message:
  -----------
  [Clang][Sema] Diagnose friend declarations with enum elaborated-type-specifier in all language modes (#80171)

According to [dcl.type.elab] p4:
> If an _elaborated-type-specifier_ appears with the `friend` specifier
as an entire _member-declaration_, the _member-declaration_ shall have
one of the following forms:
>     `friend` _class-key_ _nested-name-specifier_(opt) _identifier_ `;`
>     `friend` _class-key_ _simple-template-id_ `;`
> `friend` _class-key_ _nested-name-specifier_ `template`(opt)
_simple-template-id_ `;`

Notably absent from this list is the `enum` form of an
_elaborated-type-specifier_ "`enum` _nested-name-specifier_(opt)
_identifier_", which appears to be intentional per the resolution of
CWG2363.

Most major implementations accept these declarations, so the diagnostic
is a pedantic warning across all C++ versions.

In addition to the trivial cases previously diagnosed in C++98, we now
diagnose cases where the _elaborated-type-specifier_ has a dependent
_nested-name-specifier_:
```
template<typename T>
struct A
{
    enum class E;
};

struct B
{
    template<typename T>
    friend enum A<T>::E; // pedantic warning: elaborated enumeration type cannot be a friend
};

template<typename T>
struct C
{
    friend enum T::E;  // pedantic warning: elaborated enumeration type cannot be a friend
};
```


  Commit: 27726920e0366c99f5c940d304ea442515738974
      https://github.com/llvm/llvm-project/commit/27726920e0366c99f5c940d304ea442515738974
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  [Flang][OpenMP] NFC: Code-format changes


  Commit: f5cc961240b327cac83041f04ea339859e7d5c9c
      https://github.com/llvm/llvm-project/commit/f5cc961240b327cac83041f04ea339859e7d5c9c
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/AttrKindDetail.h

  Log Message:
  -----------
  [mlir] Fix a warning

This patch fixes:

  mlir/lib/Target/LLVMIR/AttrKindDetail.h:65:1: error: unused function
  'getAttrNameToKindMapping' [-Werror,-Wunused-function]


  Commit: ec0aa1646e9953d1a8d0d15dc381d3250c854572
      https://github.com/llvm/llvm-project/commit/ec0aa1646e9953d1a8d0d15dc381d3250c854572
  Author: Jeffrey Byrnes <Jeffrey.Byrnes at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Fix test after 1b65742f8c71f576381fe85d5e34579b24f2d874

Change-Id: I7ced7774c80997d21969ab7886fc30c0c1e1cc81


  Commit: ac97562c99c3ae97f063048ccaf08ebdae60ac30
      https://github.com/llvm/llvm-project/commit/ac97562c99c3ae97f063048ccaf08ebdae60ac30
  Author: Xing Xue <xingxue at outlook.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M openmp/runtime/src/kmp_csupport.cpp
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_lock.cpp
    M openmp/runtime/src/kmp_lock.h

  Log Message:
  -----------
  [OpenMP][AIX]Define struct kmp_base_tas_lock with the order of two members swapped for big-endian (#79188)

The direct lock data structure has bit `0` (the least significant bit)
of the first 32-bit word set to `1` to indicate it is a direct lock. On
the other hand, the first word (in 32-bit mode) or first two words (in
64-bit mode) of an indirect lock are the address of the entry allocated
from the indirect lock table. The runtime checks bit `0` of the first
32-bit word to tell if this is a direct or an indirect lock. This works
fine for 32-bit and 64-bit little-endian because its memory layout of a
64-bit address is (`low word`, `high word`). However, this causes
problems for big-endian where the memory layout of a 64-bit address is
(`high word`, `low word`). If an address of the indirect lock table
entry is something like `0x110035300`, i.e., (`0x1`, `0x10035300`), it
is treated as a direct lock. This patch defines `struct
kmp_base_tas_lock` with the ordering of the two 32-bit members flipped
for big-endian PPC64 so that when checking/setting tags in member
`poll`, the second word (the low word) is used. This patch also changes
places where `poll` is not already explicitly specified for
checking/setting tags.


  Commit: c1a99b2c77499176362f24f09a39850867122ea4
      https://github.com/llvm/llvm-project/commit/c1a99b2c77499176362f24f09a39850867122ea4
  Author: James Y Knight <jyknight at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/test/CodeGen/SPARC/64atomics.ll
    M llvm/test/CodeGen/SPARC/atomicrmw-uinc-udec-wrap.ll

  Log Message:
  -----------
  [Sparc] limit MaxAtomicSizeInBitsSupported to 32 for 32-bit Sparc. (#81655)

When in 32-bit mode, the backend doesn't currently implement 64-bit
atomics, even though the hardware is capable if you have specified a V9
CPU. Thus, limit the width to 32-bit, for now, leaving behind a TODO.

This fixes a regression triggered by PR #73176.


  Commit: d0a1bf8b306afa565951c65b662713882a0d2481
      https://github.com/llvm/llvm-project/commit/d0a1bf8b306afa565951c65b662713882a0d2481
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/TypePromotion.cpp

  Log Message:
  -----------
  [TypePromotion] Remove an unreachable 'return false'. NFC

The if and the else above this both return so this is unreachable.
Delete it and remove the else after return.


  Commit: 4e005515ec5ecedf2cd986097e45cab59f9914da
      https://github.com/llvm/llvm-project/commit/4e005515ec5ecedf2cd986097e45cab59f9914da
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/UInt.h
    M libc/src/__support/float_to_string.h
    M libc/src/__support/integer_utils.h
    M libc/test/src/__support/uint_test.cpp

  Log Message:
  -----------
  [libc] Allow BigInt class to use base word types other than uint64_t. (#81634)

This will allow DyadicFloat class to replace NormalFloat class.


  Commit: f0b271e4ebd2180f497694838ec9db0b2fd8ab4b
      https://github.com/llvm/llvm-project/commit/f0b271e4ebd2180f497694838ec9db0b2fd8ab4b
  Author: Jim Ingham <jingham at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py

  Log Message:
  -----------
  Temporarily disable the TestAddParsedCommand.py while I figure out
why it's crashing on the x86_64 Debian Linux worker.


  Commit: 2400f704af18fd4b58ded158c3debe3b295accc6
      https://github.com/llvm/llvm-project/commit/2400f704af18fd4b58ded158c3debe3b295accc6
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir

  Log Message:
  -----------
  [mlir][sparse] add assemble test for Batched-CSR and CSR-Dense (#81660)

These are formats supported by PyTorch sparse, so good to make sure that
our assemble instructions work on these.


  Commit: 52961491ca347e7c8766dc7c45841bacac6a4470
      https://github.com/llvm/llvm-project/commit/52961491ca347e7c8766dc7c45841bacac6a4470
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/test/DebugInfo/X86/dwarfdump-str-offsets.s
    M llvm/test/DebugInfo/X86/skeleton-unit-verify.s
    M llvm/test/tools/llvm-dwarfdump/X86/verify_file_encoding.yaml
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-macro.test
    M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp

  Log Message:
  -----------
  [DWARFDump] Make --verify handle all sections by default (#81559)

The current behavior of --verify is that it only verifies debug_info,
debug_abbrev and debug_names. This seems fairly arbitrary and might have
been unintentional, as originally the absence of any section flags
implied "all".

This patch changes the behavior so that the verifier now verifies
everything by default. It revealed two tests that had potentially
invalid DWARF:

1. dwarfdump-str-offsets.s is adding padding between two
debug_str_offset contributions. The standard does not explicitly allow
this behavior. See issue
https://github.com/llvm/llvm-project/issues/81558

2. dwarf5-macro.test uses a checked-in binary that has invalid
debug_str_offsets. One of its entries points to the _middle_ of the
string section:

error: .debug_str_offsets: contribution 0x0: index 0x4: invalid string
offset *0x18 == 0x455D, is neither zero nor immediately following a null
character

If we look at the closest offset to 0x455D in debug_str:

```
0x0000454e: "__SLONG32_TYPE int"
```

0x455D points to "int".


  Commit: 91f4a84a1504e718e4f4d4eef5db7713dc30a030
      https://github.com/llvm/llvm-project/commit/91f4a84a1504e718e4f4d4eef5db7713dc30a030
  Author: Felipe de Azevedo Piovezan <fpiovezan at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
    A lldb/unittests/SymbolFile/DWARF/DWARFDebugNamesIndexTest.cpp

  Log Message:
  -----------
  [lldb][DWARFIndex] Use IDX_parent to implement GetFullyQualifiedType query (#79932)

This commit changes DebugNamesDWARFIndex so that it now overrides
`GetFullyQualifiedType` and attempts to use DW_IDX_parent, when
available, to speed up such queries. When this type of information is
not available, the base-class implementation is used.

With this commit, we now achieve the 4x speedups reported in [1].

[1]:
https://discourse.llvm.org/t/rfc-improve-dwarf-5-debug-names-type-lookup-parsing-speed/74151/38


  Commit: fa77e1f5468bc6be99da89860f42059df13d3b82
      https://github.com/llvm/llvm-project/commit/fa77e1f5468bc6be99da89860f42059df13d3b82
  Author: Jeremy Morse <jeremy.morse at sony.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp

  Log Message:
  -----------
  [DebugInfo][RemoveDIs] Convert back to intrinsic form for ThinLTO

As explained on discourse [0] (comment 12), to get the non-intrinsic form
of debug-info records enabled and testing, we're only using it inside of
the pass manager in LLVM right now. Things like the textual IR writer and
bitcode writing _passes_ are instrumented to convert back to
intrinsic-form when writing a module out, but it turns out we missed the
ThinLTO bitcode writing pass. That causes uh, all variable location
debug-info to be dropped in ThinLTO mode (oops).

This patch adds that conversion; it should be low risk as it's identical to
what happens in all the other passes. However should this commit turn out
to cause trouble, please instead revert d759618df76 or whichever is the
most recent commit to set UseNewDbgInfoFormat to default to true. That'll
revert LLVM back to the definitely-correct behaviour.

[0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939


  Commit: 99c5a66c62ae6b818fcc62a4d9c936ba9d82bdce
      https://github.com/llvm/llvm-project/commit/99c5a66c62ae6b818fcc62a4d9c936ba9d82bdce
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
    M llvm/test/CodeGen/PowerPC/licm-remat.ll
    R llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep-inbounds.ll
    R llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    R llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
    R llvm/test/Transforms/SeparateConstOffsetFromGEP/reorder-gep.ll

  Log Message:
  -----------
  Revert "[SeparateConstOffsetFromGEP] Reorder trivial GEP chains to separate constants (#73056)" and follow ups

"ninja check-llvm" is failing on tip of tree.

This reverts commit ec0aa1646e9953d1a8d0d15dc381d3250c854572.
This reverts commit 1b65742f8c71f576381fe85d5e34579b24f2d874.


  Commit: 8c56e78ec531f0e2460213c20fff869b6b7add99
      https://github.com/llvm/llvm-project/commit/8c56e78ec531f0e2460213c20fff869b6b7add99
  Author: Zequan Wu <zequanwu at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    A lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
    A lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    A lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAPForward.h
    A lldb/tools/lldb-dap/Watchpoint.cpp
    A lldb/tools/lldb-dap/Watchpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

  Log Message:
  -----------
  [lldb-dap] Add support for data breakpoint. (#81541)

This implements functionality to handle `DataBreakpointInfo` request and
`SetDataBreakpoints` request.

If variablesReference is 0 or not provided, interpret name as ${number
of bytes}@${expression} to set data breakpoint at the given expression
because the spec
https://microsoft.github.io/debug-adapter-protocol/specification#Requests_DataBreakpointInfo
doesn't say how the client could specify the number of bytes to watch.

This is based on top of https://github.com/llvm/llvm-project/pull/80753.


  Commit: 473ef10b0fc93eeb2cbb3b2cf2f1b748eac6ddd9
      https://github.com/llvm/llvm-project/commit/473ef10b0fc93eeb2cbb3b2cf2f1b748eac6ddd9
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll

  Log Message:
  -----------
  [WebAssembly] Demote PHIs in catchswitch BB only (#81570)

`DemoteCatchSwitchPHIOnly` option in `WinEHPrepare` pass was added in
https://github.com/llvm/llvm-project/commit/99d60e0dabcf20f4db683da83cde905b7a1373de,
because Wasm EH uses `WinEHPrepare`, but it doesn't need to demote all
PHIs. PHIs in `catchswitch` BBs have to be removed (= demoted) because
`catchswitch`s are removed in ISel and `catchswitch` BBs are removed as
well, so they can't have other instructions.

But because Wasm EH doesn't use funclets, so PHIs in `catchpad` or
`cleanuppad` BBs don't need to be demoted. That was the reason
`DemoteCatchSwitchPHIOnly` option was added, in order not to demote more
instructions unnecessarily.

The problem is it should have been set to `true` for Wasm EH. (Its
default value is `false` for WinEH) And I mistakenly set it to `false`
and wasn't aware about this for more than 5 years. This was not the end
of the world; it just means we've been demoting more instructions than
we should, possibly huting code size. In practice I think it would've
had hardly any effect in real performance given that the occurrence of
PHIs in `catchpad` or `cleanuppad` BBs are not very frequent and many
people run other optimizers like Binaryen anyway.


  Commit: fd3a0c185f177351207783fc2a604dac086cdaf7
      https://github.com/llvm/llvm-project/commit/fd3a0c185f177351207783fc2a604dac086cdaf7
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  Revert "Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default""

This reverts commit d759618df76361a8e490eeae5c5399e0738cbfd0.

Causes crashes, see comments in https://github.com/llvm/llvm-project/commit/d759618df76361a8e490eeae5c5399e0738cbfd0.


  Commit: 84277fe90f98edfa8fb7b7f06ab430610ef85248
      https://github.com/llvm/llvm-project/commit/84277fe90f98edfa8fb7b7f06ab430610ef85248
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    A libc/cmake/modules/compiler_features/check_fixed_point.cpp
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/math/index.rst
    A libc/docs/math/stdfix.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/stdfix-macros.h
    A libc/include/stdfix.h.def
    A libc/spec/stdc_ext.td

  Log Message:
  -----------
  [libc][stdfix] Generate stdfix.h header with fixed point precision macros according to ISO/IEC TR 18037:2008 standard, and add fixed point type support detection. (#81255)

Fixed point extension standard:
https://standards.iso.org/ittf/PubliclyAvailableStandards/c051126_ISO_IEC_TR_18037_2008.zip


  Commit: 9f87bfe8bf2a3bd9b761e61c3cea3ccfec0553ec
      https://github.com/llvm/llvm-project/commit/9f87bfe8bf2a3bd9b761e61c3cea3ccfec0553ec
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/Analysis/CMakeLists.txt

  Log Message:
  -----------
  [SPIRV] Add to LINK_COMPONENTS to fix BUILD_SHARED_LIBS build

Fixes: 7b08b4360b488b35428c97132b3f9d2a777bd770


  Commit: c92bf6b689a1b6c662f3fb30318c67257dbca864
      https://github.com/llvm/llvm-project/commit/c92bf6b689a1b6c662f3fb30318c67257dbca864
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/unittests/Target/SPIRV/CMakeLists.txt

  Log Message:
  -----------
  [SPIRV] Add to LINK_COMPONENTS to fix BUILD_SHARED_LIBS check

Fixes: 7b08b4360b488b35428c97132b3f9d2a777bd770


  Commit: 5b386158aacac4b41126983a5379d36ed413d0ea
      https://github.com/llvm/llvm-project/commit/5b386158aacac4b41126983a5379d36ed413d0ea
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/configuration.py
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/test_result.py
    M lldb/test/API/commands/expression/test/TestExprs.py
    M lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/TestThreadPlanUserBreakpoint.py
    M lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
    M lldb/test/API/functionalities/thread/state/TestThreadStates.py
    M lldb/test/API/functionalities/tty/TestTerminal.py
    M lldb/test/API/lang/c/shared_lib/TestSharedLib.py
    M lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
    M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
    M lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py
    M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
    M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
    M lldb/test/API/lldbtest.py
    M lldb/test/API/macosx/universal/TestUniversal.py
    M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
    M lldb/test/API/tools/lldb-server/test/test_lldbgdbserverutils.py

  Log Message:
  -----------
  [lldb][test] Switch LLDB API tests from vendored unittest2 to unittest (#79945)

This removes the dependency LLDB API tests have on
lldb/third_party/Python/module/unittest2, and instead uses the standard
one provided by Python.

This does not actually remove the vendored dep yet, nor update the docs.
I'll do both those once this sticks.

Non-trivial changes to call out:
- expected failures (i.e. "bugnumber") don't have a reason anymore, so
those params were removed
- `assertItemsEqual` is now called `assertCountEqual`
- When a test is marked xfail, our copy of unittest2 considers failures
during teardown to be OK, but modern unittest does not. See
TestThreadLocal.py. (Very likely could be a real bug/leak).
- Our copy of unittest2 was patched to print all test results, even ones
that don't happen, e.g. `(5 passes, 0 failures, 1 errors, 0 skipped,
...)`, but standard unittest prints a terser message that omits test
result types that didn't happen, e.g. `OK (skipped=1)`. Our lit
integration parses this stderr and needs to be updated w/ that
expectation.

I tested this w/ `ninja check-lldb-api` on Linux. There's a good chance
non-Linux tests have similar quirks, but I'm not able to uncover those.


  Commit: 137bd782959523e8168c346bc8801d0b14f684c5
      https://github.com/llvm/llvm-project/commit/137bd782959523e8168c346bc8801d0b14f684c5
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Dialect/FIRDialect.h
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp

  Log Message:
  -----------
  [flang] Register LLVMTranslationDialectInterface for FIR. (#81668)

Register the LLVM IR translation interface for FIR to avoid
warnings about "Unhandled parameter attribute" after #78228.


  Commit: e06f3522cc55cec60084a1278109ab236ef7a3ee
      https://github.com/llvm/llvm-project/commit/e06f3522cc55cec60084a1278109ab236ef7a3ee
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Emit fixits for array decayed to pointer (#80347)

Covers cases where DeclRefExpr referring to a const-size array decays to a
pointer and is used "as a pointer" (e. g. passed to a pointer type
parameter).

Since std::array<T, N> doesn't implicitly convert to pointer to its element
type T* the cast needs to be done explicitly as part of the fixit
when we retrofit std::array to code that previously worked with constant
size array. std::array::data() method is used for the explicit
cast.

In terms of the fixit machine this covers the UPC(DRE) case for Array fixit strategy.
The emitted fixit inserts call to std::array::data() method similarly to
analogous fixit for Span strategy.


  Commit: 017675fff116c26bef7f0a389c983c909a3141fd
      https://github.com/llvm/llvm-project/commit/017675fff116c26bef7f0a389c983c909a3141fd
  Author: Artem Dergachev <adergachev at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
    M clang/test/Analysis/ObjCRetSigs.m
    M clang/test/Analysis/objc_invalidation.m
    M clang/test/Analysis/suppression-attr-doc.cpp
    A clang/test/Analysis/suppression-attr.cpp
    M clang/test/Analysis/suppression-attr.m
    M clang/test/Analysis/unused-ivars.m
    M clang/test/SemaCXX/attr-suppress.cpp
    M clang/test/SemaObjC/attr-suppress.m

  Log Message:
  -----------
  [attributes][analyzer] Generalize [[clang::suppress]] to declarations. (#80371)

The attribute is now allowed on an assortment of declarations, to
suppress warnings related to declarations themselves, or all warnings in
the lexical scope of the declaration.

I don't necessarily see a reason to have a list at all, but it does look
as if some of those more niche items aren't properly supported by the
compiler itself so let's maintain a short safe list for now.

The initial implementation raised a question whether the attribute
should apply to lexical declaration context vs. "actual" declaration
context. I'm using "lexical" here because it results in less warnings
suppressed, which is the conservative behavior: we can always expand it
later if we think this is wrong, without breaking any existing code. I
also think that this is the correct behavior that we will probably never
want to change, given that the user typically desires to keep the
suppressions as localized as possible.


  Commit: 0de2b26942f890a6ec84cd75ac7abe3f6f2b2e37
      https://github.com/llvm/llvm-project/commit/0de2b26942f890a6ec84cd75ac7abe3f6f2b2e37
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll

  Log Message:
  -----------
  [RISCV] Register fixed stack slots for callee saved registers for -msave-restore/Zcmp (#81392)

PEI previously used fake frame indices for these callee saved registers.
These fake frame indices are not register with MachineFrameInfo. This
required them to be deleted form CalleeSavedInfo after PEI to avoid
breaking later passes. See #79535

Unfortunately, removing the registers from CalleeSavedInfo pessimizes
Interprocedural Register Allocation. The RegUsageInfoCollector pass runs
after PEI and uses CalleeSavedInfo.

This patch replaces #79535 by properly creating fixed stack objects
through MachineFrameInfo. This changes the stack size and offsets
returned by MachineFrameInfo which requires changes to how
RISCVFrameLowering uses that information.

In addition to the individual object for each register, I've also create
a single large fixed object that covers the entire stack area covered by
cm.push or the libcalls. cm.push must always push a multiple of 16 bytes
and the save restore libcall pushes a multiple of stack align. I think
this leaves holes in the stack where we could spill other registers, but
it matches what we did previously. Maybe we can optimize this in the
future.

The only test changes are due to stack alignment handling after the
callee save registers. Since we now have the fixed objects, on the stack
the offset is non-zero when an aligned object is processed so the offset
gets rounded up, increasing the stack size.

I suspect we might need some more updates for RVV related code. There is
very little or maybe even no testing of RVV mixed with Zcmp and
save-restore.


  Commit: cb1a9f70ecb22d48df1919bd54daf64bfaa08864
      https://github.com/llvm/llvm-project/commit/cb1a9f70ecb22d48df1919bd54daf64bfaa08864
  Author: Danila Malyutin <danilaml at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/test/Transforms/InstSimplify/gc_relocate.ll

  Log Message:
  -----------
  [InstSimplify] Add trivial simplifications for gc.relocate intrinsic (#81639)

Fold gc.relocate of undef and null to undef and null respectively.

Similar transform is currently done by instcombine, but there is no
reason to not include it here as well.


  Commit: 4bc2a4f64ff71dae42c80faf34fa8aa7885f6b3d
      https://github.com/llvm/llvm-project/commit/4bc2a4f64ff71dae42c80faf34fa8aa7885f6b3d
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

  Log Message:
  -----------
  [gn] fix typo in 8c56e78ec531

The missing trailing comma confuses the sync script.


  Commit: bf3d5dbe2fc7e558b4627637de53ea2bcf6bb8eb
      https://github.com/llvm/llvm-project/commit/bf3d5dbe2fc7e558b4627637de53ea2bcf6bb8eb
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lld/ELF/Arch/LoongArch.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/Thunks.cpp
    M lld/test/ELF/arm-thumb-thunk-v6m-xo.s

  Log Message:
  -----------
  [lld/ELF] fix typos to cycle bots


  Commit: a6b846ae1e58e11160185e427e20a995f6656859
      https://github.com/llvm/llvm-project/commit/a6b846ae1e58e11160185e427e20a995f6656859
  Author: ZijunZhaoCCK <88353225+ZijunZhaoCCK at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M libcxx/docs/Status/RangesAlgorithms.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__algorithm/ranges_contains_subrange.h
    M libcxx/include/algorithm
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap.in
    M libcxx/modules/std/algorithm.inc
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains_subrange.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] Implement ranges::contains_subrange (#66963)


  Commit: 9168a2119cf6b5cc7105d201683bb0d1a84b441b
      https://github.com/llvm/llvm-project/commit/9168a2119cf6b5cc7105d201683bb0d1a84b441b
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn

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


  Commit: 3122969e8e2404c1eb0b9c660bd979e1001c42fd
      https://github.com/llvm/llvm-project/commit/3122969e8e2404c1eb0b9c660bd979e1001c42fd
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir

  Log Message:
  -----------
  [mlir][sparse] add doubly compressed test case to assembly op (#81687)

Removes audit TODO


  Commit: 3647ff159a2f2445c45d9cbb4f8791b5f30da16b
      https://github.com/llvm/llvm-project/commit/3647ff159a2f2445c45d9cbb4f8791b5f30da16b
  Author: Jim Ingham <jingham at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py

  Log Message:
  -----------
  Used std::vector::reserve when I meant std::vector::resize.

The Linux std has more asserts enabled by default, so it
complained, even though this worked on Darwin...


  Commit: f45b9d987dfc5904d4129aa006ab20614b3174e3
      https://github.com/llvm/llvm-project/commit/f45b9d987dfc5904d4129aa006ab20614b3174e3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/test/CodeGen/RISCV/ntlh-intrinsics/riscv32-zihintntl.c
    A clang/test/CodeGen/RISCV/riscv-metadata-arch.c

  Log Message:
  -----------
  [RISCV] Add canonical ISA string as Module metadata in IR. (#80760)

In an LTO build, we don't set the ELF attributes to indicate what
extensions were compiled with. The target CPU/Attrs in
RISCVTargetMachine do not get set for an LTO build. Each function gets a
target-cpu/feature attribute, but this isn't usable to set ELF attributs
since we wouldn't know what function to use. We can't just once since it
might have been compiler with an attribute likes target_verson.

This patch adds the ISA as Module metadata so we can retrieve it in the
backend. Individual translation units can still be compiled with
different strings so we need to collect the unique set when Modules are
merged.

The backend will need to combine the unique ISA strings to produce a
single value for the ELF attributes. This will be done in a separate
patch.


  Commit: 21630efb5a8f411cdf39b15f21a104888145b03f
      https://github.com/llvm/llvm-project/commit/21630efb5a8f411cdf39b15f21a104888145b03f
  Author: Pranav Kant <prka at google.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
    M llvm/test/CodeGen/X86/fp128-libcalls.ll

  Log Message:
  -----------
  [X86][CodeGen] Restrict F128 lowering to GNU environment (#81664)

Otherwise it breaks some environment like X64 Android that doesn't have
f128 functions available in its libc.

Followup to #79611.


  Commit: 429919e32823ad735a19ab385f37e313512cedde
      https://github.com/llvm/llvm-project/commit/429919e32823ad735a19ab385f37e313512cedde
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/test/Integration/Dialect/SparseTensor/python/test_SDDMM.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_SpMM.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_output.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_stress.py
    M mlir/test/python/dialects/sparse_tensor/dialect.py

  Log Message:
  -----------
  [mlir][sparse][pybind][CAPI] remove LevelType enum from CAPI, constru… (#81682)

…ct LevelType from LevelFormat and properties instead.

**Rationale**
We used to explicitly declare every possible combination between
`LevelFormat` and `LevelProperties`, and it now becomes difficult to
scale as more properties/level formats are going to be introduced.


  Commit: 1ec81976e4937ea9a09cefd41f25b3c5d1394f2c
      https://github.com/llvm/llvm-project/commit/1ec81976e4937ea9a09cefd41f25b3c5d1394f2c
  Author: Jim Ingham <jingham at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py

  Log Message:
  -----------
  Temporarily skip this test for Python 3.9.

When the parsed command python code is run on 3.9, I get:

File ".../lib/python3.9/site-packages/lldb/plugins/parsed_cmd.py", line 124, in translate_value
    return cls.translators[value_type](value)
TypeError: 'staticmethod' object is not callable

But this works correctly in Python 3.10 on macOS and Linux.  I'm guessing something
changed between those versions, and I'll have to do something to work around the difference.
But I'm going to skip the test on 3.9 while I figure that out.


  Commit: 7180c23cf695dcfaa62fad4141afc7d7bdc707c1
      https://github.com/llvm/llvm-project/commit/7180c23cf695dcfaa62fad4141afc7d7bdc707c1
  Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
    M llvm/test/CodeGen/PowerPC/licm-remat.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep-inbounds.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/reorder-gep.ll

  Log Message:
  -----------
  [SeparateConstOffsetFromGEP] Reland: Reorder trivial GEP chains to separate constants (#81671)

Actually update tests w.r.t
https://github.com/llvm/llvm-project/commit/9e5a77f252badfc932d1e28ee998746072ddc33f
and reland https://github.com/llvm/llvm-project/pull/73056


  Commit: 29d1aca05caa06e30d7a76ee15fd166fa32e1043
      https://github.com/llvm/llvm-project/commit/29d1aca05caa06e30d7a76ee15fd166fa32e1043
  Author: erman-gurses <99776114+erman-gurses at users.noreply.github.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/CMakeLists.txt
    A mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.h
    A mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
    A mlir/include/mlir/Dialect/AMDGPU/TransformOps/CMakeLists.txt
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
    A mlir/lib/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.cpp
    A mlir/lib/Dialect/AMDGPU/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
    A mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [AMDGPU][MLIR]Add shmem-optimization as an op using transform dialect (#81550)

This PR adds functionality to use shared memory optimization as an op
using transform dialect.


  Commit: 22d2f3aa3097feb9a91c6d7b8ef611a1cde6d0d5
      https://github.com/llvm/llvm-project/commit/22d2f3aa3097feb9a91c6d7b8ef611a1cde6d0d5
  Author: Jim Ingham <jingham at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M lldb/examples/python/templates/parsed_cmd.py
    M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py

  Log Message:
  -----------
  Move the parsed_cmd conversion def's to module level functions.

Python3.9 does not allow you to put a reference to a class staticmethod
in a table and call it from there.  Python3.10 and following do allow
this, but we still support 3.9.  staticmethod was slightly cleaner,
but this will do.


  Commit: edff3ff4d37a9e051e33146393b064ce987af252
      https://github.com/llvm/llvm-project/commit/edff3ff4d37a9e051e33146393b064ce987af252
  Author: Michael Spencer <bigcheesegs at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A llvm/include/llvm/Support/ExponentialBackoff.h
    M llvm/lib/Support/CMakeLists.txt
    A llvm/lib/Support/ExponentialBackoff.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/ExponentialBackoffTest.cpp

  Log Message:
  -----------
  [llvm][Support] Add ExponentialBackoff helper (#81206)

This provides a simple way to implement exponential backoff using a do
while loop.

Usage example (also see the change to LockFileManager.cpp):
```
ExponentialBackoff Backoff(10s);
do {
  if (tryToDoSomething())
    return ItWorked;
} while (Backoff.waitForNextAttempt());
return Timeout;
```

Abstracting this out of `LockFileManager` as the module build daemon
will need it.


  Commit: 14b0d0de1fb3e55d16fac70a69980a003106d0aa
      https://github.com/llvm/llvm-project/commit/14b0d0de1fb3e55d16fac70a69980a003106d0aa
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn

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


  Commit: 09e98950bfcff7ad376922932efb2b56e4db9898
      https://github.com/llvm/llvm-project/commit/09e98950bfcff7ad376922932efb2b56e4db9898
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    A clang/include/clang/Frontend/InstallAPIOptions.h
    A clang/include/clang/InstallAPI/Context.h
    M clang/lib/CMakeLists.txt
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Frontend/CMakeLists.txt
    M clang/lib/Frontend/CompilerInvocation.cpp
    A clang/lib/Frontend/InstallAPIConsumer.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    A clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/Context.cpp
    M clang/test/CMakeLists.txt
    A clang/test/Driver/installapi.h
    A clang/test/InstallAPI/installapi-basic.test
    M clang/test/lit.cfg.py

  Log Message:
  -----------
   [clang][InstallAPI] Introduce basic driver to write out tbd files (#81571)

This introduces a basic outline of installapi as a clang driver option.
It captures relevant information as cc1 args, which are common arguments
already passed to the linker to encode into TBD file outputs. This is
effectively an upstream for what already exists as `tapi installapi` in
Xcode toolchains, but directly in Clang. This patch does not handle any
AST traversing on input yet.

InstallAPI is broadly an operation that takes a series of header files
that represent a single dynamic library and generates a TBD file out of
it which represents all the linkable symbols and necessary attributes
for statically linking in clients. It is the linkable object in all
Apple SDKs and when building dylibs in Xcode. `clang -installapi` also
will support verification where it compares all the information recorded
for the TBD files against the already built binary, to catch possible
mismatches like when a declaration is missing a definition for an
exported symbol.


  Commit: a3f61c8bfd277e0e6d65695f739f4432fb1fd721
      https://github.com/llvm/llvm-project/commit/a3f61c8bfd277e0e6d65695f739f4432fb1fd721
  Author: Micah Weston <micahsweston at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    A llvm/test/tools/obj2yaml/ELF/bb-addr-map-pgo-analysis-map.yaml
    A llvm/test/tools/yaml2obj/ELF/bb-addr-map-pgo-analysis-map.yaml
    M llvm/tools/obj2yaml/elf2yaml.cpp

  Log Message:
  -----------
  [SHT_LLVM_BB_ADDR_MAP][obj2yaml] Implements PGOAnalysisMap for elf2yaml and tests. (#80924)

Adds support to obj2yaml for PGO Analysis Map. Adds a test to both
obj2yaml and yaml2obj.


  Commit: ec5f4a4bc6f27b044bc73668414ecefe9690d283
      https://github.com/llvm/llvm-project/commit/ec5f4a4bc6f27b044bc73668414ecefe9690d283
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/InstallAPI/CMakeLists.txt

  Log Message:
  -----------
  [InstallAPI] Add missing link to clangBasic

Fixes CI.


  Commit: 3f738a4c55dfb6476c47cab30e878cf5f0643351
      https://github.com/llvm/llvm-project/commit/3f738a4c55dfb6476c47cab30e878cf5f0643351
  Author: Mariusz Borsa <wrotki at msn.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M compiler-rt/lib/asan_abi/asan_abi_shim.cpp

  Log Message:
  -----------
  [Sanitizers][ABI] Remove too strong assert in asan_abi_shim (#81696)

Recently we enabled building the shim for arm64_32 arch. On this arch,
sizeof(uptr) == sizeof(unsigned long) == 4 - so this assert will fail in
runtime.

Need to just remove this assert

rdar://122927166

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


  Commit: bc08cc2ac8b0fc0898d191e36db08d136d659f7d
      https://github.com/llvm/llvm-project/commit/bc08cc2ac8b0fc0898d191e36db08d136d659f7d
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/Tensor/canonicalize.mlir

  Log Message:
  -----------
  [mlir][tensor] Add support for tensor.pack static shapes inference. (#80848)

Fixes https://github.com/openxla/iree/issues/16317


  Commit: b9567bc78f42a6850ddf3b3cf3f9a0d2cc08ffff
      https://github.com/llvm/llvm-project/commit/b9567bc78f42a6850ddf3b3cf3f9a0d2cc08ffff
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Use SelectionDAG::getVScale in lowerVPReverseExperimental. NFCI (#81694)

Use a slightly more idiomatic way of getting vscale. getVScale
performs additional constant folding, but I presume computeKnownBits
also catches these cases too.


  Commit: 69bcb69bbac05c52129ffcae4f8995c2914ff3fc
      https://github.com/llvm/llvm-project/commit/69bcb69bbac05c52129ffcae4f8995c2914ff3fc
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in TensorOps.cpp (NFC)


  Commit: a854982aa10725571409c367ab59da7c809b59f4
      https://github.com/llvm/llvm-project/commit/a854982aa10725571409c367ab59da7c809b59f4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-simplify-boolean-expr in TensorOps.cpp (NFC)


  Commit: d2f067693becb25e4479712c8290d321bf83d4bd
      https://github.com/llvm/llvm-project/commit/d2f067693becb25e4479712c8290d321bf83d4bd
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-identifier-naming in TosaOps.cpp (NFC)


  Commit: 153661db5c7b2b49c4bde1d91410952933e6c584
      https://github.com/llvm/llvm-project/commit/153661db5c7b2b49c4bde1d91410952933e6c584
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in TransformOps.cpp (NFC)


  Commit: 70ebc78efb5df33395603329f4622b51f2c259ce
      https://github.com/llvm/llvm-project/commit/70ebc78efb5df33395603329f4622b51f2c259ce
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for performance-unnecessary-value-param in TransformOps.cpp (NFC)


  Commit: 61c83e9491b2be71a54b255cdb11f65365245953
      https://github.com/llvm/llvm-project/commit/61c83e9491b2be71a54b255cdb11f65365245953
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/FormatTokenLexer.h
    M clang/lib/Format/IntegerLiteralSeparatorFixer.cpp
    M clang/lib/Format/TokenAnalyzer.cpp
    M clang/lib/Format/TokenAnalyzer.h

  Log Message:
  -----------
  Revert "[clang-format][NFC] Make LangOpts global in namespace Format"

This reverts commit 32e65b0b8a743678974c7ca7913c1d6c41bb0772.

It seems to break some PowerPC bots.

See https://github.com/llvm/llvm-project/pull/81390#issuecomment-1941964803.


  Commit: eafe98f937c790632452d1ab741477e4fb7e5531
      https://github.com/llvm/llvm-project/commit/eafe98f937c790632452d1ab741477e4fb7e5531
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  [clang-format] Always add a space after #if and #elif (#81578)

Fixes #81569.


  Commit: 3537ccccfe4e01ce79b3e9b6bb6ed378d8752fd1
      https://github.com/llvm/llvm-project/commit/3537ccccfe4e01ce79b3e9b6bb6ed378d8752fd1
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Add missing dependency after 29d1aca05caa06e30d7a76ee15fd166fa32e1043


  Commit: e6253102a7c63d73594699d93b1b412f0795ec11
      https://github.com/llvm/llvm-project/commit/e6253102a7c63d73594699d93b1b412f0795ec11
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

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

  Log Message:
  -----------
  [DAGCombiner] Remove unnecessary commonAlignment from CombineExtLoad. (#81705)

The getAlign function for a load returns the commonAlignment of the
"base align" and the offset stored in the MachinePointerInfo.

We're splitting a load here, so we should take the base alignment from
the original load without any offset that may already exist in the
original load. The new load can then maintain its own alignment using
just the base alignment and its own offset.

Noticed by inspection.


  Commit: 86ce491f308768137df627be9f32f6c191d809b2
      https://github.com/llvm/llvm-project/commit/86ce491f308768137df627be9f32f6c191d809b2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-13 (Tue, 13 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/fold-sext-trunc.ll
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_isel.ll.expected

  Log Message:
  -----------
  [DAGCombiner] Remove unneeded commonAlignment from reduceLoadWidth. (#81707)

We already have the PtrOff factored into MachinePointerInfo. Any calls
to getAlign on the new load with do commonAlignment with the
MachinePointerInfo offset and the base alignment.


  Commit: b5d694ba14524e0161421b13c875747d5fa917de
      https://github.com/llvm/llvm-project/commit/b5d694ba14524e0161421b13c875747d5fa917de
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir

  Log Message:
  -----------
  [mlir][nvvm] Introduce `nvvm.barrier` OP (#81487)

This PR that introduces the `nvvm.barrier` OP to the NVVM dialect.
Currently, NVVM only supports the `nvvm.barrier0`, which synchronizes
all threads using barrier resource 0.

The new `nvvm.barrier` has two essential arguments: the barrier resource
and the number of threads. This added flexibility allows for selective
synchronization of threads within a CTA, aligning with the capabilities
provided by LLVM intrinsics or the PTX model.

I think we can deprecate `nvvm.barrier0` in favor of the more generic
`nvvm.barrier`.

```
// Equivalent to nvvm.barrier0 (or __syncthreads() in CUDA)
nvvm.barrier

// Synchronize all threads using the 3rd barrier resource.
nvvm.barrier id = 3

// Synchronize %numberOfThreads threads using the 3rd barrier resource.
nvvm.barrier id = 3 number_of_threads = %numberOfThreads
```


  Commit: dc866ae49e9d461c836a113472ea3ff314bb4a80
      https://github.com/llvm/llvm-project/commit/dc866ae49e9d461c836a113472ea3ff314bb4a80
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp

  Log Message:
  -----------
  [ValueTracking] Move the `isSignBitCheck` helper into ValueTracking. NFC. (#81704)

This patch moves the `isSignBitCheck` helper into ValueTracking to reuse
the logic in ValueTracking/InstSimplify.

Addresses the comment
https://github.com/llvm/llvm-project/pull/80740#discussion_r1488440050.


  Commit: a2eb2340963c905b21ad3a2eda2688e3cd80192d
      https://github.com/llvm/llvm-project/commit/a2eb2340963c905b21ad3a2eda2688e3cd80192d
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [clang][analyzer] Reformat code of BoolAssignmentChecker (NFC). (#81461)

This is only a code reformatting and rename of variables to the newer
format.


  Commit: 0fee2115bb78a8168fd752ca01f6646cfbf74d07
      https://github.com/llvm/llvm-project/commit/0fee2115bb78a8168fd752ca01f6646cfbf74d07
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-exttrunc.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-load-store.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vreductions-mask.ll

  Log Message:
  -----------
  [RISCV] Remove -riscv-v-fixed-length-vector-lmul-max from tests. NFC (#78299)

Some fixed vector tests in test/CodeGen/RISCV/rvv have multiple run
lines that
check various configurations of -riscv-v-fixed-length-vector-lmul-max.
From
what I understand this flag was introduced in the early days of fixed
length
vector support, but now that fixed vector codegen has matured I'm not
sure if
it's as relevant today.

This patch proposes to remove the various lmul-max run lines from the
tests to
make them more readable, and any changes to fixed vector codegen easier
to
review.

We have removed them before for the same reason, so this would take care
of the
remaining test cases: https://reviews.llvm.org/D157973#4593268

(I don't have any strong motivation to remove the actual flag itself, my
own
personal motivation is just to clean up the tests)


  Commit: bd2f7bbdb46df5a0d1bd58c66e3e4cdbf7c96e2e
      https://github.com/llvm/llvm-project/commit/bd2f7bbdb46df5a0d1bd58c66e3e4cdbf7c96e2e
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [bazel] Port for 09e98950bfcff7ad376922932efb2b56e4db9898


  Commit: 5c8985e7703b013c5df0612c3cbc1d333f4c5fa1
      https://github.com/llvm/llvm-project/commit/5c8985e7703b013c5df0612c3cbc1d333f4c5fa1
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/CoverageMappingGen.h
    A clang/lib/CodeGen/MCDCState.h

  Log Message:
  -----------
  clangCodeGen: Introduce `MCDC::State` with `MCDCState.h` (#81497)

This packs;
* `BitmapBytes`
* `BitmapMap`
* `CondIDMap`

into `MCDC::State`.


  Commit: 243f14d23643e28e98d8c8d2993bd17947c101b2
      https://github.com/llvm/llvm-project/commit/243f14d23643e28e98d8c8d2993bd17947c101b2
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [bazel] Add missing dependencies for the newly-added install_api lib


  Commit: 470c5b8011b94ecb0ee8dbdb34ab8d680f652f70
      https://github.com/llvm/llvm-project/commit/470c5b8011b94ecb0ee8dbdb34ab8d680f652f70
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/test/Transforms/InstSimplify/compare.ll

  Log Message:
  -----------
  [InstSimplify][InstCombine] Remove unnecessary `m_c_*` matchers. (#81712)

This patch removes unnecessary `m_c_*` matchers since we always
canonicalize `commutive_op Cst, X` into `commutive_op X, Cst`.

Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=bfc0b7c6891896ee8e9818f22800472510093864&to=d27b058bb9acaa43d3cadbf3cd889e8f79e5c634&stat=instructions:u


  Commit: 5932f3f861f84305bd01050d0af8e0dcb232a8b3
      https://github.com/llvm/llvm-project/commit/5932f3f861f84305bd01050d0af8e0dcb232a8b3
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/MCDCState.h

  Log Message:
  -----------
  [clangCodeGen] Fix the build failure for 5c8985e7703b013c5df0612c3cbc1d333f4c5fa1


  Commit: 855bac2f134b268e3749d113d33a95d16ac89398
      https://github.com/llvm/llvm-project/commit/855bac2f134b268e3749d113d33a95d16ac89398
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/test/lit.cfg.py

  Log Message:
  -----------
  [llvm-dwp] Add missing llvm-dwp tool in lit config tool substitution (#81217)


  Commit: 8f0435febc256f77d53e7001d81d86bc66ad593b
      https://github.com/llvm/llvm-project/commit/8f0435febc256f77d53e7001d81d86bc66ad593b
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [bazel][mlir] Fix deps of //mlir:AMDGPUTransformOps


  Commit: 17ac5b15d10d6cf7726e9018f858abf8a0f6bfa2
      https://github.com/llvm/llvm-project/commit/17ac5b15d10d6cf7726e9018f858abf8a0f6bfa2
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/DSDIRInstructions.td

  Log Message:
  -----------
  [AMDGPU] Make use of defvar in DSDIR definitions. NFC.


  Commit: cb8f910035e45bf6c30a61f74015c0dba5842747
      https://github.com/llvm/llvm-project/commit/cb8f910035e45bf6c30a61f74015c0dba5842747
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ldsdir.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vdsdir.txt

  Log Message:
  -----------
  [AMDGPU] Do not test both wave sizes for DSDIR disassembly (#81719)

There is nothing in these instruction definitions that depends on wave
size so testing both seems like overkill. The corresponding assembler
tests do not do it.


  Commit: 65b5647e167f8be8010cbfaefd1591946c533d72
      https://github.com/llvm/llvm-project/commit/65b5647e167f8be8010cbfaefd1591946c533d72
  Author: Shreyansh Chouhan <chouhan.shreyansh2702 at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    M llvm/test/Transforms/DeadStoreElimination/noop-stores.ll

  Log Message:
  -----------
  [DeadStoreElimination] Optimize tautological assignments (#75744)

If a store is dominated by a condition that ensures that the value being
stored in a memory location is already present at that memory location,
consider the store a noop.

Fixes #63419


  Commit: 55a7ff8c1ac23a78f9701d357d292e6a0bdfdb4f
      https://github.com/llvm/llvm-project/commit/55a7ff8c1ac23a78f9701d357d292e6a0bdfdb4f
  Author: Andrzej Warzynski <andrzej.warzynski at arm.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/test/Dialect/Linalg/transform-op-mmt4d-to-fma.mlir

  Log Message:
  -----------
  [mlir][nfc] Move Op signature to one line

This was accidentally split with a comment


  Commit: 124cd11d7f9d875b7d6dd441dc758ed9341ccec2
      https://github.com/llvm/llvm-project/commit/124cd11d7f9d875b7d6dd441dc758ed9341ccec2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    R .github/workflows/approved-prs.yml
    M llvm/utils/git/github-automation.py

  Log Message:
  -----------
  Revert "[GitHub][workflows] Ask reviewers to merge PRs when author cannot (#81142)"

This reverts commit 38c706e30f5f339bfb0bfb26fd7b5c2d5086064a.

This workflow always fails in cases where it needs to create a
comment, due to a permissions issue, see the discussion at:
https://discourse.llvm.org/t/rfc-fyi-pull-request-greetings-for-new-contributors/75458/20


  Commit: 786537e66e295002d15a8c3d48b8a463de5adbf4
      https://github.com/llvm/llvm-project/commit/786537e66e295002d15a8c3d48b8a463de5adbf4
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [X86] Use explicit const SDValue& to avoid implicit copy in for-range across op_values(). NFC.

Fixes static analysis warning.


  Commit: f82e0809ba12170e2f648f8a1ac01e78ef06c958
      https://github.com/llvm/llvm-project/commit/f82e0809ba12170e2f648f8a1ac01e78ef06c958
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll

  Log Message:
  -----------
  [X86] Add v8i64/v16i32/v16i64 ctpop reduction test coverage

Add test coverage for types wider than legal


  Commit: ca5696668477750b4ddc31ea4cff25054dc8cf2a
      https://github.com/llvm/llvm-project/commit/ca5696668477750b4ddc31ea4cff25054dc8cf2a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlan.h

  Log Message:
  -----------
  [VPlan] Properly retain flags when cloning VPReplicateRecipe.

This makes sure the correct flags are used for the clone (i.e. the ones
present on the recipe), instead of the ones on the original IR
instruction.

At the moment, this should not change anything, as flags of replicate
recipe should not be dropped before they are cloned at the moment. But
that will change in a follow-up patch.


  Commit: f1b2865b6a61e570d3c7d88c5a84bbd1a046a203
      https://github.com/llvm/llvm-project/commit/f1b2865b6a61e570d3c7d88c5a84bbd1a046a203
  Author: Ronan Keryell <ronan.keryell at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/docs/TargetLLVMIR.md

  Log Message:
  -----------
  [mlir][docs] Fix typos in TargetLLVMIR.md (#81549)


  Commit: 0c8b5942c7cfa53d9e2a57fb860a21b7bce3fb26
      https://github.com/llvm/llvm-project/commit/0c8b5942c7cfa53d9e2a57fb860a21b7bce3fb26
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp

  Log Message:
  -----------
  [llvm-dlltool][NFC] Factor out parseModuleDefinition helper. (#81620)

In preparation for ARM64EC support.


  Commit: 82f3cbc860bfd9f1e10e3605ae1b162b1f423cc7
      https://github.com/llvm/llvm-project/commit/82f3cbc860bfd9f1e10e3605ae1b162b1f423cc7
  Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/include/mlir-c/BuiltinTypes.h
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/test/python/ir/builtin_types.py

  Log Message:
  -----------
  [MLIR][Python] Added a base class to all builtin floating point types (#81720)

This allows to

* check if a given ir.Type is a floating point type via isinstance() or
issubclass()
* get the bitwidth of a floating point type

See motivation and discussion in
https://discourse.llvm.org/t/add-floattype-to-mlir-python-bindings/76959.


  Commit: 6cab375b4b3d33c18c5f8686105ea20458451a71
      https://github.com/llvm/llvm-project/commit/6cab375b4b3d33c18c5f8686105ea20458451a71
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/AArch64/misched-fusion-addadrp.ll
    M llvm/test/CodeGen/AArch64/misched-fusion-addr.ll
    M llvm/test/CodeGen/AArch64/misched-fusion-aes.ll

  Log Message:
  -----------
  [AArch64] Add tests for fusion on Ampere1/1A/1B (#81725)

As commented on the PR #81293, the Ampere1-family does not have test
cases for the common fusion cases it implements. This adds the Ampere1
targets to the relevant misched-fusion testcases:
 * addadrp
 * addr
 * aes


  Commit: debca7ee43522e1702ade36f4954517e35f82886
      https://github.com/llvm/llvm-project/commit/debca7ee43522e1702ade36f4954517e35f82886
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h

  Log Message:
  -----------
  [VPlan] Move dropping of poison flags to VPlanTransforms. (NFC)

Move collectPoisonGeneratingFlags from InnerLoopVectorizer to
VPlanTransforms and also update its name. collectPoisonGeneratingFlags
already directly drops poison-generating flags, not only collecting it.
This means it is more appropriate to integerate it directly into the
VPlan transform pipeline.

The current implementation still calls back to legal to check if a block
needs predication, which should be improved in the future.


  Commit: 502756905c7de5f6217a071b73adda72c46ffd1c
      https://github.com/llvm/llvm-project/commit/502756905c7de5f6217a071b73adda72c46ffd1c
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TokenKinds.h
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang][NFC] Use "notable" for "interesting" identifiers in `IdentifierInfo` (#81542)

This patch expands notion of "interesting" in `IdentifierInto` it to
also cover ObjC keywords and builtins, which matches notion of
"interesting" in serialization layer. What was previously "interesting"
in `IdentifierInto` is now called "notable".

Beyond clearing confusion between serialization and the rest of the
compiler, it also resolved a naming problem: ObjC keywords, notable
identifiers, and builtin IDs are all stored in the same bit-field. Now
we can use "interesting" to name it and its corresponding type, instead
of `ObjCKeywordOrInterestingOrBuiltin` abomination.


  Commit: c5e13840fdc20adce51673a63d5703bf1ed02aba
      https://github.com/llvm/llvm-project/commit/c5e13840fdc20adce51673a63d5703bf1ed02aba
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [clang][docs] Remove trailing whitespace

Which is causing CI checks to fail.

clang/docs/LanguageExtensions.rst:2794:takes no arguments and produces an unsigned long long result. The builtin does
clang/docs/LanguageExtensions.rst:2795:not guarantee any particular frequency, only that it is stable. Knowledge of the
+ echo '*** Trailing whitespace has been found in Clang source files as described above ***'


  Commit: 16a0629e7c16cc1ec1a5066c57be3044a1e00395
      https://github.com/llvm/llvm-project/commit/16a0629e7c16cc1ec1a5066c57be3044a1e00395
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/DomConditionCache.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll

  Log Message:
  -----------
  [ValueTracking] Compute known FPClass from signbit idiom (#80740)

This patch improves `computeKnownFPClass` by using context-sensitive
information from `DomConditionCache`.
The motivation of this patch is to optimize the following case found in
[fmt/format.h](https://github.com/fmtlib/fmt/blob/e17bc67547a66cdd378ca6a90c56b865d30d6168/include/fmt/format.h#L3555-L3566):
```
define float @test(float %x, i1 %cond) {
  %i32 = bitcast float %x to i32
  %cmp = icmp slt i32 %i32, 0
  br i1 %cmp, label %if.then1, label %if.else

if.then1:
  %fneg = fneg float %x
  br label %if.end

if.else:
  br i1 %cond, label %if.then2, label %if.end

if.then2:
  br label %if.end

if.end:
  %value = phi float [ %fneg, %if.then1 ], [ %x, %if.then2 ], [ %x, %if.else ]
  %ret = call float @llvm.fabs.f32(float %value)
  ret float %ret
}
```
We can prove the sign bit of %value is always zero. Then the fabs can be
eliminated.

This pattern also exists in cpython/duckdb/oiio/openexr.

Compile-time impact:
https://llvm-compile-time-tracker.com/compare.php?from=f82e0809ba12170e2f648f8a1ac01e78ef06c958&to=041218bf5491996edd828cc15b3aec5a59ddc636&stat=instructions:u


|stage1-O3|stage1-ReleaseThinLTO|stage1-ReleaseLTO-g|stage1-O0-g|stage2-O3|stage2-O0-g|stage2-clang|
|--|--|--|--|--|--|--|
|-0.00%|+0.01%|+0.00%|-0.03%|+0.00%|+0.00%|+0.02%|


  Commit: 03232350536655234a30eca17ea56c8cb636831c
      https://github.com/llvm/llvm-project/commit/03232350536655234a30eca17ea56c8cb636831c
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    A libc/src/__support/integer_literals.h
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    A libc/test/src/__support/integer_literals_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel

  Log Message:
  -----------
  [libc] Add user defined literals to initialize `BigInt` and `__uint128_t` constants (#81267)

Adds user defined literal to construct unsigned integer constants. This
is useful when constructing constants for non native C++ types like
`__uint128_t` or our custom `BigInt` type.


  Commit: f723260a80baee08394093fa06777dcc55b3ee4a
      https://github.com/llvm/llvm-project/commit/f723260a80baee08394093fa06777dcc55b3ee4a
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/AsmWriterEmitter.cpp
    M llvm/utils/TableGen/CTagsEmitter.cpp
    M llvm/utils/TableGen/CodeEmitterGen.cpp
    M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/CodeGenHwModes.cpp
    M llvm/utils/TableGen/CodeGenInstAlias.cpp
    M llvm/utils/TableGen/CodeGenInstruction.cpp
    M llvm/utils/TableGen/CodeGenInstruction.h
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/CodeGenRegisters.h
    M llvm/utils/TableGen/CodeGenSchedule.cpp
    M llvm/utils/TableGen/CodeGenTarget.cpp
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
    M llvm/utils/TableGen/DFAEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/GlobalISelMatchTable.h
    M llvm/utils/TableGen/InfoByHwMode.cpp
    M llvm/utils/TableGen/InfoByHwMode.h
    M llvm/utils/TableGen/IntrinsicEmitter.cpp
    M llvm/utils/TableGen/OptParserEmitter.cpp
    M llvm/utils/TableGen/SearchableTableEmitter.cpp
    M llvm/utils/TableGen/SequenceToOffsetTable.h
    M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
    M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.cpp
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp

  Log Message:
  -----------
  [TableGen] Stop using make_pair and make_tuple. NFC. (#81730)

These are unnecessary since C++17.


  Commit: 6c84709eff20460a75fb58d2face54432c133967
      https://github.com/llvm/llvm-project/commit/6c84709eff20460a75fb58d2face54432c133967
  Author: David Green <david.green at arm.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/fabs-combine.ll
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/neon-mov.ll
    M llvm/test/CodeGen/AArch64/srem-seteq-vec-nonsplat.ll
    M llvm/test/CodeGen/AArch64/urem-seteq-vec-nonzero.ll
    M llvm/test/CodeGen/AArch64/urem-vector-lkk.ll

  Log Message:
  -----------
  [AArch64] Materialize constants via fneg. (#80641)

This is something that is already done as a special case for copysign,
this patch extends it to be more generally applied. If we are trying to
matrialize a negative constant (notably -0.0, 0x80000000), then there
may be no movi encoding that creates the immediate, but a fneg(movi)
might.

Some of the existing patterns for RADDHN needed to be adjusted to keep
them in line with the new immediates.


  Commit: bd8fcf75df11406527de423daa63e21c3ec8609b
      https://github.com/llvm/llvm-project/commit/bd8fcf75df11406527de423daa63e21c3ec8609b
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    A mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/dialects/llvm.py
    M mlir/test/CAPI/llvm.c
    M mlir/test/python/dialects/llvm.py

  Log Message:
  -----------
  [mlir][python] expose LLVMStructType API (#81672)

Expose the API for constructing and inspecting StructTypes from the LLVM
dialect. Separate constructor methods are used instead of overloads for
better readability, similarly to IntegerType.


  Commit: 8e24bc096dcd0013d802e59a45803c51796dec0a
      https://github.com/llvm/llvm-project/commit/8e24bc096dcd0013d802e59a45803c51796dec0a
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/lib/Lex/LiteralSupport.cpp
    A clang/test/C/C2x/n2549.c
    M clang/test/Lexer/gnu-flags.c

  Log Message:
  -----------
  [C23] Do not diagnose binary literals as an extension (#81658)

We previously would diagnose them as a GNU extension in C mode, but they
are now a feature of C23. The -Wgnu-binary-literal warning group no
longer controls any diagnostics as this is no longer a GNU extension.
The warning group is retained as a noop to help avoid "unknown warning"
diagnostics.

This also adds the companion compatibility warning which existed for C++
but not for C.

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


  Commit: 1a1fcacbce805e3c409d9d41de61413e3fd8aa36
      https://github.com/llvm/llvm-project/commit/1a1fcacbce805e3c409d9d41de61413e3fd8aa36
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  [MC/DC] Refactor: Introduce `ConditionIDs` as `std::array<2>` (#81221)

Its 0th element corresponds to `FalseID` and 1st to `TrueID`.

CoverageMappingGen.cpp: `DecisionIDPair` is replaced with `ConditionIDs`


  Commit: 43c7eb5d7b237bc18385f0a5529f1e4b8bf4d6a3
      https://github.com/llvm/llvm-project/commit/43c7eb5d7b237bc18385f0a5529f1e4b8bf4d6a3
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/CodeGen/AMDGPU/generic-targets-require-v6.ll
    M llvm/test/CodeGen/AMDGPU/hsa-generic-target-features.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.d16.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/tools/llvm-readobj/ELFDumper.cpp

  Log Message:
  -----------
  [AMDGPU] Replace '.' with '-' in generic target names (#81718)

The dot is too confusing for tools. Output temporaries would have
'10.3-generic' so tools could parse it as an extension, device libs &
the associated clang driver logic are also confused by the dot.

After discussions, we decided it's better to just remove the '.' from
the target name than fix each issue one by one.


  Commit: dd1897c6cb028bda7d4d541d1bb33965eccf0a68
      https://github.com/llvm/llvm-project/commit/dd1897c6cb028bda7d4d541d1bb33965eccf0a68
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64SchedA53.td
    M llvm/lib/Target/AArch64/AArch64SchedA57.td
    M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
    A llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
    M llvm/lib/Target/AArch64/AArch64SchedCyclone.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM3.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM4.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM5.td
    M llvm/lib/Target/AArch64/AArch64SchedFalkor.td
    M llvm/lib/Target/AArch64/AArch64SchedKryo.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/basic-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/cssc-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/mte-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/shifted-register.s

  Log Message:
  -----------
  [AArch64] Initial Ampere1B scheduling model (#81341)

The Ampere1B core is enabled with a new scheduling/pipeline model, as it
provides significant updates over the Ampere1 core; it reduces latencies
on many instructions, has some micro-ops reassigned between the XY and X
units, and provides modelling for the instructions added since Ampere1
and Ampere1A.

As this is the first model implementing the CSSC instructions, we update
the UnsupportedFeatures on all other models (that have CompleteModel
set).
    
Testcases are added under llvm-mca: these showed the FullFP16 feature
missing, so we are adding it in as part of this commit.

This *adds tests and additional fixes* compared to the reverted #81338.


  Commit: 2d7fdfa61f8b037ce65e9c5482f422b37d6c0b99
      https://github.com/llvm/llvm-project/commit/2d7fdfa61f8b037ce65e9c5482f422b37d6c0b99
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn

  Log Message:
  -----------
  [gn] port 09e98950bfcf (InstallAPI)


  Commit: a50bd0d799e3f3fbb759ab842691a0bb570f8614
      https://github.com/llvm/llvm-project/commit/a50bd0d799e3f3fbb759ab842691a0bb570f8614
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectOptimize.cpp
    A llvm/test/DebugInfo/AArch64/select-optimize-trailing-dbg-records.ll

  Log Message:
  -----------
  [RemoveDIs] Replicate dbg intrinsic movement pattern in SelectOptimize (#81737)

Fix crash mentioned in comments on
d759618df76361a8e490eeae5c5399e0738cbfd0.

The assertion being hit was complaining that we had dangling DPValues;
the DPValues attached to the terminator of StartBlock become dangling
after the terminator is erased, and they're never "flushed" back onto
the new terminator once it's added. Doing that makes the crash go away,
but doesn't replicate existing dbg.* behaviour. See the comment in the
patch.

This change both fixes the crash (because there are now no DPValues left
on the terminator to dangle) and replicates existing behaviour (moves
those DPValues down to the new block).


  Commit: b37bd78e411ce642a4ca9e0c2394cef8c2f389c1
      https://github.com/llvm/llvm-project/commit/b37bd78e411ce642a4ca9e0c2394cef8c2f389c1
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpFrame.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Add missing special cases for implicit functions

We have this special case in getSource() and getRange(), but we
were missing it in getExpr() and getLocation().


  Commit: 232cf9498f15626029bad1c2a7cdaebc4bb11d95
      https://github.com/llvm/llvm-project/commit/232cf9498f15626029bad1c2a7cdaebc4bb11d95
  Author: Alex Zinenko <zinenko at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [mlir] update bazel for bd8fcf75df11406527de423daa63e21c3ec8609b


  Commit: 9c06b079cb09639f1dc5ecd1a7a193c4267b0b63
      https://github.com/llvm/llvm-project/commit/9c06b079cb09639f1dc5ecd1a7a193c4267b0b63
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/EXPInstructions.td

  Log Message:
  -----------
  [AMDGPU] Refactor export instruction definitions. NFC. (#81738)

Using multiclasses for the Real instruction definitions has a couple of
benefits:
- It avoids repeating information that was already specified when
  defining the corresponding pseudo, like the row and done bits.
- It allows commoning up the Real definitions for architectures which
  are mostly the same, like GFX11 and GFX12.


  Commit: 457c17944c6eb3d89ae6a765e4795c1cc3148506
      https://github.com/llvm/llvm-project/commit/457c17944c6eb3d89ae6a765e4795c1cc3148506
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h

  Log Message:
  -----------
  [NFC] Add API documentation and annotations (#78635)

This change adds SM 6.2 availability annotation to 16-bit APIs (16-bit
types require SM 6.2), and adds Doxygen API documentation.


  Commit: 995c9061ed13c5e494ef5883cfd8c813eb5c32c3
      https://github.com/llvm/llvm-project/commit/995c9061ed13c5e494ef5883cfd8c813eb5c32c3
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [bazel][mlir] Fix after 232cf9498f15626029bad1c2a7cdaebc4bb11d95


  Commit: ea2d9383a23ca17b9240ad64c2adc5f2b5a73dc0
      https://github.com/llvm/llvm-project/commit/ea2d9383a23ca17b9240ad64c2adc5f2b5a73dc0
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Improve listener layering in dialect conversion (#81236)

Context: Conversion patterns provide a `ConversionPatternRewriter` to
modify the IR. `ConversionPatternRewriter` provides the public API. Most
function calls are forwarded/handled by `ConversionPatternRewriterImpl`.
The dialect conversion uses the listener infrastructure to get notified
about op/block insertions.

In the current design, `ConversionPatternRewriter` inherits from both
`PatternRewriter` and `Listener`. The conversion rewriter registers
itself as a listener. This is problematic because listener functions
such as `notifyOperationInserted` are now part of the public API and can
be called from conversion patterns; that would bring the dialect
conversion into an inconsistent state.

With this commit, `ConversionPatternRewriter` no longer inherits from
`Listener`. Instead `ConversionPatternRewriterImpl` inherits from
`Listener`. This removes the problematic public API and also simplifies
the code a bit: block/op insertion notifications were previously
forwarded to the `ConversionPatternRewriterImpl`. This is no longer
needed.


  Commit: 1c10821022f1799452065fb57474e894e2562b7f
      https://github.com/llvm/llvm-project/commit/1c10821022f1799452065fb57474e894e2562b7f
  Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll

  Log Message:
  -----------
  [LoopVectorize] Fix divide-by-zero bug (#80836) (#81721)

When attempting to use the estimated trip count to refine the costs of
the runtime memory checks we should also check for sane trip counts to
prevent divide-by-zero faults on some platforms.

Fixes #80836


  Commit: 8faefe36ed57c2dab2b50e76fd27045b908f8c1d
      https://github.com/llvm/llvm-project/commit/8faefe36ed57c2dab2b50e76fd27045b908f8c1d
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms][NFC] Modularize block actions (#81237)

Throughout the rewrite process, the dialect conversion maintains a list
of "block actions" that can be rolled back upon failure. This commit
encapsulates the existing block actions into separate classes, making it
easier to add additional actions in the future.

This commit also renames "block actions" to "IR rewrites". In a
subsequent commit, an "operation rewrite" class that allows rolling back
movements of single operations is added. This is to support
`moveOpBefore` in the dialect conversion.

Rewrites have two methods: `commit()` commits an action. It can no
longer be rolled back afterwards. `rollback()` undoes a rewrite. It can
no longer be committed afterwards.


  Commit: a93a4ec7dd205b965ee5597314bb376520cd736c
      https://github.com/llvm/llvm-project/commit/a93a4ec7dd205b965ee5597314bb376520cd736c
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  Reapply "[DebugInfo][RemoveDIs] Turn on non-instrinsic debug-info by default"

This reapplies commit bdde5f9 by undoing the revert fd3a0c185f17.

The previous reapplication d759618df763 was reverted due to a crash
(reproducer in comments for d759618df763) which was fixed in #81737.

As noted in the original commit, this commit may break downstream tests.
If this commit is breaking your downstream tests, please see comment 12 in
[0], which documents the kind of variation in tests we'd expect to see from
this change and what to do about it.

[0] https://discourse.llvm.org/t/rfc-instruction-api-changes-needed-to-eliminate-debug-intrinsics-from-ir/68939


  Commit: 2347a47622718259c95993c1cab604ad82854b6c
      https://github.com/llvm/llvm-project/commit/2347a47622718259c95993c1cab604ad82854b6c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Source.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Make a local variable const


  Commit: 8f4cd2c7e3c35f23004c1448705be8f673c2d271
      https://github.com/llvm/llvm-project/commit/8f4cd2c7e3c35f23004c1448705be8f673c2d271
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [mlir][Transforms] Support `moveOpBefore`/`After` in dialect conversion (#81240)

Add a new rewrite class for "operation movements". This rewrite class
can roll back `moveOpBefore` and `moveOpAfter`.

`RewriterBase::moveOpBefore` and `RewriterBase::moveOpAfter` is no
longer virtual. (The dialect conversion can gather all required
information for rollbacks from listener notifications.)


  Commit: 4efbf524ad2726f6ff4cb095bebef3e871d4984e
      https://github.com/llvm/llvm-project/commit/4efbf524ad2726f6ff4cb095bebef3e871d4984e
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [libc][__support][bit] remove compiler has builtin checks (#81679)

We only support building llvmlibc with modern compilers.
https://libc.llvm.org/compiler_support.html#minimum-supported-versions

All versions of the these compilers support these builtins; GCC does not
support the short variants.


  Commit: 0f6f5bfe5322f08a96fda149ff70888dc45a2e35
      https://github.com/llvm/llvm-project/commit/0f6f5bfe5322f08a96fda149ff70888dc45a2e35
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [libc][__support][bit] simplify FLZ (#81678)

`countl_zero(~x)` *is* `countl_one(x)`


  Commit: 7c4c274643cedcf9671e1db65361231a7d9bee70
      https://github.com/llvm/llvm-project/commit/7c4c274643cedcf9671e1db65361231a7d9bee70
  Author: Javed Absar <106147771+javedabsar1 at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp

  Log Message:
  -----------
  [MLIR][NFC] Fix some comments in padding transform. (#81741)


  Commit: 60596716c2327575fc8ea16eab3321dabc4a706f
      https://github.com/llvm/llvm-project/commit/60596716c2327575fc8ea16eab3321dabc4a706f
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/bit.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_first_leading_one_uc.cpp
    A libc/src/stdbit/stdc_first_leading_one_uc.h
    A libc/src/stdbit/stdc_first_leading_one_ui.cpp
    A libc/src/stdbit/stdc_first_leading_one_ui.h
    A libc/src/stdbit/stdc_first_leading_one_ul.cpp
    A libc/src/stdbit/stdc_first_leading_one_ul.h
    A libc/src/stdbit/stdc_first_leading_one_ull.cpp
    A libc/src/stdbit/stdc_first_leading_one_ull.h
    A libc/src/stdbit/stdc_first_leading_one_us.cpp
    A libc/src/stdbit/stdc_first_leading_one_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_first_leading_one (C23) (#81502)


  Commit: 6f907733e65d24edad65f763fb14402464bd578b
      https://github.com/llvm/llvm-project/commit/6f907733e65d24edad65f763fb14402464bd578b
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lld/ELF/Relocations.cpp
    M lld/test/ELF/systemz-tls-ie.s

  Log Message:
  -----------
  [lld/ELF] Avoid unnecessary TPOFF relocations in GOT for -pie (#81739)

With the new SystemZ port we noticed that -pie executables generated
from files containing R_390_TLS_IEENT relocations will have unnecessary
relocations in their GOT:

                        9e8d8: R_390_TLS_TPOFF  *ABS*+0x18

This is caused by the config->isPic conditon in addTpOffsetGotEntry:

 static void addTpOffsetGotEntry(Symbol &sym) {
   in.got->addEntry(sym);
   uint64_t off = sym.getGotOffset();
   if (!sym.isPreemptible && !config->isPic) {
     in.got->addConstant({R_TPREL, target->symbolicRel, off, 0, &sym});
     return;
   }

It is correct that we need to retain a TPOFF relocation if the target
symbol is preemptible or if we're building a shared library. But when
building a -pie executable, those values are fixed at link time and
there's no need for any remaining dynamic relocation.

Note that the equivalent MIPS-specific code in MipsGotSection::build
checks for config->shared instead of config->isPic; we should use the
same check here. (Note also that on many other platforms we're not even
using addTpOffsetGotEntry in this case as an IE->LE relaxation is
applied before; we don't have this type of relaxation on SystemZ.)


  Commit: 411554a3535e55a1436ccda80064d7a91814dc27
      https://github.com/llvm/llvm-project/commit/411554a3535e55a1436ccda80064d7a91814dc27
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/src/__support/integer_literals.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  [libc][NFC] Use user defined literals to build 128 and 256 bit constants. (#81746)


  Commit: 0f33c54854c4c7ef73ec56a881f63089c504a7bf
      https://github.com/llvm/llvm-project/commit/0f33c54854c4c7ef73ec56a881f63089c504a7bf
  Author: Karthika Devi C <quic_kartc at quicinc.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M polly/lib/Transform/ScheduleOptimizer.cpp
    M polly/test/ScheduleOptimizer/schedule_computeout.ll

  Log Message:
  -----------
  [polly][ScheduleOptimizer] Use IslMaxOperationsGuard helper instead of explicit restoration (#79303)

To fix long compile time issue of Schedule optimizer, patch #77280 sets
the upper cap on max ISL operations. In case of bailing out when ISL
quota is hit, error handling behavior was restored manually. This commit
replaces the restoration code with IslMaxOperationsGuard helper and also
removes redundant early return.


  Commit: 78d401b02a2dc1ed5446546a149030184f24bee0
      https://github.com/llvm/llvm-project/commit/78d401b02a2dc1ed5446546a149030184f24bee0
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/src/__support/integer_literals.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  Revert "[libc][NFC] Use user defined literals to build 128 and 256 bit constants." (#81771)

Reverts llvm/llvm-project#81746


  Commit: 630f82ec0c61b772711355fad08ed0d0adce922d
      https://github.com/llvm/llvm-project/commit/630f82ec0c61b772711355fad08ed0d0adce922d
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [Clang][CodeGen] Loose the cast check when emitting builtins (#81669)

This patch looses the cast check (`canLosslesslyBitCastTo`) and leaves
it to the
one inside `CreateBitCast`. It seems too conservative for the use case
here.


  Commit: dbc40b34617b5ee5d2f82272c8863c602265063c
      https://github.com/llvm/llvm-project/commit/dbc40b34617b5ee5d2f82272c8863c602265063c
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/concurrent_base.py

  Log Message:
  -----------
  [lldb] Fix the flakey Concurrent tests on macOS (#81710)

The concurrent tests all do a pthread_join at the end, and
concurrent_base.py stops after that pthread_join and sanity checks that
only 1 thread is running. On macOS, after pthread_join() has completed,
there can be an extra thread still running which is completing the
details of that task asynchronously; this causes testsuite failures.
When this happens, we see the second thread is in

```
frame #0: 0x0000000180ce7700 libsystem_kernel.dylib`__ulock_wake + 8
frame #1: 0x0000000180d25ad4 libsystem_pthread.dylib`_pthread_joiner_wake + 52
frame #2: 0x0000000180d23c18 libsystem_pthread.dylib`_pthread_terminate + 384
frame #3: 0x0000000180d23a98 libsystem_pthread.dylib`_pthread_terminate_invoke + 92
frame #4: 0x0000000180d26740 libsystem_pthread.dylib`_pthread_exit + 112
frame #5: 0x0000000180d26040 libsystem_pthread.dylib`_pthread_start + 148
```

there are none of the functions from the test file present on this
thread.

In this patch, instead of counting the number of threads, I iterate over
the threads looking for functions from our test file (by name) and only
count threads that have at least one of them.

It's a lower frequency failure than the darwin kernel bug causing an
extra step instruction mach exception when hardware
breakpoint/watchpoints are used, but once I fixed that, this came up as
the next most common failure for these tests.

rdar://110555062


  Commit: 1ddc5413b12c80170477240cd54513358e6f8fe4
      https://github.com/llvm/llvm-project/commit/1ddc5413b12c80170477240cd54513358e6f8fe4
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-simplify-boolean-expr in TransformOps.cpp (NFC)


  Commit: 8383bf23074e4a7910441aa7ab54707242eac405
      https://github.com/llvm/llvm-project/commit/8383bf23074e4a7910441aa7ab54707242eac405
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-else-after-return in IndexingUtils.cpp (NFC)


  Commit: 89dc313af9fbabbf7b064df8ab09d4e49f36c0cd
      https://github.com/llvm/llvm-project/commit/89dc313af9fbabbf7b064df8ab09d4e49f36c0cd
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in VectorUnroll.cpp (NFC)


  Commit: bf4480d923c7ead1193006d20caffdbf8468aac0
      https://github.com/llvm/llvm-project/commit/bf4480d923c7ead1193006d20caffdbf8468aac0
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-identifier-naming in SparseTensorRuntime.cpp (NFC)


  Commit: d99d258e3e41b8afd1d33676bb3d2e7d83ce8ffc
      https://github.com/llvm/llvm-project/commit/d99d258e3e41b8afd1d33676bb3d2e7d83ce8ffc
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Interfaces/InferIntRangeInterface.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-include-order in InferIntRangeInterface.cpp (NFC)


  Commit: 275eeda32f4f32d2385043f8d1d8af3d4f65bb2c
      https://github.com/llvm/llvm-project/commit/275eeda32f4f32d2385043f8d1d8af3d4f65bb2c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll

  Log Message:
  -----------
  [RISCV] Split long build_vector sequences to reduce critical path (#81312)

If we have a long chain of vslide1down instructions to build e.g. a <16
x i8> from scalar, we end up with a critical path going through the
entire chain. We can instead build two halves, and then combine them
with a vselect. This costs one additional temporary register, but
reduces the critical path by roughly half.

To avoid needing to change VL, we fill each half with undefs for the
elements which will come from the other half. The vselect will at worst
become a vmerge, but is often folded back into the final instruction of
the sequence building the lower half.

A couple notes on the heuristic here:
* This is restricted to LMUL1 to avoid quadratic costing reasoning.
* This only splits once. In future work, we can explore recursive
splitting here, but I'm a bit worried about register pressure and thus
decided to be conservative. It also happens to be "enough" at the
default zvl of 128.
* "8" is picked somewhat arbitrarily as being "long". In practice, our
build_vector codegen for 2 defined elements in a VL=4 vector appears to
need some work. 4 defined elements in a VL=8 vector seems to generally
produce reasonable results.
* Halves may not be an optimal split point. I went down the rabit hole
of trying to find the optimal one, and decided it wasn't worth the
effort to start with.

---------

Co-authored-by: Luke Lau <luke_lau at icloud.com>


  Commit: 307cd883546348cd658d74699915fd48ae01e9a0
      https://github.com/llvm/llvm-project/commit/307cd883546348cd658d74699915fd48ae01e9a0
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/source/Commands/CommandObjectProcess.cpp

  Log Message:
  -----------
  [lldb][NFCI] Remove CommandObjectProcessHandle::VerifyCommandOptionValue (#79901)

I was refactoring something else but ran into this function. It was
somewhat confusing to read through and understand, but it boils down to
two steps:
- First we try `OptionArgParser::ToBoolean`. If that works, then we're
good to go.
- Second, we try `llvm::to_integer` to see if it's an integer. If it
parses to 0 or 1, we're good.
- Failing either of the steps above means we cannot parse it into a
bool.

Instead of having an integer out param and a bool return value, the
interface is better served with an optional<bool> -- Either it parses
into true or false, or you get back nothing (nullopt).


  Commit: 16e7d6842ef6a5c904422c6dba034e0888ea8b7b
      https://github.com/llvm/llvm-project/commit/16e7d6842ef6a5c904422c6dba034e0888ea8b7b
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/bit.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_uc.h
    A libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ui.h
    A libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ul.h
    A libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ull.h
    A libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_first_trailing_zero (C23) (#81526)


  Commit: 6d4ffbdfa8ff90e4ee6081ad8dbb8ec24e982a02
      https://github.com/llvm/llvm-project/commit/6d4ffbdfa8ff90e4ee6081ad8dbb8ec24e982a02
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/LinkInModulesPass.cpp

  Log Message:
  -----------
  [clang][CodeGen] Shift relink option implementation away from module cloning (#81693)

We recently implemented a new option allowing relinking of bitcode
modules via the "-mllvm -relink-builtin-bitcode-postop"
option.

This implementation relied on llvm::CloneModule() in order to pass
copies to modules and preserve the original modules for later relinking.
However, cloning modules has been found to be prohibitively expensive,
significantly increasing compilation time for large bitcode libraries.

In this patch, we shift the relink option implementation to instead link
the original modules initially, and reload modules from the file system
if relinking is requested. This approach results in significantly
reduced overhead.

We accomplish this by creating a new ReloadModules() routine that can be
called from a BackendConsumer class, to mimic the behavior of
ASTConsumer's loadLinkModules(), but without access to the
CompilerInstance.

Because loading the bitcodes from the filesystem requires access to the
FileManager class, we also forward a reference to the CompilerInstance
class to the BackendConsumer. This mirrors what is already done for
several CompilerInstance members, such as TargetOptions and
CodeGenOptions.

Finally, we needed to add a const specifier to the
FileManager::getBufferForFile() routine to allow it to be called using
the const reference returned from CompilerInstance::getFileManager()


  Commit: 2d5fb27db71b57f299793160181ef28fea5573e7
      https://github.com/llvm/llvm-project/commit/2d5fb27db71b57f299793160181ef28fea5573e7
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M compiler-rt/lib/ubsan/ubsan_signals_standalone.cpp
    M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp

  Log Message:
  -----------
  [ubsan] Support static linking with standalone runtime (#80943)

The standalone runtime (not
-fsanitize-minimal-runtime/-fsanitize-trap=undefined) installs some
signal handlers using `real_sigaction`. With static linking
(-static/-static-pie), the called `REAL(sigaction)` is null, leading to
an immediate segfault, which is confusing (#51538).

Fix #51538 by bailing out.

`// REQUIRES: librt_has_multf3` from https://reviews.llvm.org/D109709
actually disabled the test because `librt_has_*` features are only for
`compiler-rt/test/builtins`. The test does not reproduce for me:
libclang_rt.builtins.a or libgcc. Revert the REQUIRES.


  Commit: ea06384bf667c635f78660f0bcfaa01372735b99
      https://github.com/llvm/llvm-project/commit/ea06384bf667c635f78660f0bcfaa01372735b99
  Author: Daniel Hoekwater <hoekwater at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    A llvm/test/CodeGen/AArch64/basic-block-sections-cold.ll
    A llvm/test/CodeGen/AArch64/basic-block-sections-unsafe.ll

  Log Message:
  -----------
  [CodeGen][AArch64] Only split safe blocks in BBSections (#81553)

Some types of machine function and machine basic block are unsafe to
split on AArch64: basic blocks that contain jump table dispatch or
targets (D157124), and blocks that contain inline ASM GOTO blocks
or their targets (D158647) all cause issues and have been excluded
from Machine Function Splitting on AArch64.

These issues are caused by any transformation pass that places
same-function basic blocks in different text sections
(MachineFunctionSplitter and BasicBlockSections) and must be
special-cased in both passes.


  Commit: de16a05af025da99009f314018ac4f361ac6faa4
      https://github.com/llvm/llvm-project/commit/de16a05af025da99009f314018ac4f361ac6faa4
  Author: sgundapa <sgundapa at quicinc.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    A llvm/test/CodeGen/Hexagon/vector-zext-v4i8.ll

  Log Message:
  -----------
  [Hexagon] Fix zero extension of bit predicates with vtrunehb  (#81772)

vector extension from v4i1 to v4i8 generates an incorrect word. This
patch uses a vtrunehb for truncation to fix the bug.


  Commit: 6297479ff0808e7c5335ec9ec837513e1cff610f
      https://github.com/llvm/llvm-project/commit/6297479ff0808e7c5335ec9ec837513e1cff610f
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CPP/bit.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    A libc/src/stdbit/stdc_first_trailing_one_uc.h
    A libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ui.h
    A libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ul.h
    A libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ull.h
    A libc/src/stdbit/stdc_first_trailing_one_us.cpp
    A libc/src/stdbit/stdc_first_trailing_one_us.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp

  Log Message:
  -----------
  [libc][stdbit] implement stdc_first_trailing_one (C23) (#81768)


  Commit: c9e8e91acae73c84a30311c6c745361251cf5146
      https://github.com/llvm/llvm-project/commit/c9e8e91acae73c84a30311c6c745361251cf5146
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M bolt/lib/Core/DebugData.cpp
    A bolt/test/X86/dwarf5-loclist-out-of-order.s

  Log Message:
  -----------
  [BOLT][DWARF] Fix out of order rangelists/loclists (#81645)

GCC can generate rangelists/loclists that are out of order. Fixed so
that we don't assert, and instead generate partially optimized list.
Through most code paths we do sort rnglists/loclists, but not for
loclist for a path where BOLT does not modify a function. Although it's
nice to have lists sorted, this implementation shouldn't rely on it.
This also fixes an issue if we partially capture a list we would write
out *end_of_list in helper function. So tools won't see the rest of the
addresses being written out.


  Commit: 7d28f19f68c82b65cf1180b170f33d6f82422d64
      https://github.com/llvm/llvm-project/commit/7d28f19f68c82b65cf1180b170f33d6f82422d64
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [clang][CodeGen] Add missing error check (#81777)

Add missing error check. This resolves "error: variable 'Err' set but
not used" warnings


  Commit: 0eedc85baad495fa916d1da7b20db93a29b443e1
      https://github.com/llvm/llvm-project/commit/0eedc85baad495fa916d1da7b20db93a29b443e1
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    A libc/src/__support/fixed_point/CMakeLists.txt
    A libc/src/__support/fixed_point/fx_rep.h

  Log Message:
  -----------
  [libc][stdfix] Add FXRep helper class for fixed point types. (#81272)


  Commit: 9b80ab4332bbe336ab8b9f2082eadf6b8d223150
      https://github.com/llvm/llvm-project/commit/9b80ab4332bbe336ab8b9f2082eadf6b8d223150
  Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp

  Log Message:
  -----------
  [clang-tidy] Removed redundant-inline-specifier warning on static data members (#81423)

Updated the check to ignore point static data members with in class
initializer since removing the inline specifier would generate a
compilation error

Fixes #80684


  Commit: d592c8ec8f7138dcbde6f0890d048e59cba95041
      https://github.com/llvm/llvm-project/commit/d592c8ec8f7138dcbde6f0890d048e59cba95041
  Author: Diego Caballero <diegocaballero at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir

  Log Message:
  -----------
  Reapply "[mlir][vector] Drop inner unit dims for transfer ops on dynamic shapes." (#80712) (#81778)

This reverts commit b4c7152eb4f7971c111e3e2f60b55892def58d5d.

Downstream regression due to another issue that this PR exposes. We have identified the work-items to fix the new issue here: https://github.com/openxla/iree/issues/16406

Co-authored-by: Han-Chung Wang <hanchung at google.com>


  Commit: 1301bc46aea14297478bd13bcacff429e2a18c04
      https://github.com/llvm/llvm-project/commit/1301bc46aea14297478bd13bcacff429e2a18c04
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [libc] Add is_fixed_point type trait. (#81263)


  Commit: 5992b3272b29e071f6f5a4807a4e0c23e88c310d
      https://github.com/llvm/llvm-project/commit/5992b3272b29e071f6f5a4807a4e0c23e88c310d
  Author: Kevin Joseph <kevinjoseph1995 at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp

  Log Message:
  -----------
  [clangd] Clean formatting modernize-use-override (#81435)

When applying the recommended fix for the
"modernize-use-override" clang-tidy diagnostic
there was a stray whitespace. This PR fixes that.
Resolves https://github.com/clangd/clangd/issues/1704


  Commit: a78d13d0786bc81058ee9aaa7d1c854ee19cee48
      https://github.com/llvm/llvm-project/commit/a78d13d0786bc81058ee9aaa7d1c854ee19cee48
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
    M llvm/test/DebugInfo/X86/debug-names-types.ll
    M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test

  Log Message:
  -----------
  [LLVM][DWARF] Change .debug_names abbrev to be an index (#81200)

Based on the discussion in
https://github.com/llvm/llvm-project/pull/80229
changed implementation to align with how .debug_abbrev is handled. So
that
.debug_names abbrev tag is a monotonically increasing index. This allows
for
tools like LLDB to access it in constant time using array like data
structure.

clang-19 debug build
before change

[41] .debug_names PROGBITS 0000000000000000 8f9e0350 137fdbe0 00 0 0 4
after change
[41] .debug_names PROGBITS 0000000000000000 8f9e0350 125bfdec 00 0 0 4

Reduction ~19.1MB


  Commit: c007fbb19879f9b597b47ae772c53e53cdc65f29
      https://github.com/llvm/llvm-project/commit/c007fbb19879f9b597b47ae772c53e53cdc65f29
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/test/CodeGen/Mips/hf1_body.ll
    M llvm/test/MC/Mips/macro-la-pic.s

  Log Message:
  -----------
  MipsAsmParser/O32: Don't add redundant $ to $-prefixed symbol in the la macro (#80644)

When parsing the `la` macro, we add a duplicate `$` prefix in
`getOrCreateSymbol`,
leading to `error: Undefined temporary symbol $$yy` for code like:

```
xx:
	la	$2,$yy
$yy:
	nop
```

Remove the duplicate prefix.

In addition, recognize `.L`-prefixed symbols as local for O32.

See: #65020.

---------

Co-authored-by: Fangrui Song <i at maskray.me>


  Commit: f3b92fae138f47fb78a55254d73913f1e7935852
      https://github.com/llvm/llvm-project/commit/f3b92fae138f47fb78a55254d73913f1e7935852
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [bazel] Port for 1301bc46aea14297478bd13bcacff429e2a18c04


  Commit: aab48c99c2234e348aa37657accfb6110c84c9b7
      https://github.com/llvm/llvm-project/commit/aab48c99c2234e348aa37657accfb6110c84c9b7
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/include/lldb/Target/StopInfo.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
    M lldb/source/Target/Thread.cpp

  Log Message:
  -----------
  [lldb] Detect a Darwin kernel issue and work around it (#81573)

On arm64 machines, when there is a hardware breakpoint or watchpoint
set, and lldb has instruction-stepped a thread, and then done a
Process::Resume, we will sometimes receive an extra "instruction step
completed" mach exception and the pc has not advanced. From a user's
perspective, they hit Continue and lldb stops again at the same spot.
>From the testsuite's perspective, this has been a constant source of
testsuite failures for any test using hardware watchpoints and
breakpoints, the arm64 CI bots seem especially good at hitting this
issue.

Jim and I have been slowly looking at this for a few months now, and
finally I decided to try to detect this situation in lldb and silently
resume the process again when it happens.

We were already detecting this "got an insn-step finished mach exception
but this thread was not instruction stepping" combination in
StopInfoMachException where we take the mach exception and create a
StopInfo object for it. We had a lot of logging we used to understand
the failure as it was hit on the bots in assert builds.

This patch adds a new case to `Thread::GetPrivateStopInfo()` to call the
StopInfo's (new) `IsContinueInterrupted()` method. In
StopInfoMachException, where we previously had logging for assert
builds, I now note it in an ivar, and when
`Thread::GetPrivateStopInfo()` asks if this has happened, we check all
of the combination of events that this comes up: We have a hardware
breakpoint or watchpoint, we were not instruction stepping this thread
but got an insn-step mach exception, the pc is the same as the previous
stop's pc. And in that case, `Thread::GetPrivateStopInfo()` returns no
StopInfo -- indicating that this thread would like to resume execution.

The `Thread` object has two StackFrameLists, `m_curr_frames_sp` and
`m_prev_frames_sp`. When a thread resumes execution, we move
`m_curr_frames_sp` in to `m_prev_frames_sp` and when it stops executing,
w euse `m_prev_frames_sp` to seed the new `m_curr_frames_sp` if most of
the stack is the same as before.

In this same location, I now save the Thread's RegisterContext::GetPC
into an ivar, `m_prev_framezero_pc`. StopInfoMachException needs this
information to check all of the conditions I outlined above for
`IsContinueInterrupted`.

This has passed exhaustive testing and we do not have any testsuite
failures for hardware watchpoints and breakpoints due to this kernel bug
with the patch in place. In focusing on these tests for thousands of
runs, I have found two other uncommon race conditions for the
TestConcurrent* tests on arm64. TestConcurrentManyBreakpoints.py (which
uses no hardware watchpoint/breakpoints) will sometimes only have 99
breakpoints when it expects 100, and any of the concurrent tests using
the shared harness (I've seen it in
TestConcurrentWatchBreakDelay.py,
TestConcurrentTwoBreakpointsOneSignal.py,
TestConcurrentSignalDelayWatch.py) can fail when the test harness checks
that there is only one thread still running at the end, and it finds two
-- one of them under pthread_exit / pthread_terminate. Both of these
failures happen on github main without my changes, and with my changes -
they are unrelated race conditions in these tests, and I'm sure I'll be
looking into them at some point if they hit the CI bots with frequency.
On my computer, these are in the 0.3-0.5% of the time class. But the CI
bots do have different timing.


  Commit: 1da4494184566d68f32206e3ac5a8b90bc05889d
      https://github.com/llvm/llvm-project/commit/1da4494184566d68f32206e3ac5a8b90bc05889d
  Author: Dave Lee <davelee.com at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/source/Core/ValueObject.cpp

  Log Message:
  -----------
  [lldb] Add comment on cross printing of summary/value (#81681)

Adds a comment to indicate intention of a piece of value printing code.

I was initially surprised to see this code (distilled for emphasis):

```cpp
if (str.empty()) {
  if (style == eValueObjectRepresentationStyleValue)
    str = GetSummaryAsCString();
  else if (style == eValueObjectRepresentationStyleSummary)
    str = GetValueAsCString();
}
```

My first thought was "is this a bug?", but I realized it was likely intentional. This 
change adds a comment to indicate yes, this is intentional.


  Commit: 8d326542926d4fba89cfb0ec01a0c1a1bd0789d6
      https://github.com/llvm/llvm-project/commit/8d326542926d4fba89cfb0ec01a0c1a1bd0789d6
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll

  Log Message:
  -----------
  [RISCV] Add coverage for an upcoming set of vector narrowing changes


  Commit: 0fc578664809d9f808d24a91e50a68d6bfa22118
      https://github.com/llvm/llvm-project/commit/0fc578664809d9f808d24a91e50a68d6bfa22118
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/test/API/commands/platform/sdk/TestPlatformSDK.py
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
    M lldb/test/API/functionalities/launch_stop_at_entry/TestStopAtEntry.py

  Log Message:
  -----------
  [lldb][test] Remove expectedFailureIfFn (#81703)

Switching to modern `unittest` in
5b386158aacac4b41126983a5379d36ed413d0ea needs xfail annotations to be
known prior to test running. In contrast, skipping can happen at any
time, even during test execution.

Thus, `expectedFailureIfFn` inherently doesn't work. Either we eagerly
evaluate the function and use `expectedFailureIf` instead, or we use a
skip annotation to lazily evaluate the function and potentially skip the
test right before it starts.

- For `expectedFailureAndroid`, the intent seems to be that certain
tests _should_ work on android, but don't. Thus, xfail is appropriate,
to ensure the test is re-enabled once those bugs are ever fixed.
- For the other uses in individual tests, those generally seem to be
cases where the test environment doesn't support the setup required by
the test, and so it isn't meaningful to run the test at all. For those,
a drop-in replacement to `skipTestIfFn` works.


  Commit: ad49657a424db5e5979236ef5a474e93d827ab2c
      https://github.com/llvm/llvm-project/commit/ad49657a424db5e5979236ef5a474e93d827ab2c
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Frontend/InitPreprocessor.cpp
    A clang/test/Preprocessor/fixed-point.c
    A clang/test/Preprocessor/no-fixed-point.c
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/lib/Support/APFixedPoint.cpp

  Log Message:
  -----------
  [clang] Add fixed point precision macros (#81207)

This defines the builtin macros specified in `7.18a.3 Precision macros`
of ISO/IEC TR 18037:2008. These are the `__*__` versions of them and the
formal definitions in stdfix.h can use them.


  Commit: 271e07321bd0673f5472055012b4cfd1671be9ec
      https://github.com/llvm/llvm-project/commit/271e07321bd0673f5472055012b4cfd1671be9ec
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/compiler_features/check_fixed_point.cpp
    M libc/test/UnitTest/CMakeLists.txt

  Log Message:
  -----------
  [libc] Fix fixed point detection and add compile option. (#81788)


  Commit: 3a49dfb28fed8f784484ce2ce6d687550f27ad59
      https://github.com/llvm/llvm-project/commit/3a49dfb28fed8f784484ce2ce6d687550f27ad59
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [analyzer] Check the safety of the object argument in a member function call. (#81400)

This PR makes alpha.webkit.UncountedCallArgsChecker eplicitly check the
safety of the object argument in a member function call. It also removes
the exemption of local variables from this checker so that each local
variable's safety is checked if it's used in a function call instead of
relying on the local variable checker to find those since local variable
checker currently has exemption for "for" and "if" statements.


  Commit: cbdc7605edca26ff75a28f080089a835ed9dba92
      https://github.com/llvm/llvm-project/commit/cbdc7605edca26ff75a28f080089a835ed9dba92
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    R clang/test/Analysis/Checkers/WebKit/call-args-dynamic-downcast.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp

  Log Message:
  -----------
  [analyzer] Add a few more safe functions to call. (#81532)

Added checkedDowncast, uncheckedDowncast, & toString as safe functions
to call in alpha.webkit.UncountedCallArgsChecker.


  Commit: 7249692bd24afc81fbbaa24240e3c9bba046f854
      https://github.com/llvm/llvm-project/commit/7249692bd24afc81fbbaa24240e3c9bba046f854
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    A clang/test/Analysis/Checkers/WebKit/call-args-protected-return-value.cpp

  Log Message:
  -----------
  [analyzer] Detect a return value of Ref<T> & RefPtr<T> (#81580)

This PR makes the checker not emit warning when a function is called
with a return value of another function when the return value is of type
Ref<T> or RefPtr<T>.


  Commit: 82ca75239340c6e2b92125fe39bf872faa044f11
      https://github.com/llvm/llvm-project/commit/82ca75239340c6e2b92125fe39bf872faa044f11
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/test/X86/dwarf4-subprogram-single-gc-ranges.test
    A bolt/test/X86/dwarf5-empty-function-ranges.s
    M bolt/test/X86/dwarf5-subprogram-single-gc-ranges.test

  Log Message:
  -----------
  [BOLT][DWARF] Add test for DW_AT_ranges input without function output (#81794)

Added a test that relies on -fbasic-block-sections=all and --gc-sections
that exercises a code path that previously printed a warning.


  Commit: 4eb092d9f8999338fd4c7ef65268649636b7f86a
      https://github.com/llvm/llvm-project/commit/4eb092d9f8999338fd4c7ef65268649636b7f86a
  Author: Daniel Rodríguez Troitiño <drodriguez at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M compiler-rt/test/CMakeLists.txt
    M llvm/CMakeLists.txt

  Log Message:
  -----------
  [llvm][compiler-rt] Connect lit dependencies to test-depends targets. (#81783)

compiler-rt was creating the test-depends targets and trying to fill its
dependencies with a variable, but the variable was empty because it was
supposed to take its value from a property. The changes in this commit
grab the value of the property and add them as dependencies.

The changes in llvm are to remove the usage of `DEPENDS` arguments from
`add_custom_target`, which according to the documentation is reserved
for files/outputs created by `add_custom_command`. Use
`add_dependencies` instead.

This is similar to the changes introduced in
4eb84582344f97167b6a2b4cb1fb1d75ae07897e for runtimes.


  Commit: acdb4cdc04ed4d9a130f0fa706ed1b0f42cc1aa0
      https://github.com/llvm/llvm-project/commit/acdb4cdc04ed4d9a130f0fa706ed1b0f42cc1aa0
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp

  Log Message:
  -----------
  [ubsan,test] Disable static-link.cpp for i386 and internal_symbolizer

i386 has a `__tls_get_addr` link error.
For internal_symbolizer, the x86_64 test would fail as well.


  Commit: fe20a759fcd20e1755ea1b34c5e6447a787925dc
      https://github.com/llvm/llvm-project/commit/fe20a759fcd20e1755ea1b34c5e6447a787925dc
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M .github/workflows/llvm-project-tests.yml

  Log Message:
  -----------
  Use container on Linux to run llvm-project-tests workflow (#81349)


  Commit: 3369e341288b3d9bb59827f9a2911ebf3d36408d
      https://github.com/llvm/llvm-project/commit/3369e341288b3d9bb59827f9a2911ebf3d36408d
  Author: Philipp Tomsich <philipp.tomsich at vrull.eu>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td

  Log Message:
  -----------
  [NFC][AArch64] fix whitespace in AArch64SchedNeoverseV1 (#81744)

One of the whitespace fixes didn't get added to the commit introducing
the Ampere1B model.
Clean it up.


  Commit: 4cd7616f6b13513bb13f2b6dd14d140a4c62c937
      https://github.com/llvm/llvm-project/commit/4cd7616f6b13513bb13f2b6dd14d140a4c62c937
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Fixits for array args of func-ptr calls (#80358)

Currently we ignore calls on function pointers (unlike direct calls of
functions and class methods). This patch adds support for function pointers as
well.

The change is to simply replace use of forEachArgumentWithParam matcher in UPC
gadget with forEachArgumentWithParamType.

from the documentation of forEachArgumentWithParamType:
/// Matches all arguments and their respective types for a \c CallExpr or
/// \c CXXConstructExpr. It is very similar to \c forEachArgumentWithParam but
/// it works on calls through function pointers as well.

Currently the matcher also uses hasPointerType() which checks that the
canonical type of an argument is pointer and won't match on arrays decayed to
pointer. Replacing hasPointerType() with isAnyPointerType() which allows
implicit casts allows for the arrays to be matched as well and this way we get
fixits for array arguments to function pointer calls too.


  Commit: 9a1e6373ab3edc38486af504154db2d804e72d3d
      https://github.com/llvm/llvm-project/commit/9a1e6373ab3edc38486af504154db2d804e72d3d
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Ignore constant safe indices in array subscripts (#80504)

[-Wunsafe-buffer-usage] Ignore safe array subscripts
Don't emit warnings for array subscripts on constant size arrays where the index is constant and within bounds.

Example:
int arr[10];
arr[5] = 0; //safe, no warning

This patch recognizes only array indices that are integer literals - it doesn't understand more complex expressions (arithmetic on constants, etc.).

-Warray-bounds implemented in Sema::CheckArrayAccess() already solves a similar
(opposite) problem, handles complex expressions and is battle-tested.

Adding -Wunsafe-buffer-usage diagnostics to Sema is a non-starter as we need to emit
both the warnings and fixits and the performance impact of the fixit machine is
unacceptable for Sema.

CheckArrayAccess() as is doesn't distinguish between "safe" and "unknown" array
accesses. It also mixes the analysis that decides if an index is out of bounds
with crafting the diagnostics.

A refactor of CheckArrayAccess() might serve both the original purpose
and help us avoid false-positive with -Wunsafe-buffer-usage on constant
size arrrays.


  Commit: 8ce144800a7ed7c1e42343b3a9ac5e0ffdbfddbf
      https://github.com/llvm/llvm-project/commit/8ce144800a7ed7c1e42343b3a9ac5e0ffdbfddbf
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp

  Log Message:
  -----------
  [clangd][test] Fix -Wmissing-field-initializers in DiagnosticsTests.cpp (NFC)

llvm-project/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp:921:45:
error: missing field 'Annotations' initializer [-Werror,-Wmissing-field-initializers]
       TextEdit{Main.range("virtual1"), ""}}};
                                            ^
llvm-project/clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp:926:45:
error: missing field 'Annotations' initializer [-Werror,-Wmissing-field-initializers]
       TextEdit{Main.range("virtual2"), ""}}};
                                            ^
2 errors generated.


  Commit: ff409d39ce4673c70f474c3fdb7120bab8f94eef
      https://github.com/llvm/llvm-project/commit/ff409d39ce4673c70f474c3fdb7120bab8f94eef
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/math/CMakeLists.txt
    M libc/src/math/generic/CMakeLists.txt
    A libc/src/math/generic/ldexpf128.cpp
    A libc/src/math/ldexpf128.h
    M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/ldexp_test.cpp
    A libc/test/src/math/smoke/ldexpf128_test.cpp
    M libc/test/src/math/smoke/ldexpf_test.cpp
    M libc/test/src/math/smoke/ldexpl_test.cpp

  Log Message:
  -----------
  [libc][math] Add C23 ldexpf128 math function and fix DyadicFloat conversions for subnormal ranges and 80-bit floating points. (#81780)


  Commit: a7982d5e7a16f681e80891a819bdf14dde928755
      https://github.com/llvm/llvm-project/commit/a7982d5e7a16f681e80891a819bdf14dde928755
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    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/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [analyzer] UncountedCallArgsChecker: Detect & ignore trivial function calls. (#81808)

This PR introduces the concept of a "trivial function" which applies to
a function that only calls other trivial functions and contain literals
and expressions that don't result in heap mutations (specifically it
does not call deref). This is implemented using ConstStmtVisitor and
checking each statement and expression's trivialness.

This PR also introduces the concept of a "ingleton function", which is a
static member function or a free standing function which ends with the
suffix "singleton". Such a function's return value is understood to be
safe to call any function with.


  Commit: 6fce42f89a2c3f12b019bd3d7fef3e8db2d4671f
      https://github.com/llvm/llvm-project/commit/6fce42f89a2c3f12b019bd3d7fef3e8db2d4671f
  Author: jkorous-apple <32549412+jkorous-apple at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-assign-to-ptr.cpp

  Log Message:
  -----------
  [-Wunsafe-buffer-usage] Add fixits for array to pointer assignment (#81343)

Introducing CArrayToPtrAssignment gadget and implementing fixits for some cases
of array being assigned to pointer.

Key observations:
- const size array can be assigned to std::span and bounds are propagated
- const size array can't be on LHS of assignment
This means array to pointer assignment has no strategy implications.

Fixits are implemented for cases where one of the variables in the assignment is
safe. For assignment of a safe array to unsafe pointer we know that the RHS will
never be transformed since it's safe and can immediately emit the optimal fixit.
Similarly for assignment of unsafe array to safe pointer.
(Obviously this is not and can't be future-proof in regards to what
variables we consider unsafe and that is fine.)

Fixits for assignment from unsafe array to unsafe pointer (from Array to Span
strategy) are not implemented in this patch as that needs to be properly designed
first - we might possibly implement optimal fixits for partially transformed
cases, put both variables in a single fixit group or do something else.


  Commit: dcbb574cfc3445251ff1c751f27b52ed6503bead
      https://github.com/llvm/llvm-project/commit/dcbb574cfc3445251ff1c751f27b52ed6503bead
  Author: Brianna Fan <bfan2 at apple.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/test/Analysis/scan-build/html_output.test
    M clang/tools/scan-build/bin/scan-build
    M clang/tools/scan-build/share/scan-build/sorttable.js

  Log Message:
  -----------
  [analyzer] Teach scan-build to filter reports by file.

That's a new GUI bell-and-whistle in the index.html page.


  Commit: de6fad51462bd0784beafef6fd171ad7725205b5
      https://github.com/llvm/llvm-project/commit/de6fad51462bd0784beafef6fd171ad7725205b5
  Author: Jessica Clarke <jrtc27 at jrtc27.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [TableGen][NFCI] Simplify TypeSetByHwMode::intersect and make extensible (#81688)

The current implementation considers both iPTR+iN and everything else
all in one go, which leads to more special casing when iPTR is present
in only one set than is described in the comment block. Moreover this
makes it very difficult to add any new iPTR-like wildcards due to the
exponential combinatorial explosion that occurs.

Logically, iPTR+iN handling is entirely independent from everything
else, so rewrite the code to do them separately. This removes special
cases, making the core of the implementation more succinct, whilst more
clearly implementing exactly what is described in the comment block, and
allows for any number of (non-overlapping) wildcards to be added to the
list, as needed by CHERI LLVM downstream (due to having a new capability
type which, much like a normal integer pointer in LLVM, varies in size
between targets and modes).

In testing, this change results in identical TableGen output for all
in-tree backends (including those in LLVM_ALL_EXPERIMENTAL_TARGETS), and
it is intended that this implementation is entirely equivalent to the
old one.


  Commit: d821650e13145a1acccd337c9853354ad6531507
      https://github.com/llvm/llvm-project/commit/d821650e13145a1acccd337c9853354ad6531507
  Author: rmarker <37921131+rmarker at users.noreply.github.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/include/clang/Format/Format.h
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp

  Log Message:
  -----------
  [clang-format][NFC] Drop "Always" in "AlwaysBreakAfterReturnType". (#81591)

Complete the switch from "AlwaysBreakAfterReturnType" to
"BreakAfterReturnType".


  Commit: fa9e297b8b63dacb962d99814e698658ad71f946
      https://github.com/llvm/llvm-project/commit/fa9e297b8b63dacb962d99814e698658ad71f946
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp

  Log Message:
  -----------
  [ClangPackager] Fix passing in multiple instances of `file`

Summary:
This is necessary because CMake build tools might need to generate
several files but are unable to put them in separate images. This patch
sipmly moves the file handling out into a separate split iterator.


  Commit: fc0b67e1d79d1f199687f8f06d619984d9520230
      https://github.com/llvm/llvm-project/commit/fc0b67e1d79d1f199687f8f06d619984d9520230
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorinsert.ll

  Log Message:
  -----------
  [RISCV] Add cost model tests for llvm.vector.{insert,extract}. NFC

For llvm.vector.extract, this tests combinations of inserting at a zero and
non-zero index, and extracting from a fixed or scalable vector.

For llvm.vector.insert, this tests the same combinations as extracts but with
an additional configuration for an undef vector. This is because we can use a
subregister insert if the index is 0 and the vector is undef, which should be
free.


  Commit: 4b5c21aa07fc6ba477109ec8b83395071ae49e23
      https://github.com/llvm/llvm-project/commit/4b5c21aa07fc6ba477109ec8b83395071ae49e23
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M libc/test/src/__support/CMakeLists.txt

  Log Message:
  -----------
  [libc][fix] Fix new test that crashes the NVPTX backend


  Commit: bfe302c58321abd79a5db7e805ef4b4db24df820
      https://github.com/llvm/llvm-project/commit/bfe302c58321abd79a5db7e805ef4b4db24df820
  Author: Qfrost <root at qfrost.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSystem.td

  Log Message:
  -----------
  [clang][X86] X86::LAR X86::LSL add_implicate eflags (#80993)

[@xia0ji233](https://github.com/xia0ji233) and I found that X86::LAR and
X86::lSR implicit use eflags register. However, it was not been defined
in LLVM, which means we will get wrong alive-result if we use these two
instructions.
![T~
_81W6A}J}{AP{DF%E}KY](https://github.com/llvm/llvm-project/assets/58380176/b84e758b-2978-49e7-a11c-726fd66e1976)


  Commit: d53515afef57a3abf84daff169fbc7626a306817
      https://github.com/llvm/llvm-project/commit/d53515afef57a3abf84daff169fbc7626a306817
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix variadic member functions

For variadic member functions, the way we calculated the instance
pointer and RVO pointer offsts on the stack was incorrect, due
to Func->getArgSize() not returning the full size of all the
passed arguments. When calling variadic functions, we need
to pass the size of the passed (variadic) arguments to the Call*
ops, so they can use that information to properly check the
instance pointer, etc.

This patch adds a bit of code duplication in Interp.h, which I
will get rid of in later cleanup NFC patches.


  Commit: 562790f371f230d8f67a1a8fb4b54e02e8d1e31f
      https://github.com/llvm/llvm-project/commit/562790f371f230d8f67a1a8fb4b54e02e8d1e31f
  Author: Abhinav271828 <71174780+Abhinav271828 at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Matrix.h
    M mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Simplex.h
    M mlir/include/mlir/Analysis/Presburger/Utils.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/Matrix.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp

  Log Message:
  -----------
  [MLIR][Presburger] Implement vertex enumeration and chamber decomposition for polytope generating function computation. (#78987)

We implement a function to compute the generating function corresponding
to a full-dimensional parametric polytope whose tangent cones are all
unimodular.
We fix a bug in unimodGenFunc to check the absolute value of the index.
We also implement Matrix<T>::negateMatrix() and Matrix<T>::scaleRow for
convenience.


  Commit: 6087d7bc0a9d7d4ad2c94a131c2bc427b767c9d7
      https://github.com/llvm/llvm-project/commit/6087d7bc0a9d7d4ad2c94a131c2bc427b767c9d7
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Sort options in Format.cpp


  Commit: 94f51649c4a574f88fd9b8a2d0a05b334c0bd490
      https://github.com/llvm/llvm-project/commit/94f51649c4a574f88fd9b8a2d0a05b334c0bd490
  Author: riChar <wxsychi at 163.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSystem.td

  Log Message:
  -----------
  [LLVM][X86] Add EFLAGS Defs for VERR/VERW instructions (#81824)

VERR/VERW instructions will define ZF flag.


  Commit: 6c74a6f6f4f01500f9deabadc7673b4935643928
      https://github.com/llvm/llvm-project/commit/6c74a6f6f4f01500f9deabadc7673b4935643928
  Author: Prabhuk <prabhukr at google.com>
  Date:   2024-02-14 (Wed, 14 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/Makefile
    R lldb/test/API/tools/lldb-dap/databreakpoint/TestDAP_setDataBreakpoints.py
    R lldb/test/API/tools/lldb-dap/databreakpoint/main.cpp
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/DAPForward.h
    R lldb/tools/lldb-dap/Watchpoint.cpp
    R lldb/tools/lldb-dap/Watchpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn

  Log Message:
  -----------
  Revert "[lldb-dap] Add support for data breakpoint. (#81541)" (#81812)

This reverts commit 8c56e78ec531f0e2460213c20fff869b6b7add99.

Reverting to address the LLDB test failure in ARM64.


  Commit: b200dfc15904f0f7f19443fd5a399242c80213dc
      https://github.com/llvm/llvm-project/commit/b200dfc15904f0f7f19443fd5a399242c80213dc
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Fix calling invalid function pointers

Checking for isConstexpr() is wrong; we need to (try to) call
the function and let later code diagnose the failure accordingly.


  Commit: b93916c9798ea09488e30b9b0aae9e54ef0b1956
      https://github.com/llvm/llvm-project/commit/b93916c9798ea09488e30b9b0aae9e54ef0b1956
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Convert test to verify=expected,both style


  Commit: 36adfec155de366d722f2bac8ff9162289dcf06c
      https://github.com/llvm/llvm-project/commit/36adfec155de366d722f2bac8ff9162289dcf06c
  Author: Rohit Aggarwal <44664450+rohitaggarwal007 at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/test/Driver/autocomplete.c
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
    M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll

  Log Message:
  -----------
  Adding support of AMDLIBM vector library (#78560)

Hi,

AMD has it's own implementation of vector calls. This patch include the
changes to enable the use of AMD's math library using -fveclib=AMDLIBM.
Please refer https://github.com/amd/aocl-libm-ose 

---------

Co-authored-by: Rohit Aggarwal <Rohit.Aggarwal at amd.com>


  Commit: ab76e48ac2c2dbfc7d6a600b9b0dd0672e6d9439
      https://github.com/llvm/llvm-project/commit/ab76e48ac2c2dbfc7d6a600b9b0dd0672e6d9439
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp

  Log Message:
  -----------
  [MC/DC] Refactor: Let MCDCConditionID int16_t with zero-origin (#81257)

Also, Let `NumConditions` `uint16_t`.

It is smarter to handle the ID as signed.
Narrowing to `int16_t` will reduce costs of handling byvalue. (See also
#81221 and #81227)

External behavior doesn't change. They below handle values as internal
values plus 1.
* `-dump-coverage-mapping`
* `CoverageMappingReader.cpp`
* `CoverageMappingWriter.cpp`


  Commit: 28d4385020920ec5f54ef3de4e69f3649d417d81
      https://github.com/llvm/llvm-project/commit/28d4385020920ec5f54ef3de4e69f3649d417d81
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [bazel][libc] Fix BUILD after ff409d39ce4673c70f474c3fdb7120bab8f94eef.


  Commit: 5f6e0f35f936495563b5758a7ff9d4417a9f651b
      https://github.com/llvm/llvm-project/commit/5f6e0f35f936495563b5758a7ff9d4417a9f651b
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M flang/runtime/assign.cpp
    M flang/runtime/derived.cpp

  Log Message:
  -----------
  [flang][runtime] Destroy nested allocatable components (#81117)

The runtime was currently only deallocating the direct allocatable
components, which caused leaks when there are allocatable components
nested in the direct components.

Update Destroy to recursively destroy components.

Also call Destroy from Assign to deallocate nested allocatable
components before doing the assignment as required by F2018 9.7.3.2
point 7.

This lack of deallocation was visible if the nested components had user
defined assignment "observing" the allocation state.


  Commit: 0d0bd3ef55a2317c4254e97a3657e702bcf22214
      https://github.com/llvm/llvm-project/commit/0d0bd3ef55a2317c4254e97a3657e702bcf22214
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M flang/runtime/copy.cpp
    M flang/runtime/derived.cpp

  Log Message:
  -----------
  [flang] Deep copy nested allocatable components in transformational (#81736)

Spread, reshape, pack, and other transformational intrinsic runtimes are
using `CopyElement` utility to copy elements. This utility was dealing
with deep copies, but only when the allocatable components where
"immediate" components of the type being copied. If the allocatable
components were nested inside a nonpointer/nonallocatable component,
they were not deep copied, leading to bugs later when manipulating the
value (or double free when applying #81117).

Visit data components with allocatable components (using the
noDestructionNeeded flag to avoid expensive and useless type visit when
there are no such components).


  Commit: e769fb8699e3fa8e40623764f7713bfc783b0330
      https://github.com/llvm/llvm-project/commit/e769fb8699e3fa8e40623764f7713bfc783b0330
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M flang/lib/Lower/Bridge.cpp
    A flang/test/Lower/HLFIR/issue80884.f90

  Log Message:
  -----------
  [flang] prevent legacy lowering from being called in pointer assignment (#81750)

When doing a pointer assignment with an RHS that is an array section,
the code fell in the legacy lowering code even with HLFIR enabled.
Escape this old code when HLFIR is on.

Should fix #80884.


  Commit: cd55e230e629f57db742e831c79488d04f68f4e7
      https://github.com/llvm/llvm-project/commit/cd55e230e629f57db742e831c79488d04f68f4e7
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir

  Log Message:
  -----------
  [RISCV] Use $noreg in vsetvli-insert.mir test. NFC

This reflects what actually comes out of SelectionDAG after the noreg passthru
peephole added in a63bd7e99b00c.


  Commit: 4a32a414ee07bf15c47ba7fb7286d968e73a04fe
      https://github.com/llvm/llvm-project/commit/4a32a414ee07bf15c47ba7fb7286d968e73a04fe
  Author: Mikael Holmen <mikael.holmen at ericsson.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Sema/SemaDecl.cpp

  Log Message:
  -----------
  [clang] Fix two gcc warnings about unused variables [NFC]

Without the fix gcc warns like
 ../../clang/lib/Sema/SemaDecl.cpp:2963:24: warning: unused variable 'SupA' [-Wunused-variable]
  2963 |   else if (const auto *SupA = dyn_cast<SuppressAttr>(Attr))
       |                        ^~~~
and
 ../../clang/lib/Driver/Driver.cpp:4192:17: warning: unused variable 'IAA' [-Wunused-variable]
  4192 |       if (auto *IAA = dyn_cast<InstallAPIJobAction>(Current)) {
       |                 ^~~

Remove the unused variables and change the "dyn_cast"s into "isa"s.


  Commit: ba279934c6ab09d5394a89d8318651aefd8d565b
      https://github.com/llvm/llvm-project/commit/ba279934c6ab09d5394a89d8318651aefd8d565b
  Author: Paul Semel <semelpaul at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [dataflow] Fix crash when InitListExpr is not a prvalue (#80970)


  Commit: c6a7c4d70a7c25f73e46b7d2e7e4867c3b78223e
      https://github.com/llvm/llvm-project/commit/c6a7c4d70a7c25f73e46b7d2e7e4867c3b78223e
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td

  Log Message:
  -----------
  [AMDGPU] Add 256-bit vdst and 96-bit src to profile switches. NFC. (#81801)

I need these operands for a future patch. Also simplify conditions
there. If nothing using !cond instead of nesting !if's does not need to
realign code every time a new type is added.


  Commit: f6f8e202f59f54429878f41bcc9aea614613a4af
      https://github.com/llvm/llvm-project/commit/f6f8e202f59f54429878f41bcc9aea614613a4af
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Refactor Combine G_CONCAT_VECTOR (#80866)

The combine now works using tablegen and checks if new instruction is
legal before creating it.


  Commit: 09b80e6145a2e619fa8ff486a04cdc7d1534a81a
      https://github.com/llvm/llvm-project/commit/09b80e6145a2e619fa8ff486a04cdc7d1534a81a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/ClangOptionDocs.td
    M clang/include/clang/Driver/Options.td
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp
    M flang/docs/FlangOptionsDocs.td

  Log Message:
  -----------
  [clang][flang][driver] Correct program names in option group descriptions (#81726)

Currently https://flang.llvm.org/docs/FlangCommandLineReference.html
refers to "Clang" in several of the group descriptions for example:
```
Compilation options

Flags controlling the behavior of Clang during compilation...
```

This is pretty confusing. I'm fixing this by making use of `Program`
from the existing GlobalDocumentation object to substitute in the
program name to these descriptions.

This `Program` has been changed to a proper noun given that it's easier
to lower case a string than capitalise one character (syntax wise). The
tablegen backend has been changed to lower it so that links in the
RST/HTML remain the same as they were before.

To make sure the file is valid when not generating docs, I'm checking a
#define and providing a default GlobalDocumentation if it's not defined.
(I looked for a way to check if a def exists, but tablegen doesn't seem
to have one)

This means that if the DocBrief are used outside of documentation,
they'll say "Clang", which is the same as it always was.

This change does not aim fix option descriptions that refer to clang.
Though we can use parts of this for that, there is only one driver
library so it needs a different approach.

This change also fixes the warning:
```
/home/buildbot/as-worker-4/publish-sphinx-docs/build/tools/flang/docs/Source/FlangCommandLineReference.rst:194: WARNING: unknown document: 'DiagnosticsReference'
```
Which is due to flang docs trying to link to clang docs. Now it will
just tell the reader to go to Clang's page, which is not ideal but it is
easy to find with Google at least.


  Commit: dfb9bf35c42a04a8f152dabf0a9d1a52e451f942
      https://github.com/llvm/llvm-project/commit/dfb9bf35c42a04a8f152dabf0a9d1a52e451f942
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/test/CodeGen/SPIRV/transcoding/spec_const.ll

  Log Message:
  -----------
  let a user select preferred/unpreferred capabilities in a list of enabling capabilities (#81476)

By SPIR-V specification: "If an instruction, enumerant, or other feature
specifies multiple enabling capabilities, only one such
capability needs to be declared to use the feature."

However, one capability may be preferred over another. One important
case is Shader capability that may not be supported by a backend, but
always is inserted if "OpDecorate SpecId" is found, because Enabling
Capabilities for the latter is the list of Shader and Kernel, where
Shader is coming first and thus always selected as the first available
option.

In this PR we address the problem by keeping current behaviour of
selecting the first option among enabling capabilities as is, but giving
a user a way to filter capabilities during the selection process via a
newly introduced "--avoid-spirv-capabilities" command line option. This
option is to avoid selection of certain capabilities if there are other
available enabling capabilities.

This PR is changing also existing pruneCapabilities() function. It
doesn't remove capability from module requirement anymore, but only adds
implicitly required capabilities recursively, so its name is changed
accordingly. This change fixes the present bug in collecting required by
a module capabilities. Before the change, introduced by this PR,
pruneCapabilities() function has been removing, for example, Kernel
capability from required by a module, because Kernel is initially
required and the second time it was needed pruneCapabilities() removed
it by mistake.


  Commit: 9552a396ed649e499bc4a370ab72ca6972e5b982
      https://github.com/llvm/llvm-project/commit/9552a396ed649e499bc4a370ab72ca6972e5b982
  Author: Vyacheslav Levytskyy <89994100+VyacheslavLevytskyy at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
    A llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll

  Log Message:
  -----------
  add support for the SPV_KHR_linkonce_odr extension (#81512)

This PR adds support for the SPV_KHR_linkonce_odr extension and modifies
existing negative test with a positive check for the extension and
proper linkage type in case when the extension is enabled.

SPV_KHR_linkonce_odr adds a "LinkOnceODR" linkage type, allowing proper
translation of, for example, C++ templates classes merging during
linking from different modules and supporting any other cases when a
global variable/function must be merged with equivalent global
variable(s)/function(s) from other modules during the linking process.


  Commit: 97c19a46cd177b19667a65db8720e92ff91c7b2e
      https://github.com/llvm/llvm-project/commit/97c19a46cd177b19667a65db8720e92ff91c7b2e
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir

  Log Message:
  -----------
  [mlir][ArmSME][nfc] Add integration test for i8 to i32 matmul (#81607)

Currently marked as XFAIL due to bug in QEMU. See test for details.


  Commit: 2df652a69159b76c97cfd94e32ad6bb71dde716c
      https://github.com/llvm/llvm-project/commit/2df652a69159b76c97cfd94e32ad6bb71dde716c
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/postra-machine-sink.mir

  Log Message:
  -----------
  [CodeGen] Simplify updateLiveIn in MachineSink (#79831)

When a whole register is added a basic block's liveins, use
LaneBitmask::getAll for the live lanes instead of trying to calculate an
accurate mask of the lanes that comprise the register.

This simplifies the code and matches other places where a whole register
is marked as livein.

This also avoids problems when regunits that are synthesized by TableGen
to represent ad hoc aliasing have a lane mask of 0.

Fixes #78942


  Commit: b279ca278370dabd27b8d380d59bdb5018366053
      https://github.com/llvm/llvm-project/commit/b279ca278370dabd27b8d380d59bdb5018366053
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/ctpop-mask.ll

  Log Message:
  -----------
  [DAG] visitCTPOP - CTPOP(SHIFT(X)) -> CTPOP(X) iff the shift doesn't affect any non-zero bits

If the source is being (logically) shifted, but doesn't affect any active bits, then we can call CTPOP on the shift source directly.


  Commit: 0636309051f3b1a2b87047770bb3f7df1f3e27c3
      https://github.com/llvm/llvm-project/commit/0636309051f3b1a2b87047770bb3f7df1f3e27c3
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Function.h

  Log Message:
  -----------
  Fix MSVC "signed/unsigned mismatch" warning. NFC.


  Commit: 7c422dde8de7382e494615aa2553aa4e27e8b204
      https://github.com/llvm/llvm-project/commit/7c422dde8de7382e494615aa2553aa4e27e8b204
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [X86] shuffle combines - share the same SDLoc argument instead of recreating it over and over again.


  Commit: fd191378dce6b20c100da716f94130af2593df37
      https://github.com/llvm/llvm-project/commit/fd191378dce6b20c100da716f94130af2593df37
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
    A llvm/test/tools/llvm-dlltool/arm64ec.test

  Log Message:
  -----------
  [llvm-dlltool] Add ARM64EC target support. (#81624)

Add new target and a new -n option allowing to specify native module
definition file, similar to how -defArm64Native works in llvm-lib. This
also changes archive format to use K_COFF like non-mingw targets. It's
required on ARM64EC, but it should be fine for other targets too.


  Commit: 3fe5a0cfa5391db18fcc226f3f783642d3f44503
      https://github.com/llvm/llvm-project/commit/3fe5a0cfa5391db18fcc226f3f783642d3f44503
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  MCDCCoverageBuilder: Use `pop_back_val()`


  Commit: 75f0d40507ea3f7c99dd3250ff0fbe6dab341910
      https://github.com/llvm/llvm-project/commit/75f0d40507ea3f7c99dd3250ff0fbe6dab341910
  Author: NAKAMURA Takumi <geek4civic at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    M llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h

  Log Message:
  -----------
  CoverageMapping: Move `getParams<InnerParamTy>(MCDCParams)` into `mcdc::`

Fixup for #81227


  Commit: e71369fcb039b7a5f555862f49867ee45ec1ccf5
      https://github.com/llvm/llvm-project/commit/e71369fcb039b7a5f555862f49867ee45ec1ccf5
  Author: Leandro Lupori <leandro.lupori at linaro.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP.cpp
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [mlir][OpenMP] Add copyprivate support to omp.single (#80477)

This adds a new custom CopyPrivateVarList to the single operation.
Each list item is formed by a reference to the variable to be
updated, its type and the function to be used to perform the copy.

It will be translated to LLVM IR using OpenMP builder, that will
use the information in the copyprivate list to call
__kmpc_copyprivate.

This is patch 2 of 4, to add support for COPYPRIVATE in Flang.
Original PR: https://github.com/llvm/llvm-project/pull/73128


  Commit: 594d57e07a92e3a2cefb262114db2608989f874d
      https://github.com/llvm/llvm-project/commit/594d57e07a92e3a2cefb262114db2608989f874d
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [TableGen] New RegUnitSet(Name) constructor. NFC.


  Commit: 9f2d8cdf4209638973a0611fa2efd4e2fe38bfa5
      https://github.com/llvm/llvm-project/commit/9f2d8cdf4209638973a0611fa2efd4e2fe38bfa5
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td

  Log Message:
  -----------
  [flang][clang][docs] Split out Clang specific doc text for -mrvv-vector-bits

Flang does not set the preprocessor define.


  Commit: 32fcfcdc4cc1d68116438f761897953894d65fb1
      https://github.com/llvm/llvm-project/commit/32fcfcdc4cc1d68116438f761897953894d65fb1
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [bazel][mlir] Remove unused BUILD dependencies. (#81836)


  Commit: 9cc98e336980f00cbafcbed8841344e6ac472bdc
      https://github.com/llvm/llvm-project/commit/9cc98e336980f00cbafcbed8841344e6ac472bdc
  Author: ostannard <oliver.stannard at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Sema/Sema.cpp
    A clang/test/CodeGen/aarch64-soft-float-abi.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    A clang/test/Driver/aarch64-soft-float-abi.c
    M clang/test/Preprocessor/aarch64-target-features.c
    A clang/test/Sema/aarch64-soft-float-abi.c
    A llvm/test/CodeGen/AArch64/soft-float-abi.ll

  Log Message:
  -----------
  [AArch64] Add soft-float ABI (#74460)

This adds support for the AArch64 soft-float ABI. The specification for
this ABI was added by https://github.com/ARM-software/abi-aa/pull/232.

Because all existing AArch64 hardware has floating-point hardware, we
expect this to be a niche option, only used for embedded systems on
R-profile systems. We are going to document that SysV-like systems
should only ever use the base (hard-float) PCS variant:
https://github.com/ARM-software/abi-aa/pull/233. For that reason, I've
not added an option to select the ABI independently of the FPU hardware,
instead the new ABI is enabled iff the target architecture does not have
an FPU.

For testing, I have run this through an ABI fuzzer, but since this is
the first implementation it can only test for internal consistency
(callers and callees agree on the PCS), not for conformance to the ABI
spec.


  Commit: 43b291cbecca155a905f52f37b2b1bea7e9aba76
      https://github.com/llvm/llvm-project/commit/43b291cbecca155a905f52f37b2b1bea7e9aba76
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel

  Log Message:
  -----------
  [bazel][mlir] Add missing dependencies to toy BUILD targets.


  Commit: c448bd8b043f57ac51145664d2edde6dae98e5ea
      https://github.com/llvm/llvm-project/commit/c448bd8b043f57ac51145664d2edde6dae98e5ea
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [bazel][mlir] Add missing dependencies to //mlir/unittests/... targets.


  Commit: b9cf7f1066cc7ec11c6074d10b0f2ec9a3ae72d9
      https://github.com/llvm/llvm-project/commit/b9cf7f1066cc7ec11c6074d10b0f2ec9a3ae72d9
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/test/C/C2x/n2934.c
    M clang/test/Parser/c2x-alignas.c

  Log Message:
  -----------
  [C23] Fix handling of alignas (#81637)

In C++, alignas is an attribute specifier, while in C23, it's an alias
of _Alignas, which is a type specifier/qualifier. This means that they
parse differently in some circumstances.

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


  Commit: 5b8e7ed787f6e537876c4fdafd070eba9681f343
      https://github.com/llvm/llvm-project/commit/5b8e7ed787f6e537876c4fdafd070eba9681f343
  Author: Oliver Stannard <oliver.stannard at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/Driver/aarch64-soft-float-abi.c

  Log Message:
  -----------
  [AArch64][Driver] Mark test as requiring AArch64 backend


  Commit: fcb5a98eb803f53069554fdc755d648bbdf24dae
      https://github.com/llvm/llvm-project/commit/fcb5a98eb803f53069554fdc755d648bbdf24dae
  Author: Christian Sigg <csigg at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  Revert "[bazel][mlir] Remove unused BUILD dependencies. (#81836)"

This reverts commit 32fcfcdc4cc1d68116438f761897953894d65fb1.


  Commit: 95e8a7c863d17b929232d3e57007d342ffb3001d
      https://github.com/llvm/llvm-project/commit/95e8a7c863d17b929232d3e57007d342ffb3001d
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [libc][stdfix] Use __FRACT_FBIT__ for fixed point support detection instead of compiler version. (#81820)

Now that `__FRACT_FBIT__` and related macros are added in
https://github.com/llvm/llvm-project/pull/81207, it is safer to use them
for fixed point support detection, so that codes that do not use fixed
point types will not fail to build when `-ffixed-point` is missing.


  Commit: 513e4dc1af5e0a57dab5cd8df6fb1fc9e82b1e33
      https://github.com/llvm/llvm-project/commit/513e4dc1af5e0a57dab5cd8df6fb1fc9e82b1e33
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/integer_literals.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  [reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81835)

This is a reland of #81746


  Commit: c609211d912dfa9849c5ca873d40d10e32e0a975
      https://github.com/llvm/llvm-project/commit/c609211d912dfa9849c5ca873d40d10e32e0a975
  Author: Fred Tingaud <95592999+frederic-tingaud-sonarsource at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/AST/DeclBase.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [clang] Fix isInStdNamespace for Decl flagged extern c++ (#81776)

The MSVC STL implementation declares multiple classes using:

```cpp
namespace std {
  extern "C++" class locale {
    ...
  };
}
```

`isInStdNamespace` uses the first DeclContext to check whether a Decl is
inside the `std` namespace. Here, the first DeclContext of the `locale`
Decl is a LinkageSpecDecl so the method will return false.
We need to skip this LinkageSpecDecl to find the first DeclContext of
type Namespace and actually check whether we're in the `std` namespace.


  Commit: d68aa303fe779a29a981d1d4166c45a128aa65d6
      https://github.com/llvm/llvm-project/commit/d68aa303fe779a29a981d1d4166c45a128aa65d6
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvalEmitter.h
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/test/AST/Interp/c.c
    M clang/test/Sema/warn-char-subscripts.c

  Log Message:
  -----------
  [clang][Interp] Do r-to-l conversion immediately when returning (#80662)

First, we need to register local constant variables in C, so we get the
same diagnostic behavior as the current interpeter.

Second, when returning an LValue (as a Pointer), which we eventually
convert to an RValue, we need to do the conversion immediately when
saving the Pointer in the EvaluationResult. Otherwise, we will possibly
deallocate the data before doing the conversion (which will look at the
Block*).


  Commit: 97ab3c345d5c7de80dde3f8bd350841050244db9
      https://github.com/llvm/llvm-project/commit/97ab3c345d5c7de80dde3f8bd350841050244db9
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [libc][NFC] Fix missing `constexpr` qualifier in `cpp::array` (#81862)


  Commit: 84165864d458edce750f3a10d5dbd348970893b6
      https://github.com/llvm/llvm-project/commit/84165864d458edce750f3a10d5dbd348970893b6
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/UInt.h

  Log Message:
  -----------
  [libc][NFC] Fix missing replacement in BigInt (#81864)


  Commit: 7677453886a665b37f22c77434b36a680aba6ebb
      https://github.com/llvm/llvm-project/commit/7677453886a665b37f22c77434b36a680aba6ebb
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll

  Log Message:
  -----------
  [ConstantFolding] Do not consider padded-in-memory types as uniform (#81854)

Teaching ConstantFoldLoadFromUniformValue that types that are padded in
memory can't be considered as uniform.

Using the big hammer to prevent optimizations when loading from a
constant for which DataLayout::typeSizeEqualsStoreSize would return
false.

Main problem solved would be something like this:
  store i17 -1, ptr %p, align 4
  %v = load i8, ptr %p, align 1
If for example the i17 occupies 32 bits in memory, then LLVM IR doesn't
really tell where the padding goes. And even if we assume that the 15
most significant bits are padding, then they should be considered as
undefined (even if LLVM backend typically would pad with zeroes).
Anyway, for a big-endian target the load would read those most
significant bits, which aren't guaranteed to be one's. So it would be
wrong to constant fold the load as returning -1.

If LLVM IR had been more explicit about the placement of padding, then
we could allow the constant fold of the load in the example, but only
for little-endian.

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


  Commit: d3b825f80a979faf780605c8168c32bcbab756e1
      https://github.com/llvm/llvm-project/commit/d3b825f80a979faf780605c8168c32bcbab756e1
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td

  Log Message:
  -----------
  [AMDGPU] Use consistent DecoderNamespace for wave64 instructions. NFC. (#81863)

For wave64 WMMA instructions, putting W64 in the DecoderNamespace is
more descriptive than WMMA, and matches other uses for GFX12
GLOBAL_LOAD_TR instructions.


  Commit: 6e11ed240ba1769528d3eae47c7b8bbf9e4df19b
      https://github.com/llvm/llvm-project/commit/6e11ed240ba1769528d3eae47c7b8bbf9e4df19b
  Author: FruitClover <m.kashkarov at samsung.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Parse/RAIIObjectsForParser.h

  Log Message:
  -----------
  [clang][OpenACC] Fix copy-paste name in ParsingOpenACCDirectiveRAII (#81796)


  Commit: f20935266958ccb43ee6abe24e69c46f1d825365
      https://github.com/llvm/llvm-project/commit/f20935266958ccb43ee6abe24e69c46f1d825365
  Author: Bryce Wilson <bryce at brycemw.ca>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/builtins-overflow.cpp

  Log Message:
  -----------
  [clang] Allow builtin addc/subc to be constant evaluated (#81656)

[clang] Allow builtin addc/subc to be constant evaluated


  Commit: 630548a11423a40c5496cec78001374bfb8ff741
      https://github.com/llvm/llvm-project/commit/630548a11423a40c5496cec78001374bfb8ff741
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/CXX/drs/dr23xx.cpp

  Log Message:
  -----------
  [clang][NFC] Keep the order of DRs in dr23xx.cpp


  Commit: 3a626937b1b652e3c87cd0050df9c24cc5127d3b
      https://github.com/llvm/llvm-project/commit/3a626937b1b652e3c87cd0050df9c24cc5127d3b
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll

  Log Message:
  -----------
  [RISCV][TTI] Extract subvector at index zero is free (#81751)

Extracing a subvector at index zero corresponds to a type conversion and
possibly a subregister operation. We will not emit a vslidedown. As
such, they are free.

As an aside, it looks like we're not passing an index in for cases where
the subvec type is scalable. For at least index zero, we probably should
be.


  Commit: 2d616ec4f040141e103965f98456ba523762735d
      https://github.com/llvm/llvm-project/commit/2d616ec4f040141e103965f98456ba523762735d
  Author: Anton Lydike <me at AntonLydike.de>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/IR/MPI.h
    A mlir/include/mlir/Dialect/MPI/IR/MPI.td
    A mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
    A mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/CMakeLists.txt
    A mlir/lib/Dialect/MPI/CMakeLists.txt
    A mlir/lib/Dialect/MPI/IR/CMakeLists.txt
    A mlir/lib/Dialect/MPI/IR/MPI.cpp
    A mlir/lib/Dialect/MPI/IR/MPIOps.cpp
    A mlir/test/Dialect/MPI/ops.mlir

  Log Message:
  -----------
  [mlir] Initial patch to add an MPI dialect (#68892)

This patch introduces the new MPI dialect into MLIR. The Message Passing
Interface (MPI) is a widely-used standard for distributed programs to
exchange data. This PR goes together with a talk later at today's LLVM
Dev Meeting.

This is just a first, small patch to get going and add the necessary
base files, so that we can add more operations in further patches.

Here's the documentation as generated by `ninja mlir-doc`:
# 'mpi' Dialect

This dialect models the Message Passing Interface (MPI), version 
4.0. It is meant to serve as an interfacing dialect that is targeted
by higher-level dialects. The MPI dialect itself can be lowered to 
multiple MPI implementations and hide differences in ABI. The dialect
models the functions of the MPI specification as close to 1:1 as
possible
while preserving SSA value semantics where it makes sense, and uses 
`memref` types instead of bare pointers.

This dialect is under active development, and while stability is an
eventual goal, it is not guaranteed at this juncture. Given the early 
state, it is recommended to inquire further prior to using this dialect.

For an in-depth documentation of the MPI library interface, please refer
to official documentation such as the 
[OpenMPI online documentation](https://www.open-mpi.org/doc/current/).

[TOC]

## Operation definition

### `mpi.comm_rank` (mpi::CommRankOp)

_Get the current rank, equivalent to `MPI_Comm_rank(MPI_COMM_WORLD,
&rank)`_


Syntax:

```
operation ::= `mpi.comm_rank` attr-dict `:` type(results)
```

Communicators other than `MPI_COMM_WORLD` are not supported for now.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
| `rank` | 32-bit signless integer


### `mpi.error_class` (mpi::ErrorClassOp)

_Get the error class from an error code, equivalent to the
`MPI_Error_class` function_


Syntax:

```
operation ::= `mpi.error_class` $val attr-dict `:` type($val)
```

`MPI_Error_class` maps return values from MPI calls to a set of
well-known
MPI error classes.

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value

#### Results:

| Result | Description |
| :----: | ----------- |
| `errclass` | MPI function call return value


### `mpi.finalize` (mpi::FinalizeOp)

_Finalize the MPI library, equivalent to `MPI_Finalize()`_


Syntax:

```
operation ::= `mpi.finalize` attr-dict (`:` type($retval)^)?
```

This function cleans up the MPI state. Afterwards, no MPI methods may 
be invoked (excpet for MPI_Get_version, MPI_Initialized, and
MPI_Finalized).
Notably, MPI_Init cannot be called again in the same program.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


### `mpi.init` (mpi::InitOp)

_Initialize the MPI library, equivalent to `MPI_Init(NULL, NULL)`_


Syntax:

```
operation ::= `mpi.init` attr-dict (`:` type($retval)^)?
```

This operation must preceed most MPI calls (except for very few
exceptions,
please consult with the MPI specification on these).

Passing &argc, &argv is not supported currently.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


### `mpi.recv` (mpi::RecvOp)

_Equivalent to `MPI_Recv(ptr, size, dtype, dest, tag, MPI_COMM_WORLD,
MPI_STATUS_IGNORE)`_


Syntax:

```
operation ::= `mpi.recv` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```

MPI_Recv performs a blocking receive of `size` elements of type `dtype` 
from rank `dest`. The `tag` value and communicator enables the library
to
determine the matching of multiple sends and receives between the same 
ranks.

Communicators other than `MPI_COMM_WORLD` are not supprted for now.
The MPI_Status is set to `MPI_STATUS_IGNORE`, as the status object 
is not yet ported to MLIR.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


### `mpi.retval_check` (mpi::RetvalCheckOp)

_Check an MPI return value against an error class_


Syntax:

```
operation ::= `mpi.retval_check` $val `=` $errclass attr-dict `:` type($res)
```

This operation compares MPI status codes to known error class
constants such as `MPI_SUCCESS`, or `MPI_ERR_COMM`.

#### Attributes:

<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>

<tr><td><code>errclass</code></td><td>::mlir::mpi::MPI_ErrorClassEnumAttr</td><td><details><summary>MPI
error class name</summary>{{% markdown %}}Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* MPI_ERR_ARG (`MPI_ERR_ARG`)
* MPI_ERR_ASSERT (`MPI_ERR_ASSERT`)
* MPI_ERR_BAD_FILE (`MPI_ERR_BAD_FILE`)
* MPI_ERR_BASE (`MPI_ERR_BASE`)
* MPI_ERR_BUFFER (`MPI_ERR_BUFFER`)
* MPI_ERR_COMM (`MPI_ERR_COMM`)
* MPI_ERR_CONVERSION (`MPI_ERR_CONVERSION`)
* MPI_ERR_COUNT (`MPI_ERR_COUNT`)
* MPI_ERR_DIMS (`MPI_ERR_DIMS`)
* MPI_ERR_DISP (`MPI_ERR_DISP`)
* MPI_ERR_DUP_DATAREP (`MPI_ERR_DUP_DATAREP`)
* MPI_ERR_ERRHANDLER (`MPI_ERR_ERRHANDLER`)
* MPI_ERR_FILE (`MPI_ERR_FILE`)
* MPI_ERR_FILE_EXISTS (`MPI_ERR_FILE_EXISTS`)
* MPI_ERR_FILE_IN_USE (`MPI_ERR_FILE_IN_USE`)
* MPI_ERR_GROUP (`MPI_ERR_GROUP`)
* MPI_ERR_INFO (`MPI_ERR_INFO`)
* MPI_ERR_INFO_KEY (`MPI_ERR_INFO_KEY`)
* MPI_ERR_INFO_NOKEY (`MPI_ERR_INFO_NOKEY`)
* MPI_ERR_INFO_VALUE (`MPI_ERR_INFO_VALUE`)
* MPI_ERR_IN_STATUS (`MPI_ERR_IN_STATUS`)
* MPI_ERR_INTERN (`MPI_ERR_INTERN`)
* MPI_ERR_IO (`MPI_ERR_IO`)
* MPI_ERR_KEYVAL (`MPI_ERR_KEYVAL`)
* MPI_ERR_LOCKTYPE (`MPI_ERR_LOCKTYPE`)
* MPI_ERR_NAME (`MPI_ERR_NAME`)
* MPI_ERR_NO_MEM (`MPI_ERR_NO_MEM`)
* MPI_ERR_NO_SPACE (`MPI_ERR_NO_SPACE`)
* MPI_ERR_NO_SUCH_FILE (`MPI_ERR_NO_SUCH_FILE`)
* MPI_ERR_NOT_SAME (`MPI_ERR_NOT_SAME`)
* MPI_ERR_OP (`MPI_ERR_OP`)
* MPI_ERR_OTHER (`MPI_ERR_OTHER`)
* MPI_ERR_PENDING (`MPI_ERR_PENDING`)
* MPI_ERR_PORT (`MPI_ERR_PORT`)
* MPI_ERR_PROC_ABORTED (`MPI_ERR_PROC_ABORTED`)
* MPI_ERR_QUOTA (`MPI_ERR_QUOTA`)
* MPI_ERR_RANK (`MPI_ERR_RANK`)
* MPI_ERR_READ_ONLY (`MPI_ERR_READ_ONLY`)
* MPI_ERR_REQUEST (`MPI_ERR_REQUEST`)
* MPI_ERR_RMA_ATTACH (`MPI_ERR_RMA_ATTACH`)
* MPI_ERR_RMA_CONFLICT (`MPI_ERR_RMA_CONFLICT`)
* MPI_ERR_RMA_FLAVOR (`MPI_ERR_RMA_FLAVOR`)
* MPI_ERR_RMA_RANGE (`MPI_ERR_RMA_RANGE`)
* MPI_ERR_RMA_SHARED (`MPI_ERR_RMA_SHARED`)
* MPI_ERR_RMA_SYNC (`MPI_ERR_RMA_SYNC`)
* MPI_ERR_ROOT (`MPI_ERR_ROOT`)
* MPI_ERR_SERVICE (`MPI_ERR_SERVICE`)
* MPI_ERR_SESSION (`MPI_ERR_SESSION`)
* MPI_ERR_SIZE (`MPI_ERR_SIZE`)
* MPI_ERR_SPAWN (`MPI_ERR_SPAWN`)
* MPI_ERR_TAG (`MPI_ERR_TAG`)
* MPI_ERR_TOPOLOGY (`MPI_ERR_TOPOLOGY`)
* MPI_ERR_TRUNCATE (`MPI_ERR_TRUNCATE`)
* MPI_ERR_TYPE (`MPI_ERR_TYPE`)
* MPI_ERR_UNKNOWN (`MPI_ERR_UNKNOWN`)
* MPI_ERR_UNSUPPORTED_DATAREP (`MPI_ERR_UNSUPPORTED_DATAREP`)
* MPI_ERR_UNSUPPORTED_OPERATION (`MPI_ERR_UNSUPPORTED_OPERATION`)
* MPI_ERR_VALUE_TOO_LARGE (`MPI_ERR_VALUE_TOO_LARGE`)
* MPI_ERR_WIN (`MPI_ERR_WIN`)
* MPI_ERR_LASTCODE (`MPI_ERR_LASTCODE`){{% /markdown
%}}</details></td></tr>
</table>

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value

#### Results:

| Result | Description |
| :----: | ----------- |
| `res` | 1-bit signless integer


### `mpi.send` (mpi::SendOp)

_Equivalent to `MPI_Send(ptr, size, dtype, dest, tag, MPI_COMM_WORLD)`_


Syntax:

```
operation ::= `mpi.send` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```

MPI_Send performs a blocking send of `size` elements of type `dtype` to
rank
`dest`. The `tag` value and communicator enables the library to
determine
the matching of multiple sends and receives between the same ranks.

Communicators other than `MPI_COMM_WORLD` are not supprted for now.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


## Attribute definition

### MPI_ErrorClassEnumAttr

MPI error class name

Syntax:

```
#mpi.errclass<
  ::mlir::mpi::MPI_ErrorClassEnum   # value
>
```

Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* ... *all other MPI error codes*

#### Parameters:

| Parameter | C++ type | Description |
| :-------: | :-------: | ----------- |
| value | `::mlir::mpi::MPI_ErrorClassEnum` | an enum of type
MPI_ErrorClassEnum |

## Type definition

### RetvalType

MPI function call return value

Syntax: `!mpi.retval`

This type represents a return value from an MPI function vall.
This value can be MPI_SUCCESS, MPI_ERR_IN_STATUS, or any error code.

This return value can be compared agains the known MPI error classes
represented by `#mpi.errclass` using the `mpi.retval_check` operation.


  Commit: 356400049064e1de5579a755a0feb174c0e561ef
      https://github.com/llvm/llvm-project/commit/356400049064e1de5579a755a0feb174c0e561ef
  Author: David Green <david.green at arm.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/neon-mov.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] FNeg constant materialization (#80643)

This is a Global ISel equivalent of #80641, creating fneg(movi) instead
of the alternative constant pool load or gpr dup.


  Commit: e6b52a2fe61d6cbc1ea3496cb826da25de0529ad
      https://github.com/llvm/llvm-project/commit/e6b52a2fe61d6cbc1ea3496cb826da25de0529ad
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/UInt.h

  Log Message:
  -----------
  [libc][NFC] Cleanup unnecessary template parameters in BigInt (#81871)


  Commit: c81929e9a843447fa52d21f7ce2e6788d740f2f4
      https://github.com/llvm/llvm-project/commit/c81929e9a843447fa52d21f7ce2e6788d740f2f4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Return std::nullopt explicitly.


  Commit: 9c6a2de24b6a9f01efd68546f7ab8c36f71a2352
      https://github.com/llvm/llvm-project/commit/9c6a2de24b6a9f01efd68546f7ab8c36f71a2352
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  [AMDGPU] Clean up functions for checking inline literals (#81282)

This patch cleans up functions for checking inline literals.


  Commit: 54826d4980db5782dac2d7326c29ad60cd017e56
      https://github.com/llvm/llvm-project/commit/54826d4980db5782dac2d7326c29ad60cd017e56
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/functions.cpp

  Log Message:
  -----------
  [clang][Interp] Emit dummy pointers for unknown static locals

We used to emit dummy pointers for unknown declarations in certain
cases in C, but this is also necessary in C++.

I'm limiting this to static local variables for now.


  Commit: 6cfbf8ccce8295b5d130c48a76a134da5f6194ae
      https://github.com/llvm/llvm-project/commit/6cfbf8ccce8295b5d130c48a76a134da5f6194ae
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/spec/spec.td
    M libc/spec/stdc.td
    M libc/utils/HdrGen/PublicAPICommand.cpp
    M libc/utils/HdrGen/PublicAPICommand.h

  Log Message:
  -----------
  [libc] add support for function level attributes (#79891)

See discussion at
https://discourse.llvm.org/t/rfc-support-function-attributes-in-user-interface/76624

Demo macro:
```c++
#if !defined(__LIBC_CONST_ATTR) && defined(__cplusplus) && defined(__GNUC__)
#if __has_attribute(const)
#define __LIBC_CONST_ATTR [[gnu::const]]
#endif
#endif
#if !defined(__LIBC_CONST_ATTR) && defined(__GNUC__)
#if __has_attribute(const)
#define __LIBC_CONST_ATTR __attribute__((const))
#endif
#endif
#if !defined(__LIBC_CONST_ATTR)
#define __LIBC_CONST_ATTR
#endif
```


  Commit: d485317357376ba6335fe7116efec8edcebd689c
      https://github.com/llvm/llvm-project/commit/d485317357376ba6335fe7116efec8edcebd689c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [TargetLowering] Emit SIGN_EXTEND_INREG instead of shift pair from optimizeSetCCOfSignedTruncationCheck. (#81785)

sext_inreg is our canonical form of shift pair before op legalization so
DAG combiner will probably create it anyway. If it isn't legal
LegalizeDAG will expand to shifts later.


  Commit: 537500995a1396a65c37d575216d81a33bd99656
      https://github.com/llvm/llvm-project/commit/537500995a1396a65c37d575216d81a33bd99656
  Author: Jacob Lambert <jacob.lambert at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/include/llvm/Support/CommandLine.h

  Log Message:
  -----------
  [llvm][Support] Add quotes around option name (#81784)


  Commit: a1d4c69344f5a2c55043fdc0e43ebf76459eda95
      https://github.com/llvm/llvm-project/commit/a1d4c69344f5a2c55043fdc0e43ebf76459eda95
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/integer_literals.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  Revert "[reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants" (#81882)

Reverts llvm/llvm-project#81835
This is breaking arm32 which does not support 64 bit types.


  Commit: 2eaeae7e9a298b8a4c9a313f914c42f1e0b82c39
      https://github.com/llvm/llvm-project/commit/2eaeae7e9a298b8a4c9a313f914c42f1e0b82c39
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/Object/Wasm.h
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/test/tools/llvm-nm/wasm/exports.yaml
    M llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml
    M llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml

  Log Message:
  -----------
  [Object][Wasm] Use offset instead of index for Global address and store size (#81781)

Currently the address reported by binutils for a global is its index;
but its offset (in the file or section) is more useful for binary size
attribution.
This PR treats globals similarly to functions, and tracks their offset
and size. It also centralizes the logic differentiating linked from object
and dylib files (where section addresses are 0).


  Commit: f905877f2039e97479425e4d78cbfde72f360b4d
      https://github.com/llvm/llvm-project/commit/f905877f2039e97479425e4d78cbfde72f360b4d
  Author: Alexander Yermolovich <43973793+ayermolo at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp

  Log Message:
  -----------
  [LLVM][DWARF] Fix for memory leak (#81828)

This is followup to https://github.com/llvm/llvm-project/pull/8120.
Missed a destuctor.


  Commit: 8bda8cfae6aa3c32cca7997ab64771e6a78f3e61
      https://github.com/llvm/llvm-project/commit/8bda8cfae6aa3c32cca7997ab64771e6a78f3e61
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/CXX/drs/dr23xx.cpp

  Log Message:
  -----------
  [clang][NFC] Fix buildbot failure in drs/23xx.cpp

This is a follow-up to 630548a11423a40c5496cec78001374bfb8ff741, which fixed builtbot failure https://lab.llvm.org/buildbot/#/builders/188/builds/41930


  Commit: 1fe8e2b6dbf16f60b3c6cc5f81c62be8a0e91e5b
      https://github.com/llvm/llvm-project/commit/1fe8e2b6dbf16f60b3c6cc5f81c62be8a0e91e5b
  Author: Kunwar Grover <groverkss at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/CMakeLists.txt
    R mlir/include/mlir/Dialect/MPI/CMakeLists.txt
    R mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
    R mlir/include/mlir/Dialect/MPI/IR/MPI.h
    R mlir/include/mlir/Dialect/MPI/IR/MPI.td
    R mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
    R mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/CMakeLists.txt
    R mlir/lib/Dialect/MPI/CMakeLists.txt
    R mlir/lib/Dialect/MPI/IR/CMakeLists.txt
    R mlir/lib/Dialect/MPI/IR/MPI.cpp
    R mlir/lib/Dialect/MPI/IR/MPIOps.cpp
    R mlir/test/Dialect/MPI/ops.mlir

  Log Message:
  -----------
  Revert "[mlir] Initial patch to add an MPI dialect (#68892)" (#81884)

This reverts commit 2d616ec4f040141e103965f98456ba523762735d.

Buildbot failures:
https://lab.llvm.org/buildbot/#/builders/177/builds/29364


  Commit: f872706615cb928ec35ea35280536b59a22a2bf2
      https://github.com/llvm/llvm-project/commit/f872706615cb928ec35ea35280536b59a22a2bf2
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M compiler-rt/test/profile/instrprof-block-coverage.c
    M compiler-rt/test/profile/instrprof-entry-coverage.c

  Log Message:
  -----------
  [InstrProf] Test that entry coverage counts accumulate (#81806)


  Commit: 24144d726fefefb0245eb1c2700606002355f4fe
      https://github.com/llvm/llvm-project/commit/24144d726fefefb0245eb1c2700606002355f4fe
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/CMakeLists.txt
    A clang/lib/Sema/SemaOpenACC.cpp

  Log Message:
  -----------
  [OpenACC][NFC] Implement basic OpenACC Sema infrastructure (#81874)

This patch is split off from #81659, and contains just the Sema
infrastructure that we can later use to implement semantic analysis of
OpenACC constructs.


  Commit: 9b514235fc383e1b76b8044da273cc04bf5160a8
      https://github.com/llvm/llvm-project/commit/9b514235fc383e1b76b8044da273cc04bf5160a8
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for bugprone-argument-comment in ValueBoundsOpInterface.cpp (NFC)


  Commit: de2f5bcd797a22bfa38791ac4e769ec194850560
      https://github.com/llvm/llvm-project/commit/de2f5bcd797a22bfa38791ac4e769ec194850560
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/IR/AsmPrinter.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in AsmPrinter.cpp (NFC)


  Commit: b39958c2e8b9b4e357facabdc303cda4cbf2bc0d
      https://github.com/llvm/llvm-project/commit/b39958c2e8b9b4e357facabdc303cda4cbf2bc0d
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/IR/BuiltinDialectBytecode.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-else-after-return in BuiltinDialectBytecode.cpp (NFC)


  Commit: e8d09a5b44de95f8cc675fce21b06dd45955e05a
      https://github.com/llvm/llvm-project/commit/e8d09a5b44de95f8cc675fce21b06dd45955e05a
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/IR/Operation.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-identifier-naming in Operation.cpp (NFC)


  Commit: 6f2414261beddd111a460a6f48666ec6032db6f5
      https://github.com/llvm/llvm-project/commit/6f2414261beddd111a460a6f48666ec6032db6f5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/Support/Timing.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-include-order in Timing.cpp (NFC)


  Commit: e82659fff2f07b5ea1d94e0d8bcb9c540d6bede1
      https://github.com/llvm/llvm-project/commit/e82659fff2f07b5ea1d94e0d8bcb9c540d6bede1
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl

  Log Message:
  -----------
  [HLSL] Expose `half` types and intrinsics always (#81782)

We previously made an implmenetation error when adding `half` overloads
for HLSL library functionalitly. The `half` type is always defined in
HLSL and `half` intrinsics should not be conditionally included.

When native 16-bit types are disabled `half` is a unique 32-bit float
type with lesser promotion rank than `float`.

Fixes #81049


  Commit: 267d6b5ed2f0a4b1fcf7ac0138427905e431a3e1
      https://github.com/llvm/llvm-project/commit/267d6b5ed2f0a4b1fcf7ac0138427905e431a3e1
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-uzp1.ll

  Log Message:
  -----------
  [AArch64][SVE] Instcombine uzp1/reinterpret svbool to use vector.insert (#81069)

Concatenating two predictes using uzp1 after converting to double length
using sve.convert.to/from.svbool is optimized poorly in the backend,
resulting in additional `and` instructions to zero the lanes. See
https://github.com/llvm/llvm-project/pull/78623/

Combine this pattern to use `llvm.vector.insert` to concatenate and get
rid of convert to/from svbools.


  Commit: 08fe7df600aeff45917eb865d103d6c431f42285
      https://github.com/llvm/llvm-project/commit/08fe7df600aeff45917eb865d103d6c431f42285
  Author: Po-yao Chang <poyaoc97 at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h

  Log Message:
  -----------
  [libc++][format] Don't treat a closing '}' as part of format-spec (#81305)

This allows:
```
std::println("{}>42", std::thread::id{});
std::println("{}>42", std::span<int>{});
std::println("{}>42", std::pair{42, "Hello"sv});
std::println("{:}>42", std::thread::id{});
std::println("{:}>42", std::span<int>{});
std::println("{:}>42", std::pair{42, "Hello"sv});
```
to compile and run.


  Commit: 0f1847cb2c5462a09d65a9b5ac24904ac3c15a0f
      https://github.com/llvm/llvm-project/commit/0f1847cb2c5462a09d65a9b5ac24904ac3c15a0f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Use RISCVSubtarget::hasStdExtCOrZcd() in HasStdExtCOrZcd tablgen Predicate. NFC


  Commit: fc027e10ba3d343b583264776c8f4f8e82ad4560
      https://github.com/llvm/llvm-project/commit/fc027e10ba3d343b583264776c8f4f8e82ad4560
  Author: LRFLEW <LRFLEW at aol.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp

  Log Message:
  -----------
  linear_congruential_engine: Fixes for __lce_alg_picker (#81080)

This fixes two major mistakes in the implementation of
`linear_congruential_engine` that allowed it to produce incorrect
output. Specifically, these mistakes are in `__lce_alg_picker`, which is
used to determine whether Schrage's algorithm is valid and needed.

The first mistake is in the definition of `_OverflowOK`. The code
comment and the description of [D65041](https://reviews.llvm.org/D65041)
both indicate that it's supposed to be true iff `m` is a power of two.
However, the definition used does not work out to that, and instead is
true whenever `m` is even. This could result in
`linear_congruential_engine` using an invalid implementation, as it
would incorrectly assume that any integer overflow can't change the
result. I changed the implementation to one that accurately checks if
`m` is a power of two. Technically, this implementation has an edge case
where it considers `0` to be a power of two, but in this case this is
actually accurate behavior, as `m = 0` indicates a modulus of 2^w where
w is the size of `result_type` in bits, which *is* a power of two.

The second mistake is in the static assert. The original static assert
erroneously included an unnecessary `a != 0 || m != 0`. Combined with
the `|| !_MightOverflow`, this actually resulted in the static assert
being impossible to fail. Applying De Morgan's law and expanding
`_MightOverflow` gives that the only way this static assert can be
triggered is if `a == 0 && m == 0 && a != 0 && m != 0 && ...`, which
clearly cannot be true. I simply removed the explicit checks against `a`
and `m`, as the intended checks are already included in `_MightOverflow`
and `_SchrageOK`, and their inclusion doesn't provide any obvious
semantic benefit.

This should fix all the current instances where
`linear_congruential_engine` uses an invalid implementation. This
technically isn't a complete implementation, though, since the static
assert will cause some instantiations of `linear_congruential_engine`
not disallowed by the standard from compiling. However, this should
still be an improvement, as all compiling instantiations of
`linear_congruential_engine` should use a valid implementation. Fixing
the cases where the static assert triggers will require adding
additional implementations, some of which will be fairly non-trivial, so
I'd rather leave those for another PR so they don't hold up these more
important fixes.

Fixes #33554


  Commit: b57ba8ec514190b38eced26d541e8e25af66c485
      https://github.com/llvm/llvm-project/commit/b57ba8ec514190b38eced26d541e8e25af66c485
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Use APInt in useInversedSetcc to prevent crashes when mask is larger than UINT64_MAX. (#81888)

There are no checks that the type is legal so we need to handle any
type.


  Commit: 04381c106f1cb0d3219ddabe231fe900113a9474
      https://github.com/llvm/llvm-project/commit/04381c106f1cb0d3219ddabe231fe900113a9474
  Author: erman-gurses <99776114+erman-gurses at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
    M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
    M mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir

  Log Message:
  -----------
  [MLIR][AMDGPU]Add refactoring for shared-mem optimization (#81791)

Addressing the issues in this PR:
https://github.com/llvm/llvm-project/pull/81550


  Commit: 495c57ffedfedc98751f07295b7b6ce95bf3eb9c
      https://github.com/llvm/llvm-project/commit/495c57ffedfedc98751f07295b7b6ce95bf3eb9c
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/math_extras.h

  Log Message:
  -----------
  [libc] Make add_with_carry and sub_with_borrow constexpr. (#81898)


  Commit: f086d80d9a14cd9cd8908347bf34a8dfbcfecde9
      https://github.com/llvm/llvm-project/commit/f086d80d9a14cd9cd8908347bf34a8dfbcfecde9
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] Run documentation test build on change to the workflow

This makes it so that the documentation test build workflow will run
when the workflow itself is changed. This makes it much easier to test
inside of PRs that modify the workflow.


  Commit: efad1885bfbda7f456e0e6e1db660fe55515a4b9
      https://github.com/llvm/llvm-project/commit/efad1885bfbda7f456e0e6e1db660fe55515a4b9
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  Fix uncounted-obj-arg.cpp for Windows. (#81903)


  Commit: a1155f68f5d5c7013ca1deb312a2e1e4f71ef544
      https://github.com/llvm/llvm-project/commit/a1155f68f5d5c7013ca1deb312a2e1e4f71ef544
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/Sema/SemaOverload.cpp

  Log Message:
  -----------
  [NFC] Clang-format const array declarations

This just updates indentation of constant array declarations to be
style conformant.


  Commit: 6a8ab129300bfdf7cc58e023b06e0aada4458205
      https://github.com/llvm/llvm-project/commit/6a8ab129300bfdf7cc58e023b06e0aada4458205
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Properly emit call ops to invalid functions

Just like everywhere else, we can't just abort compilation because
a function is invalid. We need to emit the Call op and let later
interpretation handle the failure.

This fixes a long standing FIXME comment.


  Commit: 3e004d1e8bcf07e66ecccd17ac56882fbe9a5c41
      https://github.com/llvm/llvm-project/commit/3e004d1e8bcf07e66ecccd17ac56882fbe9a5c41
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M .github/workflows/docs.yml

  Log Message:
  -----------
  [Github] Enable warnings as errors on flang sphinx build (#72723)

Now that the number of warnings in the flang sphinx build has come down
significantly, we can turn on warnings as errors in the sphinx build,
which is the default configuration in CMake.


  Commit: 4d273b948ef064230091e41cf81f4c1b91d5beb4
      https://github.com/llvm/llvm-project/commit/4d273b948ef064230091e41cf81f4c1b91d5beb4
  Author: Aart Bik <39774503+aartbik at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/test/Dialect/SparseTensor/torch_linalg.mlir

  Log Message:
  -----------
  [mlir][sparse] ensure [dis]assembler wrapper methods properly inline (#81907)


  Commit: df81055955d564dccfd43a9faeb2f54c8c998f68
      https://github.com/llvm/llvm-project/commit/df81055955d564dccfd43a9faeb2f54c8c998f68
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/CXX/drs/dr12xx.cpp
    M clang/test/CXX/drs/dr18xx.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    M clang/test/CXX/drs/dr2335.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr4xx.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [clang] Do less advertising for unresolved issues in `cxx_dr_status.html` (#78836)

This patch places additional requirement on tests for open issues to
specify what do they test, and reduce their advertising on
`cxx_dr_status.html`.

Tests for open issues have to either provide date of the proposed
resolution they test, or a paper number that attempts to resolve the
issue. Examples from this patch: `// dr1223: 17 drafting 2023-05-12`,
`// dr2049: 18 drafting P2308R1`, `// dr2335: no drafting 2018-06`.

Tests for open issues are no longer advertised in `cxx_dr_status.html`
as tests for resolved issues. Instead, they are specified as `Not
Resolved*` (note the asterisk). Such statuses have a tooltip with the
following kind of text:
`Clang 17 implements 2023-05-12 resolution`
`Clang does not implement 2018-06-04 resolution` 
`Clang 18 implements P2308R1 resolution`
I admit that the wording is a bit crude, but I tried to minimize amount
of boilerplate in the `make_cxx_dr_status`. Hopefully, this whole setup
matches [C++ compiler
support](https://en.cppreference.com/w/cpp/compiler_support) page on
cppreference enough for people to catch up.

This patch also implement a quality-of-life feature for users of
`make_cxx_dr_status`: now script is able to report multiple bad `// dr`
comments in a single run.

This has also been discussed in a PR for CWG472 test:
https://github.com/llvm/llvm-project/pull/67948


  Commit: 65c25a4c40865a0e460c0fecb1b33f7cf7455573
      https://github.com/llvm/llvm-project/commit/65c25a4c40865a0e460c0fecb1b33f7cf7455573
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py

  Log Message:
  -----------
  [lldb][test] Skip TestDAP_commands.py test due to flakiness


  Commit: 82a4a41614f4943e6b2e85bbc8cb8507d2236524
      https://github.com/llvm/llvm-project/commit/82a4a41614f4943e6b2e85bbc8cb8507d2236524
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_rep.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h

  Log Message:
  -----------
  [libc][stdfix] Add support for fixed point types in the testing infrastructure. (#81819)


  Commit: b4972341462b4e892b4f24abe3f6970054f28b16
      https://github.com/llvm/llvm-project/commit/b4972341462b4e892b4f24abe3f6970054f28b16
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/function-args.ll
    M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
    A llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll

  Log Message:
  -----------
  [AMDGPU] Make maximum hard clause size a subtarget feature (#81287)

gfx11 chips may, in some conditions, behave incorrectly with S_CLAUSE
instructions (hard clauses) containing more than 32 operations (that is,
whose arguments exceed 0x1f). However, gfx10 targets will work
successfully with clauses of up to length 63.

Therefore, define the MaxHardClauseLength property on GCNSubtarget and
make it a subtarget feature via tablegen, thus allowing us to specify,
both now and in the future, the maximum viable size of clauses on
various hardware from the tablegen definition. If MaxHardClauseLength is
0, which is the default, the hardware does not support hard clauses.


  Commit: db4ea21dfde307f4fc873a6fe56791cd7ae3f0a1
      https://github.com/llvm/llvm-project/commit/db4ea21dfde307f4fc873a6fe56791cd7ae3f0a1
  Author: erichkeane <ekeane at nvidia.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.c
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/parse-constructs.cpp
    M clang/test/ParserOpenACC/parse-wait-clause.c
    M clang/test/ParserOpenACC/parse-wait-construct.c
    M clang/test/ParserOpenACC/unimplemented.c
    M clang/test/ParserOpenACC/unimplemented.cpp

  Log Message:
  -----------
  [OpenACC] Change 'not implemented' diagnostic to be more specific

Currently we just emit a generic 'not implemented' diagnostic for all
OpenACC pragmas. This patch moves the diagnostic to 'Sema' and diagnoses
for a specific clause or construct, in preperation of implementing Sema
for constructs.


  Commit: 235ec0f791749d94ac1ca1441b8b06d4ba09792c
      https://github.com/llvm/llvm-project/commit/235ec0f791749d94ac1ca1441b8b06d4ba09792c
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp

  Log Message:
  -----------
  [mlir][sparse] remove LevelType enum, construct LevelType from LevelF… (#81799)

…ormat and properties instead.


  Commit: 55e6c1901576716658b3c1b6ceaf018958331f24
      https://github.com/llvm/llvm-project/commit/55e6c1901576716658b3c1b6ceaf018958331f24
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/UInt.h
    M libc/src/__support/integer_utils.h
    M libc/src/__support/number_pair.h

  Log Message:
  -----------
  [libc][NFC] Annotate LIBC_INLINE and constexpr to BigInt and DyadicFloat methods. (#81912)


  Commit: d2c9a19dd8048801ef1d8238948c39ad4fcdcf95
      https://github.com/llvm/llvm-project/commit/d2c9a19dd8048801ef1d8238948c39ad4fcdcf95
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [BOLT][NFC] Pass BF/BB hashes to BAT



Test Plan: NFC

Reviewers: dcci, rafaelauler, maksfb, ayermolo

Reviewed By: rafaelauler

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


  Commit: 5b51d45f496f10a74dea5a100cf18b33b45493dc
      https://github.com/llvm/llvm-project/commit/5b51d45f496f10a74dea5a100cf18b33b45493dc
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    A llvm/test/CodeGen/X86/code-model-elf-merge-sections.ll

  Log Message:
  -----------
  [X86] Use ".lrodata" prefix for large mergeable constants (#81900)

Otherwise with a small enough large-data-threshold, we can get .rodata.*
sections marked large, making .rodata large in the final binary.


  Commit: 834d11c21541c8bf92ef598c1171e8163b69e8c7
      https://github.com/llvm/llvm-project/commit/834d11c21541c8bf92ef598c1171e8163b69e8c7
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll

  Log Message:
  -----------
  Revert "[RISCV][TTI] Extract subvector at index zero is free (#81751)"

This reverts commit 3a626937b1b652e3c87cd0050df9c24cc5127d3b.

Causes tests added by fc0b67e1d79d1f199687f8f06d619984d9520230 to fail.


  Commit: edfc859af89e44207bf499b5d702aa26a7357da4
      https://github.com/llvm/llvm-project/commit/edfc859af89e44207bf499b5d702aa26a7357da4
  Author: David Goldman <dallasftball at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/Rename.h
    M clang-tools-extra/clangd/test/rename.test
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp

  Log Message:
  -----------
  Add support for renaming objc methods, even those with multiple selector pieces (#76466)

This adds support for  renaming Objective-C methods, which are unique since their method names can be split across multiple tokens.


  Commit: 5c57fd717d5d6a285efeb8402c6fe0c8f70592f3
      https://github.com/llvm/llvm-project/commit/5c57fd717d5d6a285efeb8402c6fe0c8f70592f3
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Sema/Overload.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
    A clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
    A clang/test/SemaHLSL/VectorOverloadResolution.hlsl
    A clang/test/SemaHLSL/standard_conversion_sequences.hlsl

  Log Message:
  -----------
  [HLSL] Vector standard conversions (#71098)

HLSL supports vector truncation and element conversions as part of
standard conversion sequences. The vector truncation conversion is a C++
second conversion in the conversion sequence. If a vector truncation is
in a conversion sequence an element conversion may occur after it before
the standard C++ third conversion.

Vector element conversions can be boolean conversions, floating point or
integral conversions or promotions.

[HLSL Draft
Specification](https://microsoft.github.io/hlsl-specs/specs/hlsl.pdf)

---------

Co-authored-by: Aaron Ballman <aaron at aaronballman.com>


  Commit: e3f88a9e587a6924054def5e26b3c976dcb31453
      https://github.com/llvm/llvm-project/commit/e3f88a9e587a6924054def5e26b3c976dcb31453
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  [AMDGPU] Rewrite `getVOP3DPPSrcForVT` with `!cond` (#81889)

`!cond` is much more clear than nested `!if`.


  Commit: dc3258c617420e83caff63c93d548e0923b10791
      https://github.com/llvm/llvm-project/commit/dc3258c617420e83caff63c93d548e0923b10791
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Affine/Utils.h
    M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
    A mlir/lib/Dialect/Mesh/Transforms/TransformsDetail.h
    M mlir/lib/IR/Builders.cpp
    A mlir/test/Dialect/Mesh/all-scatter-op-lowering.mlir
    M mlir/test/Dialect/Mesh/canonicalization.mlir
    M mlir/test/Dialect/Mesh/invalid.mlir
    M mlir/test/Dialect/Mesh/ops.mlir
    M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir
    M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
    A mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
    R mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  [mlir][mesh] Add all-slice operation (#81218)

This op is the inverse of all-gather. It is useful to have an explicit
concise representation instead of having a blob of slicing logic.

Add lowering for the op that slices from the tensor based on the
in-group process index.

Make resharding generate an all-slice instead of inserting the slicing
logic directly.


  Commit: 60cb09ba4f0ad6602483b40625a272eeebdcdc45
      https://github.com/llvm/llvm-project/commit/60cb09ba4f0ad6602483b40625a272eeebdcdc45
  Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [clang][dataflow] Fix crash on unions introduced in ba279934c6ab09d5394a89d8318651aefd8d565b (#81918)

The commit was itself a crash fix, but inadvertently changed the
behavior for unions, which results in crashes.


  Commit: 2a9b86cc10c3883cca51a5166aad6e2b755fa958
      https://github.com/llvm/llvm-project/commit/2a9b86cc10c3883cca51a5166aad6e2b755fa958
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/SROA/tbaa-struct3.ll

  Log Message:
  -----------
  [SROA] Extend !tbaa.struct test coverage with multiple missing cases.

Add tests to cover missing cases for
https://github.com/llvm/llvm-project/pull/81289 and
https://github.com/llvm/llvm-project/pull/81313.


  Commit: 513448d28e57535d71ea7eeda209db98ad3a1ee1
      https://github.com/llvm/llvm-project/commit/513448d28e57535d71ea7eeda209db98ad3a1ee1
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp

  Log Message:
  -----------
  Revert "[mlir][sparse] remove LevelType enum, construct LevelType from LevelF…" (#81923)

Reverts llvm/llvm-project#81799 ; this broke the mlir gcc7 bot.


  Commit: 79213da0313f07bd46882d72ed30973f16947953
      https://github.com/llvm/llvm-project/commit/79213da0313f07bd46882d72ed30973f16947953
  Author: Derek Schuff <dschuff at chromium.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst

  Log Message:
  -----------
  Update release notes for Wasm improvements to nm and objdump (#81924)

Describes improvements made for #76107


  Commit: 4bf50e02554460df86903791380fb5ca17a28bdc
      https://github.com/llvm/llvm-project/commit/4bf50e02554460df86903791380fb5ca17a28bdc
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
    M llvm/test/tools/llvm-dlltool/arm64ec.test

  Log Message:
  -----------
  [llvm-dlltool] Use -N for input native def option to avoid conflict with GNU dlltool --no-delete option. (#81847)


  Commit: 69a96ae0e80f0e62c1f25a1c255a3f46ff7dc9e8
      https://github.com/llvm/llvm-project/commit/69a96ae0e80f0e62c1f25a1c255a3f46ff7dc9e8
  Author: Haopeng Liu <haopliu at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  add initialized attribute LangRef


  Commit: 1d03d59aff07d40420a08af13ee74fed9846d7d8
      https://github.com/llvm/llvm-project/commit/1d03d59aff07d40420a08af13ee74fed9846d7d8
  Author: Haopeng Liu <haopliu at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  Revert "add initialized attribute LangRef"

This reverts commit 69a96ae0e80f0e62c1f25a1c255a3f46ff7dc9e8.


  Commit: 761113a18b720d1264d4a9d676577191b0a0e0cc
      https://github.com/llvm/llvm-project/commit/761113a18b720d1264d4a9d676577191b0a0e0cc
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/test/Driver/unknown-arg.c
    M clang/tools/driver/driver.cpp

  Log Message:
  -----------
  [clang][driver] Add missing integrated tool option in error message, NFC (#81926)


  Commit: aaf916456aeb2d748e74ddbcd394de153e19b112
      https://github.com/llvm/llvm-project/commit/aaf916456aeb2d748e74ddbcd394de153e19b112
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp

  Log Message:
  -----------
  Reapply "[mlir][sparse] remove LevelType enum, construct LevelType from LevelFormat and Properties" (#81923) (#81934)


  Commit: 340b1ab9dc6322439353d3275fa16d1cf0b4da60
      https://github.com/llvm/llvm-project/commit/340b1ab9dc6322439353d3275fa16d1cf0b4da60
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M bolt/include/bolt/Profile/BoltAddressTranslation.h

  Log Message:
  -----------
  [BOLT] Add missing include

Address the comment in
https://github.com/llvm/llvm-project/pull/76906#issuecomment-1947335336


  Commit: 2c45bda8029289bbc6b09f349c203059a61609ce
      https://github.com/llvm/llvm-project/commit/2c45bda8029289bbc6b09f349c203059a61609ce
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/stdfix.rst
    M libc/spec/spec.td
    M libc/spec/stdc_ext.td
    M libc/src/CMakeLists.txt
    M libc/src/__support/fixed_point/CMakeLists.txt
    A libc/src/__support/fixed_point/fx_bits.h
    A libc/src/stdfix/CMakeLists.txt
    A libc/src/stdfix/abshk.cpp
    A libc/src/stdfix/abshk.h
    A libc/src/stdfix/abshr.cpp
    A libc/src/stdfix/abshr.h
    A libc/src/stdfix/absk.cpp
    A libc/src/stdfix/absk.h
    A libc/src/stdfix/abslk.cpp
    A libc/src/stdfix/abslk.h
    A libc/src/stdfix/abslr.cpp
    A libc/src/stdfix/abslr.h
    A libc/src/stdfix/absr.cpp
    A libc/src/stdfix/absr.h
    M libc/test/src/CMakeLists.txt
    A libc/test/src/stdfix/AbsTest.h
    A libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/abshk_test.cpp
    A libc/test/src/stdfix/abshr_test.cpp
    A libc/test/src/stdfix/absk_test.cpp
    A libc/test/src/stdfix/abslk_test.cpp
    A libc/test/src/stdfix/abslr_test.cpp
    A libc/test/src/stdfix/absr_test.cpp

  Log Message:
  -----------
  [libc][stdfix] Add abs functions for signed fixed point types. (#81823)


  Commit: fbacf70f647e4f0af3904ec0d35d94f4974bd6b5
      https://github.com/llvm/llvm-project/commit/fbacf70f647e4f0af3904ec0d35d94f4974bd6b5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_report.cpp

  Log Message:
  -----------
  [NFC][hwasan] Add CHECK_LT(fp, kRecordFPModulus)


  Commit: 72e14fb33fa8f0c9b08b328367fb3abd1f7d1a49
      https://github.com/llvm/llvm-project/commit/72e14fb33fa8f0c9b08b328367fb3abd1f7d1a49
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_report.cpp

  Log Message:
  -----------
  [NFC][hwasan] Reduce nesting in function


  Commit: 327d2f8c6cee019d4f915036f40041b5369b61e5
      https://github.com/llvm/llvm-project/commit/327d2f8c6cee019d4f915036f40041b5369b61e5
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [lldb][progress] Add progress manager class (#81319)

Per discussions from https://github.com/llvm/llvm-project/pull/81026, it
was decided that having a class that manages a map of progress reports
would be beneficial in order to categorize them. This class is a part of
the overall `Progress` class and utilizes a map that keeps a count of
how many times a progress report category has been sent. This would be
used with the new debugger broadcast bit added in
https://github.com/llvm/llvm-project/pull/81169 so that a user listening
with that bit will receive grouped progress reports.


  Commit: 692566a8b236827ed9f109d46b21c250522a3751
      https://github.com/llvm/llvm-project/commit/692566a8b236827ed9f109d46b21c250522a3751
  Author: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    A llvm/test/CodeGen/AArch64/swifttail-funclet.ll

  Log Message:
  -----------
  Fix an assert failure with a funclet in a swifttailcc function. (#78806)

The failure happens in the livedebugvalues pass.


  Commit: dfe1759614a591601609ae0a948a681cd919c0f6
      https://github.com/llvm/llvm-project/commit/dfe1759614a591601609ae0a948a681cd919c0f6
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/TableGen/CodeGenHelpers.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in CodeGenHelpers.cpp (NFC)


  Commit: 1f97219a9099b56c18d2e339db8b4aa7964825fd
      https://github.com/llvm/llvm-project/commit/1f97219a9099b56c18d2e339db8b4aa7964825fd
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/TableGen/Pattern.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for performance-move-const-arg in Pattern.cpp (NFC)


  Commit: 867678dd81031edc36e1acc7a7f7cda01e2e0514
      https://github.com/llvm/llvm-project/commit/867678dd81031edc36e1acc7a7f7cda01e2e0514
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/Target/LLVM/NVVM/Target.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-qualified-auto in Target.cpp (NFC)


  Commit: 332a5049855a3bf3752288c2ba0e0a41f0c4fe39
      https://github.com/llvm/llvm-project/commit/332a5049855a3bf3752288c2ba0e0a41f0c4fe39
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/Target/LLVM/NVVM/Target.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for readability-container-size-empty in Target.cpp (NFC)


  Commit: eb0c8de1eed7c8198e397c56aa12b30abad42cf5
      https://github.com/llvm/llvm-project/commit/eb0c8de1eed7c8198e397c56aa12b30abad42cf5
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp

  Log Message:
  -----------
  Apply clang-tidy fixes for llvm-else-after-return in SerializeOps.cpp (NFC)


  Commit: 3e77871c220e4d4c91956060b15ff28e27b2b764
      https://github.com/llvm/llvm-project/commit/3e77871c220e4d4c91956060b15ff28e27b2b764
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt

  Log Message:
  -----------
  [libc] Tempporarily disable fixed point entry points until #80757 is merged. (#81945)


  Commit: d0c2c0ab6d7e52ae52fdf73b843cad607f5a85e6
      https://github.com/llvm/llvm-project/commit/d0c2c0ab6d7e52ae52fdf73b843cad607f5a85e6
  Author: Michael Jones <71531609+michaelrj-google at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    A libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/LLVMLibCRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    M libc/test/UnitTest/CMakeLists.txt

  Log Message:
  -----------
  [libc] Move compile options to new cmake file (#81917)

The cmake test generator needed to be updated to support the same flags
as the source. To simplify the code, I moved it to a new file.


  Commit: a057506b7b06f74ce45865d46c4107952f5ab261
      https://github.com/llvm/llvm-project/commit/a057506b7b06f74ce45865d46c4107952f5ab261
  Author: Youngsuk Kim <joseph942010 at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/docs/NVPTXUsage.rst

  Log Message:
  -----------
  [docs][NVPTX] Use opaque pointers in IR examples (NFC) (#81941)

Replace outdated typed-pointer notation in LLVM IR examples. NFC.


  Commit: feee627974df81e4cbf15537e4c4688aed66b12f
      https://github.com/llvm/llvm-project/commit/feee627974df81e4cbf15537e4c4688aed66b12f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    A llvm/test/CodeGen/RISCV/branch-opt.mir

  Log Message:
  -----------
  [RISCV] Make sure ADDI replacement in optimizeCondBranch has a virtual reg destination. (#81938)

If it isn't virtual, we may extend the live range of the physical
register past were it is valid. For example, across a call.

Found while trying to enable -riscv-enable-sink-fold which enables some
copy propagation in machine sink that led to ADDIs with physical
register destinations.


  Commit: 088c7ce429197a809f8943e5699a7fd0650fe9f7
      https://github.com/llvm/llvm-project/commit/088c7ce429197a809f8943e5699a7fd0650fe9f7
  Author: Peiming Liu <36770114+PeimingLiu at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir

  Log Message:
  -----------
  [mlir][sparse] introduce SoA level property on singleton level. (#81942)


  Commit: 55b5ac8917b4a1e0ceb79bee4c4c6f7d35b95526
      https://github.com/llvm/llvm-project/commit/55b5ac8917b4a1e0ceb79bee4c4c6f7d35b95526
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  [RISCV] Remove X0 handling from RISCVInstrInfo::optimizeCondBranch. (#81931)

This was trying to rewrite a branch that uses X0 to a branch that uses a
register produced by LI of 1 or -1. Using X0 is free so there is no
reason to rewrite it. Doing so would just extend the live range of the
LI register increasing register pressure.

In practice this might not have triggered often because we were calling
MRI.hasOneUse on X0. I'm not sure what the returns for a physical
reigster.


  Commit: 2549c24142816073b195abc294cfc3a546ecb7a0
      https://github.com/llvm/llvm-project/commit/2549c24142816073b195abc294cfc3a546ecb7a0
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll

  Log Message:
  -----------
  Reapply "[RISCV][TTI] Extract subvector at index zero is free (#81751)"

This reverts commit 834d11c21541c8bf92ef598c1171e8163b69e8c7 which was
a revert of my 3a626937b1b652e3c87cd0050df9c24cc5127d3b.  I had failed
to rebase after new tests added overnight by
fc0b67e1d79d1f199687f8f06d619984d9520230.

Original commit message follows:

Extracing a subvector at index zero corresponds to a type conversion and
possibly a subregister operation. We will not emit a vslidedown. As such,
they are free.

As an aside, it looks like we're not passing an index in for cases where
the subvec type is scalable. For at least index zero, we probably should be.

Revert "Revert "[RISCV][TTI] Extract subvector at index zero is free (#81751)""


  Commit: 0065161c720c37e8ab545979aed6a03d944a3176
      https://github.com/llvm/llvm-project/commit/0065161c720c37e8ab545979aed6a03d944a3176
  Author: Chris Bieneman <chris.bieneman at me.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

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

  Log Message:
  -----------
  Remove assert introduced in #71098

This should effectively preserve the old behavior for non-HLSL code.


  Commit: 39e32b451ca1bf6ae06da10682c053c9a5659b9a
      https://github.com/llvm/llvm-project/commit/39e32b451ca1bf6ae06da10682c053c9a5659b9a
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M compiler-rt/lib/hwasan/hwasan_report.cpp
    M compiler-rt/test/hwasan/TestCases/stack-uas.c

  Log Message:
  -----------
  [hwasan] Fix stack tag mismatch report (#81939)

Existing code worked only for local, recorder FP, and the faulty address
are the same 1 MiB page.

Now, instead of guessing FP, we guess variable address.
We need to try just two cases of addresses around of faulty one.

Fixes https://github.com/google/sanitizers/issues/1723


  Commit: ac452204aade6abfa44324c3f1db4890a63eb941
      https://github.com/llvm/llvm-project/commit/ac452204aade6abfa44324c3f1db4890a63eb941
  Author: Shoaib Meenai <smeenai at fb.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
    M llvm/lib/Target/ARM/ARMTargetObjectFile.h
    A llvm/test/MC/ELF/rtti-proxy-arm-got-prel.ll

  Log Message:
  -----------
  [llvm] Support indirect symbol replacement with R_ARM_GOT_PREL (#81916)

R_ARM_GOT_PREL is equivalent to GOTPCREL on other architectures, so we
can use it for indirect symbol replacement the same way. This is the
equivalent of https://github.com/llvm/llvm-project/pull/67754 for x86_64
and https://github.com/llvm/llvm-project/pull/78003 for AArch64 and
64-bit RISC-V.


  Commit: cc23574184335df187275ca0e716bf79b93b75f1
      https://github.com/llvm/llvm-project/commit/cc23574184335df187275ca0e716bf79b93b75f1
  Author: akshaykumars614 <88362922+akshaykumars614 at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/lib/Lex/Lexer.cpp
    A clang/test/Lexer/raw-string-dlim-invalid.cpp

  Log Message:
  -----------
  bad error message on incorrect string literal #18079 (#81670)

(bad error message on incorrect string literal)

Fixed the error message for incorrect string literal

before:

```
test.cpp:1:19: error: invalid character '
' character in raw string delimiter; use PREFIX( )PREFIX to delimit raw string
char const* a = R"
                  ^
```

now:

```
test.cpp:1:19: error: invalid newline character in raw string delimiter; use PREFIX( )PREFIX to delimit raw string
    1 | char const* a = R"
      |                   ^
```

---------

Co-authored-by: Jon Roelofs <jroelofs at gmail.com>


  Commit: e606dc1dafead794f92a677fd92b2ea8e5a3fb4f
      https://github.com/llvm/llvm-project/commit/e606dc1dafead794f92a677fd92b2ea8e5a3fb4f
  Author: Cyndy Ishida <cyndy_ishida at apple.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/include/clang/AST/Availability.h
    M clang/include/clang/ExtractAPI/API.h
    R clang/include/clang/ExtractAPI/AvailabilityInfo.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    A clang/lib/AST/Availability.cpp
    M clang/lib/AST/CMakeLists.txt
    R clang/lib/ExtractAPI/AvailabilityInfo.cpp
    M clang/lib/ExtractAPI/CMakeLists.txt

  Log Message:
  -----------
  [clang] Move `AvailabilityInfo` into AST library (#81897)

Previously this class was only used by ExtractAPI, but it will soon also
be needed by InstallAPI. This patch should not change availability
behavior but just centralizes the information next to what already is
captured about availability for AST traversal.


  Commit: e9cec392398ca5c7ce56ba52f9abb90f42a16c24
      https://github.com/llvm/llvm-project/commit/e9cec392398ca5c7ce56ba52f9abb90f42a16c24
  Author: Congcong Cai <congcongcai0907 at 163.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp

  Log Message:
  -----------
  [clang-tidy] fix incorrect hint for InitListExpr in prefer-member-initializer (#81560)


  Commit: 2f516d4b31cd16b720ddabde09676d0c2ded7571
      https://github.com/llvm/llvm-project/commit/2f516d4b31cd16b720ddabde09676d0c2ded7571
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 24144d726fef


  Commit: 9150858b828511af507ffd6ef4d0813bd49d211f
      https://github.com/llvm/llvm-project/commit/9150858b828511af507ffd6ef4d0813bd49d211f
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn

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


  Commit: 3af5c98200e0b1268f755c3f289be4f73aac4214
      https://github.com/llvm/llvm-project/commit/3af5c98200e0b1268f755c3f289be4f73aac4214
  Author: azhan92 <alisonxzhang at gmail.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/utils/release/test-release.sh

  Log Message:
  -----------
  [Release] Install compiler-rt builtins during Phase 1 on AIX (#81485)

The current test-release.sh script does not install the necessary
compiler-rt builtin's during Phase 1 on AIX, resulting on a
non-functional Phase 1 clang. Futhermore, the installation is also
necessary for Phase 2 on AIX.

Co-authored-by: Alison Zhang <alisonzhang at ibm.com>


  Commit: ceaf09cd1a1fb7811e394ab7a5a9da4e513129b0
      https://github.com/llvm/llvm-project/commit/ceaf09cd1a1fb7811e394ab7a5a9da4e513129b0
  Author: Ryosuke Niwa <rniwa at webkit.org>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp

  Log Message:
  -----------
  [alpha.webkit.UncountedCallArgsChecker] Detect more trivial functions (#81829)

Allow address-of operator (&), enum constant, and a reference to
constant as well as materializing temporqary expression and an
expression with cleanups to appear within a trivial function.


  Commit: 118a2a52fd465b7576c54bd102ee2e417a3b9a71
      https://github.com/llvm/llvm-project/commit/118a2a52fd465b7576c54bd102ee2e417a3b9a71
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Support `llvm` conversion for `omp.private` regions (#81414)

Introduces conversion of `omp.private`'s regions to the LLVM dialect.
This reuses the already existing conversion pattern for
`ReducetionDeclareOp` and repurposes it to be used for multi-region ops
as well.


  Commit: 096c530ab3ea5c96526451181117f30db17b4b1d
      https://github.com/llvm/llvm-project/commit/096c530ab3ea5c96526451181117f30db17b4b1d
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M lldb/test/API/commands/command/script/add/TestAddParsedCommand.py
    M lldb/test/API/commands/command/script/add/test_commands.py
    M lldb/test/API/commands/expression/nested/TestNestedExpressions.py
    M lldb/test/API/commands/process/attach/TestProcessAttach.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
    M lldb/test/API/functionalities/executable_first/TestExecutableFirst.py
    M lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    M lldb/test/API/functionalities/type_find_first/TestFindFirstType.py
    M lldb/test/API/functionalities/vtable/TestVTableValue.py
    M lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py
    M lldb/test/API/lang/cpp/unique-types4/TestUniqueTypes4.py
    M lldb/test/API/lang/objc/charstar_dyntype/TestCharStarDynType.py
    M lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
    M lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
    M lldb/test/API/python_api/value/TestValueAPI.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py

  Log Message:
  -----------
  [lldb] Fix Python test formatting (NFC)


  Commit: 266bbc203da2d0bc880e643560fb48aff4830478
      https://github.com/llvm/llvm-project/commit/266bbc203da2d0bc880e643560fb48aff4830478
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M lldb/test/API/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py

  Log Message:
  -----------
  [lldb] Re-enable TestStepOverWatchpoint on macOS 14.4 and later


  Commit: 67282077ea460cbeec3f837b1a448a1bc958ec10
      https://github.com/llvm/llvm-project/commit/67282077ea460cbeec3f837b1a448a1bc958ec10
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/test/AST/Interp/builtin-functions.cpp

  Log Message:
  -----------
  [clang][Interp] Implement __builtin_launder

Just forward the pointer.
Copy tests from SemaCXX


  Commit: 6abf5e5be2be8834183163f1db33a6cff696f13e
      https://github.com/llvm/llvm-project/commit/6abf5e5be2be8834183163f1db33a6cff696f13e
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp

  Log Message:
  -----------
  [MLIR] NFC: Change dyn_cast to isa to prevent warning (#81899)

This is to avoid warnings when invoked from the flang documentation
generation build.

The warning can be seen in the CI
(https://lab.llvm.org/buildbot/#/builders/89/builds/57451).
```
/home/buildbot/as-worker-4/publish-sphinx-docs/llvm-project/mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp:2956:38: warning: unused variable ‘operand’ [-Wunused-variable]
```


  Commit: 1807e02b8c280af10628538d69e9511d3df3ed5f
      https://github.com/llvm/llvm-project/commit/1807e02b8c280af10628538d69e9511d3df3ed5f
  Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
    A llvm/test/DebugInfo/fixed-point.ll

  Log Message:
  -----------
  [llvm] Fix assertion error where we didn't check fixed point types. (#80757)

This fixes https://github.com/llvm/llvm-project/issues/81555


  Commit: a300a1a71119008e6e54299e52824fbca4bf2a75
      https://github.com/llvm/llvm-project/commit/a300a1a71119008e6e54299e52824fbca4bf2a75
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll

  Log Message:
  -----------
  [RISCV][ISel] Add codegen support for the experimental zabha extension (#80192)

This patch implements the codegen support of zabha (Byte and Halfword
Atomic Memory Operations) v1.0-rc1 extension.
See also https://github.com/riscv/riscv-zabha/blob/v1.0-rc1/zabha.adoc.

---------

Co-authored-by: Craig Topper <craig.topper at sifive.com>


  Commit: 42b5037cc403c09ebf9b4d65ee41422ded79e054
      https://github.com/llvm/llvm-project/commit/42b5037cc403c09ebf9b4d65ee41422ded79e054
  Author: Balázs Kéri <balazs.keri at ericsson.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

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

  Log Message:
  -----------
  [clang][analyzer] Simplify code of StreamChecker (NFC). (#79312)

A class is added that contains common functions and data members that are used in many of the "eval" functions. This results in shorter "eval" functions and less code repetition.


  Commit: d26a6464f85fc224dc2f3ddb67d404ba82a331fa
      https://github.com/llvm/llvm-project/commit/d26a6464f85fc224dc2f3ddb67d404ba82a331fa
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M flang/include/flang/Runtime/descriptor.h
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/test/Fir/ignore-missing-type-descriptor.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/tbaa.fir
    M flang/test/Fir/type-descriptor.fir
    M flang/test/Lower/allocatable-polymorphic.f90

  Log Message:
  -----------
  [flang] Do not leave length parameters uninitialized in descriptor addendums (#81858)

Descriptor addendum have a field to hold length parameters (currently
only one). This field is currently never used because flang does not
lowered derived types with length parameters.

However, leaving it uninitialized is causing bugs in code like gFTL
where the code is trying to sort POINTERs (see [1]). More precisely, it
is an issue when two pointers should compare equal (same base address),
because the uninitialized values in the addendum may differ depending on
the "stack history" and optimization level.

Always initialized the length parameters field in the addendum to zero.

[1]:
https://github.com/Goddard-Fortran-Ecosystem/gFTL/blob/dc93a5fc2fe2b487590580d9f0a17d77ca3fe5c1/include/v1/templates/set_impl.inc#L312

The type being transferred to an integer array may look like:

```
   TYPE :: localwrapper
    TYPE(T), POINTER :: item
   END TYPE localwrapper
```

Which in flang case ends-up transferring a descriptor to an integer
array, the code in gFTL later compare the integer arrays. This logic is
used when building set data structures in gFTL.


  Commit: 4cf458c696047d6d2991c121da7a5c165ff747ce
      https://github.com/llvm/llvm-project/commit/4cf458c696047d6d2991c121da7a5c165ff747ce
  Author: Jason Molenda <jason at molenda.com>
  Date:   2024-02-15 (Thu, 15 Feb 2024)

  Changed paths:
    M lldb/source/Core/CoreProperties.td

  Log Message:
  -----------
  Fix help doc for 'enable-background-lookup' obsolete setting

The setting name that was settled on is symbols.auto-download.


  Commit: f2329a38de03e331c97fb5ed36e4286dfc5c2309
      https://github.com/llvm/llvm-project/commit/f2329a38de03e331c97fb5ed36e4286dfc5c2309
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td

  Log Message:
  -----------
  [AMDGPU] Reimplement V_READFIRSTLANE_B32 as a normal VOP1 Pseudo. NFCI. (#81877)


  Commit: b6c453c13f9dca064ac06b8b2cff80946225aa47
      https://github.com/llvm/llvm-project/commit/b6c453c13f9dca064ac06b8b2cff80946225aa47
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_55.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_permute.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_sum.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_min.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_prod.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_c32.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_f16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir

  Log Message:
  -----------
  [mlir][sparse] Fix memory leaks (part 1) (#81843)

This commit fixes memory leaks in sparse tensor integration tests by
adding `bufferization.dealloc_tensor` ops.

Note: Buffer deallocation will be automated in the future with the
ownership-based buffer deallocation pass, making `dealloc_tensor`
obsolete (only codegen path, not when using the runtime library).


  Commit: 8ba915fe1096de290f5e569d6de97a8bcc8652f7
      https://github.com/llvm/llvm-project/commit/8ba915fe1096de290f5e569d6de97a8bcc8652f7
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td

  Log Message:
  -----------
  [AMDGPU] Set DecoderNamespace consistently for GFX10+ MIMG instructions (#81881)

This was done inconsistently before. Many instructions used the default
"AMDGPU" namespace which I would like to remove.


  Commit: 92ef40874d58d4fca4b7657c31ab2538e1301f26
      https://github.com/llvm/llvm-project/commit/92ef40874d58d4fca4b7657c31ab2538e1301f26
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

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

  Log Message:
  -----------
  [clang-format] Delete a redundant newline at the end of a test case

It slipped in from commit fa6025e25b57.


  Commit: 3b6e25048f188692c27e7788f4e4453a3963306d
      https://github.com/llvm/llvm-project/commit/3b6e25048f188692c27e7788f4e4453a3963306d
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll

  Log Message:
  -----------
  [TBAA] Only clear TBAAStruct if field can be extracted. (#81285)

Retain TBAAStruct if we fail to match the access to a single field. All
users at the moment use this when using the full size of the original
access. SROA also retains the original TBAAStruct when accessing parts
at offset 0.

Motivation for this and follow-on patches is to improve codegen for
libc++, where using memcpy limits optimizations, like vectorization for
code iteration over std::vector<std::complex<float>>:
https://godbolt.org/z/f3vqYos3c

Depends on https://github.com/llvm/llvm-project/pull/81284


  Commit: 8c2033719a843a1880427a5e8caa5563248bce78
      https://github.com/llvm/llvm-project/commit/8c2033719a843a1880427a5e8caa5563248bce78
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

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

  Log Message:
  -----------
  [asan] Intercept __makecontext_v2 on Solaris/SPARC (#81588)

As detailed in [GCC PR
sanitizer/113785](https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113785),
the GCC test `c-c++-common/asan/swapcontext-test-1.c` `FAIL`s on
Solaris/sparc.

This is due to the fact that Solaris 10/SPARC changed the semantics of
`makecontext` so `ucontext_t.uc_stack.ss_sp` refers to the stack base
address. To maintain binary compatiblity, the external name was changed
to `__makecontext_v2`, keeping the old version.

To match this, `__makecontext_v2` needs to be intercepted instead of
`makecontext`.

Tested on GCC trunk on `sparc-sun-solaris2.11`, `i386-pc-solaris2.11`,
and `x86_64-pc-linux-gnu`.

Also tested on the same targets on LLVM `main`. However, this only
proves that Linux/x86_64 isn't broken, since all `makecontext` tests are
Linux-specific.


  Commit: 3c02cb7492fc78fb678264cebf57ff88e478e14f
      https://github.com/llvm/llvm-project/commit/3c02cb7492fc78fb678264cebf57ff88e478e14f
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/test/tools/llvm-objcopy/ELF/binary-output-target.test
    M llvm/test/tools/llvm-objcopy/ELF/cross-arch-headers.test
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp

  Log Message:
  -----------
  [llvm-objcopy] Add SystemZ support (#81841)

This is also necessary for enabling ClangBuiltLinux:
https://github.com/ClangBuiltLinux/linux/issues/1530


  Commit: 2e43ca49d06d4cf78a3fd86e1e41175fde083708
      https://github.com/llvm/llvm-project/commit/2e43ca49d06d4cf78a3fd86e1e41175fde083708
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvalEmitter.h
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/test/AST/Interp/c.c

  Log Message:
  -----------
  [clang][Interp] Check variable initialization in Ret op

Just like we did with the l-to-r conversion, we need to do this
while the data is still alive.


  Commit: bf471c915d14035a24ec027fb2bb0373cefdabe1
      https://github.com/llvm/llvm-project/commit/bf471c915d14035a24ec027fb2bb0373cefdabe1
  Author: Ulrich Weigand <ulrich.weigand at de.ibm.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst

  Log Message:
  -----------
  [docs][llvm-objcopy] Add missing formats (#81981)

Bring list of supported formats in docs back in sync with the code.


  Commit: c681ea6623082324bcf3f7e1966495ce01817c59
      https://github.com/llvm/llvm-project/commit/c681ea6623082324bcf3f7e1966495ce01817c59
  Author: J. Ryan Stinnett <jryans at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/docs/_themes/llvm-theme/static/llvm-theme.css

  Log Message:
  -----------
  [Docs] Fix large vertical space at top of pages (#81599)

This fixes a large vertical blank space at the top of the page that was caused
by the floating sidebar.


  Commit: 0ea64ad88abcbb939547a92000d98efb2b00d95f
      https://github.com/llvm/llvm-project/commit/0ea64ad88abcbb939547a92000d98efb2b00d95f
  Author: Pierrick Bouvier <pierrick.bouvier at linaro.org>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Headers/intrin.h
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics-underaligned.c

  Log Message:
  -----------
  [COFF][Aarch64] Add _InterlockedAdd64 intrinsic (#81849)

Found when compiling openssl master branch using clang-cl.

This commit introduces usage of InterlockedAdd64:

https://github.com/openssl/openssl/commit/d0e1a0ae701cfaca7f3dd3bf28a3f934a6408813


https://learn.microsoft.com/en-us/cpp/intrinsics/interlockedadd-intrinsic-functions


  Commit: 2ed2a3ad90934efac12cbeb01cf73afebc01d963
      https://github.com/llvm/llvm-project/commit/2ed2a3ad90934efac12cbeb01cf73afebc01d963
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/CodeGen/ExpandReductions.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp

  Log Message:
  -----------
  [Transforms][Utils] Add helpers to map between Reduction IntrinsicID and Arithmetic Instruction Opcode and MinMax IntrinsicID / RecurKind

Noticed on #81852


  Commit: 181d9602f35c476201ecc72c26c00042ad949544
      https://github.com/llvm/llvm-project/commit/181d9602f35c476201ecc72c26c00042ad949544
  Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    A mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir

  Log Message:
  -----------
  [mlir][vectorize] Support affine.apply in SuperVectorize (#77968)

We have no need to vectorize affine.apply inside the vectorizing loop.
However, we still need to generate it in the original scalar form. We
have to replace all its operands with the generated scalar operands in
the vectorizing loop, e.g., induction variables.


  Commit: f06e07be9a41978e39fdf22f6174194cf8382047
      https://github.com/llvm/llvm-project/commit/f06e07be9a41978e39fdf22f6174194cf8382047
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Check pointer compound assign operators for errors

This needs to be done but we didn't use to do it.


  Commit: 7dcca6213258bf2df2dd8a7d555c9a12c1484759
      https://github.com/llvm/llvm-project/commit/7dcca6213258bf2df2dd8a7d555c9a12c1484759
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
    M mlir/test/Dialect/ArmSVE/invalid.mlir
    M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
    M mlir/test/Dialect/ArmSVE/roundtrip.mlir

  Log Message:
  -----------
  [mlir][ArmSVE] Add `arm_sve.zip.x2` and `arm_sve.zip.x4` ops (#81278)

This adds ops for the two and four-way SME 2 multi-vector zips.

See:

-
https://developer.arm.com/documentation/ddi0602/2023-12/SME-Instructions/ZIP--two-registers---Interleave-elements-from-two-vectors-?lang=en
-
https://developer.arm.com/documentation/ddi0602/2023-12/SME-Instructions/ZIP--four-registers---Interleave-elements-from-four-vectors-?lang=en


  Commit: a52c0c770056e040390839e753dbbaccbf4d63c4
      https://github.com/llvm/llvm-project/commit/a52c0c770056e040390839e753dbbaccbf4d63c4
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/arrays.cpp

  Log Message:
  -----------
  [clang][Interp] Lazily visit constant locals in C++

While we _do_ get them registered via visitInitializer(), they
are still local, so gone on the next call to e.g. evaluateAsRValue().

Visit them lazily, similarly like we do in C.


  Commit: bfda580b087a4c44e59fb05af0015d2a14c8dada
      https://github.com/llvm/llvm-project/commit/bfda580b087a4c44e59fb05af0015d2a14c8dada
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

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

  Log Message:
  -----------
  [bazel] Port for 0eedc85baad495fa916d1da7b20db93a29b443e1 and 82a4a41614f4943e6b2e85bbc8cb8507d2236524


  Commit: 8c1c94e8c15855ad41cfec83af61a27740e6941f
      https://github.com/llvm/llvm-project/commit/8c1c94e8c15855ad41cfec83af61a27740e6941f
  Author: Hirofumi Nakamura <k.nakamura.hirofumi at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

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

  Log Message:
  -----------
  [clang-format] Support of TableGen basic format restrictions. (#81611)

- Allow/force to break the line or not.
- Allow/force to insert space or not.


  Commit: 2e585c48f3a147d97b1b8d81605fd0d9ab75aa34
      https://github.com/llvm/llvm-project/commit/2e585c48f3a147d97b1b8d81605fd0d9ab75aa34
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  [AMDGPU] Rewrite `getVregSrcForVT` with `!cond` (#81954)


  Commit: c2fea4cf38991669030f4190d17b645cec27a7c0
      https://github.com/llvm/llvm-project/commit/c2fea4cf38991669030f4190d17b645cec27a7c0
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Parse/ParseTentative.cpp
    A clang/test/SemaCXX/_Alignas.cpp

  Log Message:
  -----------
  [C++] Fix parsing of _Alignas in local declarations (#81915)

We support '_Alignas' from C11 as an extension in C++. However, we were
not correctly parsing its use in local variable declarations. This patch
addresses that issue.


  Commit: 624ea349d7fa3535760a21a05c9998c7978228a4
      https://github.com/llvm/llvm-project/commit/624ea349d7fa3535760a21a05c9998c7978228a4
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M lld/MachO/SyntheticSections.cpp
    M lld/test/MachO/data-in-code.s

  Log Message:
  -----------
  [lld/MachO] Fix assert on unsorted data-in-code entries (#81758)

When the data-in-code entries are in separate sections, they are not
guaranteed to be sorted. In particular, 68b1cc36f3df marked some libc++
string functions as noinline, which leads to global ctors involving
strings now producing data-in-code sections in __TEXT,__StaticInit,
which is why this now happens in practice.

Since data-in-code entries are relatively rare and small, just sort
them. No observed performance impact.

See also crbug.com/41487860


  Commit: 9e5da05da7357fed26eb814275d5edeaa5561956
      https://github.com/llvm/llvm-project/commit/9e5da05da7357fed26eb814275d5edeaa5561956
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

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

  Log Message:
  -----------
  [bazel] Add a missing dependency for __support_fixed_point lib


  Commit: 0dacba3ad1b5214ca35eda14987c0b76568a070e
      https://github.com/llvm/llvm-project/commit/0dacba3ad1b5214ca35eda14987c0b76568a070e
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll

  Log Message:
  -----------
  [VPlan] Handle truncating ICMPs in truncateToMinimalBWs.

Update truncateToMinimalBitwidths to handle truncating ICMPs. For ICMPs,
the new target type will be the same as the original type. In that case,
only truncate the operands, but skip the extend. This is in line with
what the original truncateToMinimalBitwidths did for compares.

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


  Commit: 17d8a84c32b7a3ecc3080c33fe2c780f029691a3
      https://github.com/llvm/llvm-project/commit/17d8a84c32b7a3ecc3080c33fe2c780f029691a3
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h

  Log Message:
  -----------
  [clang][Interp] Fix handling PointerToIntegral casts

We need to always emit the diagnostic, but still do the cast.
This is also what the current interpreter does.


  Commit: 53c0e809faacfffce097c7d220836f4f41b3979a
      https://github.com/llvm/llvm-project/commit/53c0e809faacfffce097c7d220836f4f41b3979a
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/test/CodeGen/aarch64-ABI-align-packed.c
    M llvm/include/llvm/IR/Metadata.h
    M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/test/Transforms/SROA/tbaa-struct2.ll
    M llvm/test/Transforms/SROA/tbaa-struct3.ll

  Log Message:
  -----------
  [SROA] Use !tbaa instead of !tbaa.struct if op matches field. (#81289)

If a split memory access introduced by SROA accesses precisely a single
field of the original operation's !tbaa.struct, use the !tbaa tag for
the accessed field directly instead of the full !tbaa.struct.

InstCombine already had a similar logic.

Motivation for this and follow-on patches is to improve codegen for
libc++, where using memcpy limits optimizations, like vectorization for
code iteration over std::vector<std::complex<float>>:
https://godbolt.org/z/f3vqYos3c

Depends on https://github.com/llvm/llvm-project/pull/81285.


  Commit: f55b79f59a77b4be586d649e9ced9f8667265011
      https://github.com/llvm/llvm-project/commit/f55b79f59a77b4be586d649e9ced9f8667265011
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M lld/MachO/Driver.cpp
    M lld/test/MachO/arm64-32-stubs.s
    M lld/test/MachO/arm64-stubs.s
    M lld/test/MachO/dyld-stub-binder.s
    M lld/test/MachO/icf-safe.ll
    M lld/test/MachO/invalid/chained-fixups-incompatible.s
    M lld/test/MachO/objc-selrefs.s

  Log Message:
  -----------
  Revert "[lld] enable fixup chains by default (#79894)"

This caused links to fail with:

  lld/MachO/Symbols.cpp:97:
  virtual uint64_t lld::macho::Defined::getVA() const:
  Assertion `target->usesThunks()' failed.

or crash when asserts are disabled. See comment on
https://github.com/llvm/llvm-project/pull/79894

> Enable chained fixups in lld when all platform and version criteria are
> met. This is an attempt at simplifying the logic used in ld 907:
>
> https://github.com/apple-oss-distributions/ld64/blob/93d74eafc37c0558b4ffb88a8bc15c17bed44a20/src/ld/Options.cpp#L5458-L5549
>
> Some changes were made to simplify the logic:
> - only enable chained fixups for macOS from 13.0 to avoid the arch check
> - only enable chained fixups for iphonesimulator from 16.0 to avoid the
> arch check
> - don't enable chained fixups for not specifically listed platforms
> - don't enable chained fixups for arm64_32

This reverts commit 775c2856fb32868f357a3ce3f2b4139541e12578.


  Commit: 2b677fa4b35368442b32c71153f8c9201522c97c
      https://github.com/llvm/llvm-project/commit/2b677fa4b35368442b32c71153f8c9201522c97c
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M libc/src/__support/CPP/array.h
    M libc/src/__support/UInt.h

  Log Message:
  -----------
  [libc][NFC] Simplify BigInt (#81992)

- Add a single `cmp` function to derive all comparison operators
 - Use the `friend` version of the member functions for symmetry
 - Add a `is_neg` function to factor sign extraction
 - Implement binary op through macro expansion


  Commit: 35f3298ead71bbef73ae0321055470ab761a3eb2
      https://github.com/llvm/llvm-project/commit/35f3298ead71bbef73ae0321055470ab761a3eb2
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/storepairsuppress.ll
    M llvm/test/CodeGen/AArch64/storepairsuppress_minsize.ll

  Log Message:
  -----------
  [AArch64] Add extra stp suppression tests.

Add test case for store suppression that still trigger after
https://github.com/llvm/llvm-project/pull/81749


  Commit: d228191c8bb80ebf337d282374941c465dabc78d
      https://github.com/llvm/llvm-project/commit/d228191c8bb80ebf337d282374941c465dabc78d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/test/AST/Interp/lambda.cpp

  Log Message:
  -----------
  [clang][Interp] Create global variables for TemplateParamObjectDecls


  Commit: ff2720d190e0dbd5f157d5d3614d0ab11fe9e7b2
      https://github.com/llvm/llvm-project/commit/ff2720d190e0dbd5f157d5d3614d0ab11fe9e7b2
  Author: Boian Petkantchin <boian.petkantchin at amd.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
    M mlir/include/mlir/Dialect/Mesh/Transforms/Simplifications.h
    M mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
    M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp

  Log Message:
  -----------
  [mlir][mesh] Dedublicate iterator type and partial type information (#81920)

The two types duplicated mostly the same values.
Here they are decomposed to carry orthogonal and complimentary
information.

Use `utils::IteratorType` instead of `mesh::IteratorType`. It now has
only parallel and reduction values.

Rename `Partial` to `ReductionKind`.

Add `getReductionLoopIteratorKinds` method to `ShardingInterface`.


  Commit: 10007eef394dedda02ca4f9359f1caec45846e5f
      https://github.com/llvm/llvm-project/commit/10007eef394dedda02ca4f9359f1caec45846e5f
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt

  Log Message:
  -----------
  [libc][stdfix] Re-enable fixed point abs entry points. (#81995)

#80757 has been merged.


  Commit: b334664f9f3a098b6f3fd9cfd17b856a9edfe446
      https://github.com/llvm/llvm-project/commit/b334664f9f3a098b6f3fd9cfd17b856a9edfe446
  Author: Anton Lydike <me at AntonLydike.de>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/IR/MPI.h
    A mlir/include/mlir/Dialect/MPI/IR/MPI.td
    A mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
    A mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
    M mlir/include/mlir/InitAllDialects.h
    M mlir/lib/Dialect/CMakeLists.txt
    A mlir/lib/Dialect/MPI/CMakeLists.txt
    A mlir/lib/Dialect/MPI/IR/CMakeLists.txt
    A mlir/lib/Dialect/MPI/IR/MPI.cpp
    A mlir/lib/Dialect/MPI/IR/MPIOps.cpp
    A mlir/test/Dialect/MPI/ops.mlir

  Log Message:
  -----------
  [mlir] Reland "Initial patch to add an MPI dialect" (#81975)

This patch introduces the new MPI dialect into MLIR. The Message Passing
Interface (MPI) is a widely-used standard for distributed programs to
exchange data. This PR goes together with a talk later at today's LLVM
Dev Meeting.

This is just a first, small patch to get going and add the necessary
base files, so that we can add more operations in further patches.

Here's the documentation as generated by `ninja mlir-doc`:
# 'mpi' Dialect

This dialect models the Message Passing Interface (MPI), version 
4.0. It is meant to serve as an interfacing dialect that is targeted
by higher-level dialects. The MPI dialect itself can be lowered to 
multiple MPI implementations and hide differences in ABI. The dialect
models the functions of the MPI specification as close to 1:1 as
possible
while preserving SSA value semantics where it makes sense, and uses 
`memref` types instead of bare pointers.

This dialect is under active development, and while stability is an
eventual goal, it is not guaranteed at this juncture. Given the early 
state, it is recommended to inquire further prior to using this dialect.

For an in-depth documentation of the MPI library interface, please refer
to official documentation such as the 
[OpenMPI online documentation](https://www.open-mpi.org/doc/current/).

[TOC]

## Operation definition

### `mpi.comm_rank` (mpi::CommRankOp)

_Get the current rank, equivalent to `MPI_Comm_rank(MPI_COMM_WORLD,
&rank)`_


Syntax:

```
operation ::= `mpi.comm_rank` attr-dict `:` type(results)
```

Communicators other than `MPI_COMM_WORLD` are not supported for now.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value
| `rank` | 32-bit signless integer


### `mpi.error_class` (mpi::ErrorClassOp)

_Get the error class from an error code, equivalent to the
`MPI_Error_class` function_


Syntax:

```
operation ::= `mpi.error_class` $val attr-dict `:` type($val)
```

`MPI_Error_class` maps return values from MPI calls to a set of
well-known
MPI error classes.

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value

#### Results:

| Result | Description |
| :----: | ----------- |
| `errclass` | MPI function call return value


### `mpi.finalize` (mpi::FinalizeOp)

_Finalize the MPI library, equivalent to `MPI_Finalize()`_


Syntax:

```
operation ::= `mpi.finalize` attr-dict (`:` type($retval)^)?
```

This function cleans up the MPI state. Afterwards, no MPI methods may 
be invoked (excpet for MPI_Get_version, MPI_Initialized, and
MPI_Finalized).
Notably, MPI_Init cannot be called again in the same program.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


### `mpi.init` (mpi::InitOp)

_Initialize the MPI library, equivalent to `MPI_Init(NULL, NULL)`_


Syntax:

```
operation ::= `mpi.init` attr-dict (`:` type($retval)^)?
```

This operation must preceed most MPI calls (except for very few
exceptions,
please consult with the MPI specification on these).

Passing &argc, &argv is not supported currently.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


### `mpi.recv` (mpi::RecvOp)

_Equivalent to `MPI_Recv(ptr, size, dtype, dest, tag, MPI_COMM_WORLD,
MPI_STATUS_IGNORE)`_


Syntax:

```
operation ::= `mpi.recv` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```

MPI_Recv performs a blocking receive of `size` elements of type `dtype` 
from rank `dest`. The `tag` value and communicator enables the library
to
determine the matching of multiple sends and receives between the same 
ranks.

Communicators other than `MPI_COMM_WORLD` are not supprted for now.
The MPI_Status is set to `MPI_STATUS_IGNORE`, as the status object 
is not yet ported to MLIR.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


### `mpi.retval_check` (mpi::RetvalCheckOp)

_Check an MPI return value against an error class_


Syntax:

```
operation ::= `mpi.retval_check` $val `=` $errclass attr-dict `:` type($res)
```

This operation compares MPI status codes to known error class
constants such as `MPI_SUCCESS`, or `MPI_ERR_COMM`.

#### Attributes:

<table>
<tr><th>Attribute</th><th>MLIR Type</th><th>Description</th></tr>

<tr><td><code>errclass</code></td><td>::mlir::mpi::MPI_ErrorClassEnumAttr</td><td><details><summary>MPI
error class name</summary>{{% markdown %}}Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* MPI_ERR_ARG (`MPI_ERR_ARG`)
* MPI_ERR_ASSERT (`MPI_ERR_ASSERT`)
* MPI_ERR_BAD_FILE (`MPI_ERR_BAD_FILE`)
* MPI_ERR_BASE (`MPI_ERR_BASE`)
* MPI_ERR_BUFFER (`MPI_ERR_BUFFER`)
* MPI_ERR_COMM (`MPI_ERR_COMM`)
* MPI_ERR_CONVERSION (`MPI_ERR_CONVERSION`)
* MPI_ERR_COUNT (`MPI_ERR_COUNT`)
* MPI_ERR_DIMS (`MPI_ERR_DIMS`)
* MPI_ERR_DISP (`MPI_ERR_DISP`)
* MPI_ERR_DUP_DATAREP (`MPI_ERR_DUP_DATAREP`)
* MPI_ERR_ERRHANDLER (`MPI_ERR_ERRHANDLER`)
* MPI_ERR_FILE (`MPI_ERR_FILE`)
* MPI_ERR_FILE_EXISTS (`MPI_ERR_FILE_EXISTS`)
* MPI_ERR_FILE_IN_USE (`MPI_ERR_FILE_IN_USE`)
* MPI_ERR_GROUP (`MPI_ERR_GROUP`)
* MPI_ERR_INFO (`MPI_ERR_INFO`)
* MPI_ERR_INFO_KEY (`MPI_ERR_INFO_KEY`)
* MPI_ERR_INFO_NOKEY (`MPI_ERR_INFO_NOKEY`)
* MPI_ERR_INFO_VALUE (`MPI_ERR_INFO_VALUE`)
* MPI_ERR_IN_STATUS (`MPI_ERR_IN_STATUS`)
* MPI_ERR_INTERN (`MPI_ERR_INTERN`)
* MPI_ERR_IO (`MPI_ERR_IO`)
* MPI_ERR_KEYVAL (`MPI_ERR_KEYVAL`)
* MPI_ERR_LOCKTYPE (`MPI_ERR_LOCKTYPE`)
* MPI_ERR_NAME (`MPI_ERR_NAME`)
* MPI_ERR_NO_MEM (`MPI_ERR_NO_MEM`)
* MPI_ERR_NO_SPACE (`MPI_ERR_NO_SPACE`)
* MPI_ERR_NO_SUCH_FILE (`MPI_ERR_NO_SUCH_FILE`)
* MPI_ERR_NOT_SAME (`MPI_ERR_NOT_SAME`)
* MPI_ERR_OP (`MPI_ERR_OP`)
* MPI_ERR_OTHER (`MPI_ERR_OTHER`)
* MPI_ERR_PENDING (`MPI_ERR_PENDING`)
* MPI_ERR_PORT (`MPI_ERR_PORT`)
* MPI_ERR_PROC_ABORTED (`MPI_ERR_PROC_ABORTED`)
* MPI_ERR_QUOTA (`MPI_ERR_QUOTA`)
* MPI_ERR_RANK (`MPI_ERR_RANK`)
* MPI_ERR_READ_ONLY (`MPI_ERR_READ_ONLY`)
* MPI_ERR_REQUEST (`MPI_ERR_REQUEST`)
* MPI_ERR_RMA_ATTACH (`MPI_ERR_RMA_ATTACH`)
* MPI_ERR_RMA_CONFLICT (`MPI_ERR_RMA_CONFLICT`)
* MPI_ERR_RMA_FLAVOR (`MPI_ERR_RMA_FLAVOR`)
* MPI_ERR_RMA_RANGE (`MPI_ERR_RMA_RANGE`)
* MPI_ERR_RMA_SHARED (`MPI_ERR_RMA_SHARED`)
* MPI_ERR_RMA_SYNC (`MPI_ERR_RMA_SYNC`)
* MPI_ERR_ROOT (`MPI_ERR_ROOT`)
* MPI_ERR_SERVICE (`MPI_ERR_SERVICE`)
* MPI_ERR_SESSION (`MPI_ERR_SESSION`)
* MPI_ERR_SIZE (`MPI_ERR_SIZE`)
* MPI_ERR_SPAWN (`MPI_ERR_SPAWN`)
* MPI_ERR_TAG (`MPI_ERR_TAG`)
* MPI_ERR_TOPOLOGY (`MPI_ERR_TOPOLOGY`)
* MPI_ERR_TRUNCATE (`MPI_ERR_TRUNCATE`)
* MPI_ERR_TYPE (`MPI_ERR_TYPE`)
* MPI_ERR_UNKNOWN (`MPI_ERR_UNKNOWN`)
* MPI_ERR_UNSUPPORTED_DATAREP (`MPI_ERR_UNSUPPORTED_DATAREP`)
* MPI_ERR_UNSUPPORTED_OPERATION (`MPI_ERR_UNSUPPORTED_OPERATION`)
* MPI_ERR_VALUE_TOO_LARGE (`MPI_ERR_VALUE_TOO_LARGE`)
* MPI_ERR_WIN (`MPI_ERR_WIN`)
* MPI_ERR_LASTCODE (`MPI_ERR_LASTCODE`){{% /markdown
%}}</details></td></tr>
</table>

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `val` | MPI function call return value

#### Results:

| Result | Description |
| :----: | ----------- |
| `res` | 1-bit signless integer


### `mpi.send` (mpi::SendOp)

_Equivalent to `MPI_Send(ptr, size, dtype, dest, tag, MPI_COMM_WORLD)`_


Syntax:

```
operation ::= `mpi.send` `(` $ref `,` $tag `,` $rank `)` attr-dict `:` type($ref) `,` type($tag) `,` type($rank)(`->` type($retval)^)?
```

MPI_Send performs a blocking send of `size` elements of type `dtype` to
rank
`dest`. The `tag` value and communicator enables the library to
determine
the matching of multiple sends and receives between the same ranks.

Communicators other than `MPI_COMM_WORLD` are not supprted for now.

This operation can optionally return an `!mpi.retval` value that can be
used
to check for errors.

#### Operands:

| Operand | Description |
| :-----: | ----------- |
| `ref` | memref of any type values
| `tag` | 32-bit signless integer
| `rank` | 32-bit signless integer

#### Results:

| Result | Description |
| :----: | ----------- |
| `retval` | MPI function call return value


## Attribute definition

### MPI_ErrorClassEnumAttr

MPI error class name

Syntax:

```
#mpi.errclass<
  ::mlir::mpi::MPI_ErrorClassEnum   # value
>
```

Enum cases:
* MPI_SUCCESS (`MPI_SUCCESS`)
* MPI_ERR_ACCESS (`MPI_ERR_ACCESS`)
* MPI_ERR_AMODE (`MPI_ERR_AMODE`)
* ... *all other MPI error codes*

#### Parameters:

| Parameter | C++ type | Description |
| :-------: | :-------: | ----------- |
| value | `::mlir::mpi::MPI_ErrorClassEnum` | an enum of type
MPI_ErrorClassEnum |

## Type definition

### RetvalType

MPI function call return value

Syntax: `!mpi.retval`

This type represents a return value from an MPI function vall.
This value can be MPI_SUCCESS, MPI_ERR_IN_STATUS, or any error code.

This return value can be compared agains the known MPI error classes
represented by `#mpi.errclass` using the `mpi.retval_check` operation.


  Commit: a80a01fc25afc7939f7f03227b586ad4465d4a38
      https://github.com/llvm/llvm-project/commit/a80a01fc25afc7939f7f03227b586ad4465d4a38
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M libc/src/__support/UInt.h
    M libc/src/__support/integer_literals.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel

  Log Message:
  -----------
  [reland][libc][NFC] Use user defined literals to build 128 and 256 bit constants (#81998)

- #81835
- Fix for platforms where uint64_t is not available


  Commit: db870cfc9ed20e810308262d6d6bbb08b369c23f
      https://github.com/llvm/llvm-project/commit/db870cfc9ed20e810308262d6d6bbb08b369c23f
  Author: Eikansh Gupta <quic_eikagupt at quicinc.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h

  Log Message:
  -----------
  [InstCombine] Extract helper from matchFunnelShift (NFC)

The matchFunnelShift function was doing pattern matching and creating
the fshl/fshr instruction if needed. Moved the pattern matching code to
function convertOrOfShiftsToFunnelShift. It can be reused for other
optimizations.


  Commit: 3d81d48398f04119f568206d47a29dd6a96c4a08
      https://github.com/llvm/llvm-project/commit/3d81d48398f04119f568206d47a29dd6a96c4a08
  Author: Eikansh Gupta <quic_eikagupt at quicinc.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

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

  Log Message:
  -----------
  [InstCombine] Added additional funnel shift tests (NFC)


  Commit: 3363d23bd39970cbd5e32bfca6892ffd97ceb023
      https://github.com/llvm/llvm-project/commit/3363d23bd39970cbd5e32bfca6892ffd97ceb023
  Author: Eikansh Gupta <quic_eikagupt at quicinc.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/test/Transforms/InstCombine/fsh.ll

  Log Message:
  -----------
  [InstCombine] Do not simplify lshr/shl arg if it is part of a rotate pattern

fshl/fshr having first two arguments as same gets lowered to target
specific rotate. But based on the uses, one of the arguments can get
simplified resulting in different arguments performing equivalent
operation.

This patch prevents the simplification of the arguments of lshr/shl if
they are part of fshl pattern.

Closes https://github.com/llvm/llvm-project/pull/73441.


  Commit: bf93f4b85fd4efbd7a3083935a2ddbbb00f1a35f
      https://github.com/llvm/llvm-project/commit/bf93f4b85fd4efbd7a3083935a2ddbbb00f1a35f
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
    M lldb/test/API/api/multithreaded/TestMultithreaded.py
    M lldb/test/API/functionalities/plugins/command_plugin/TestPluginCommands.py

  Log Message:
  -----------
  [lldb] Fix and rename skipIfHostIncompatibleWithRemote

Fix and rename the broken and confusingly named decorator
skipIfHostIncompatibleWithRemote. The decorator is meant to skip test
which uses the inferior test build system (i.e. to build test inferiors)
to build host binaries (e.g. lldb drivers).

The decorator was broken on macOS, where the host and target platform
report macosx, but the decorator overwrote it with Darwin, resulting in
tests incorrectly being skipped.

The decorator was also missing on a handful of tests that use the
buildDriver helper, which this commit fixes as well.


  Commit: 17040babf529da3cf20bfb1dd54bd92d1e07def3
      https://github.com/llvm/llvm-project/commit/17040babf529da3cf20bfb1dd54bd92d1e07def3
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

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

  Log Message:
  -----------
  Add llvm_v3i32_ty. NFC. (#81928)


  Commit: 0b1c25c995cdc3e60fcbb8e0b8ff01adf9061fa6
      https://github.com/llvm/llvm-project/commit/0b1c25c995cdc3e60fcbb8e0b8ff01adf9061fa6
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  [AMDGPU] Fix Ins64 clamp in the VOPProfile. NFC. (#81925)

For some reason only IntClamp was added to the Ins64, but not FPClamp.
As is this is NFC, but fails to produce proper dag downstream.


  Commit: 2f083b364f43fb12b2fdf23935e1f0b6958d0882
      https://github.com/llvm/llvm-project/commit/2f083b364f43fb12b2fdf23935e1f0b6958d0882
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
    M llvm/test/CodeGen/AArch64/arm64-stur.ll
    M llvm/test/CodeGen/AArch64/merge-store.ll
    M llvm/test/CodeGen/AArch64/storepairsuppress.ll

  Log Message:
  -----------
  [AArch64] Fix resource length computation for STP. (#81749)

On some uArchs, `STP [s|d], [s|d]` first combines the 2 input registers
in a single register using a vector execution unit. IIUC
AArch64StorePairSuppress tries to prevent forming STPs in case the
critical resource are the vector units, in order to prevent adding more
pressure on those units.

The implementation however simply computes the new critical resource
length by adding resource for another STP. If load/store units are the
critical resource, this means we increase that length by one, and
incorrectly prevent forming the STP.

This patch adjusts the resource computation by also removing 2 STRs, as
introducing a STP will remove 2 single stores. This should more
accurately reflect the resource usage after introducing an STP, and does
not prevent forming STPs if load/store units are the critical resources;
in those cases, STP can actually help to reduce resource usage.

PR: https://github.com/llvm/llvm-project/pull/81749


  Commit: c098f2d1669fb1ec6a5eac81277bd16b334ec956
      https://github.com/llvm/llvm-project/commit/c098f2d1669fb1ec6a5eac81277bd16b334ec956
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td

  Log Message:
  -----------
  [AMDGPU] Rewrite `getVOPSrc0ForVT` with `!cond` (#81956)


  Commit: dfae16277329011aa5f1e41ecd06b9db75a0c374
      https://github.com/llvm/llvm-project/commit/dfae16277329011aa5f1e41ecd06b9db75a0c374
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll

  Log Message:
  -----------
  [SLP] Update test naming to avoid FileCheck warnings

This only address the tmp name collision.  We still get warnings due to
conflicting ASM.  This is due to the different target attributes on the
function.


  Commit: 7b7d411de9f731d2bcf6b093f6cee2cf57a5196e
      https://github.com/llvm/llvm-project/commit/7b7d411de9f731d2bcf6b093f6cee2cf57a5196e
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/type/main.cpp

  Log Message:
  -----------
  [lldb] Fix `FindDirectNestedType` not working with class templates (#81666)

This patch attempts to fix lookup in class template specialization.

The first fixed problem is that during type lookup `DeclContextGetName`
have been dropping template arguments. So when such a name was compared
against a name in `DW_AT_name`, which contains template arguments, false
mismatches have been occurring.

The second fixed problem is that LLDB's printing policy hasn't been
matching Clang's printing policy when it comes to integral non-type
template arguments. This again caused some false mismatches during type
lookup, because Clang puts e.g. `3U` in debug info for class
specializations, but LLDB has been expecting just `3`. This patch brings
printing policy in line with what Clang does.


  Commit: ea226d6693022b707f6acc6e399c12da8261de11
      https://github.com/llvm/llvm-project/commit/ea226d6693022b707f6acc6e399c12da8261de11
  Author: Michael Liao <michael.hliao at gmail.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/CMakeLists.txt
    M llvm/lib/Target/Mips/CMakeLists.txt
    M llvm/lib/Target/SystemZ/CMakeLists.txt
    M llvm/lib/Target/VE/CMakeLists.txt

  Log Message:
  -----------
  [LoongArch|Mips|SystemZ|VE] Fix shared build. NFC


  Commit: 0da0966da4b813386a85cf70ae0d0efc7cb2eaea
      https://github.com/llvm/llvm-project/commit/0da0966da4b813386a85cf70ae0d0efc7cb2eaea
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/test/API/api/check_public_api_headers/TestPublicAPIHeaders.py
    M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
    M lldb/test/API/api/multithreaded/TestMultithreaded.py

  Log Message:
  -----------
  [lldb] Don't overwrite the dynamic loader library path for "driver tests"

We have a handful of tests that build a driver which links against LLDB.
When running those binaries, we overwrite the dynamic loader library
path to point to the build directory's libs dir, presumably to make sure
we load LLDB from there.

This above becomes an issue when you have libc++ enabled and the driver
is linked against the system's libc++, but the dynamic loader flag
forces it to pick up libc++ from the libs dir.

We could try to make the logic for building the driver smarter and have
it pick up the just-built libc++ like we do for our test binaries, but I
don't think we need to overwrite the library path in the first place.
The build logic to build these drivers already takes care to set the
correct RPATH in the linker.

This patch removes the logic and simplifies the tests.


  Commit: cb891127974ddba9d2e31fe16220591ff9296bdb
      https://github.com/llvm/llvm-project/commit/cb891127974ddba9d2e31fe16220591ff9296bdb
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/parse-wait-clause.c
    A clang/test/SemaOpenACC/compute-construct-ast.cpp
    A clang/test/SemaOpenACC/parallel-assoc-stmt-inst.cpp
    A clang/test/SemaOpenACC/parallel-loc-and-stmt.c
    A clang/test/SemaOpenACC/parallel-loc-and-stmt.cpp
    A clang/test/SemaOpenACC/unimplemented-construct.c

  Log Message:
  -----------
  [OpenACC] Implement beginning parts of the 'parallel' Sema impl (#81659)

This patch Implements AST node creation and appertainment enforcement
for 'parallel', as well as changes the 'not implemented' messages to be
more specific. It does not deal with clauses/clause legality, nor a few
of the other rules from the standard, but this gets us most of the way
for a framework for future construct implementation.


  Commit: 58946ee435dca2071ce8eec1961de29e7378ec03
      https://github.com/llvm/llvm-project/commit/58946ee435dca2071ce8eec1961de29e7378ec03
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    A libc/docs/c23.rst
    M libc/docs/index.rst

  Log Message:
  -----------
  [libc][docs] start documenting c23 support (#81933)

I've been diffing the c17 vs c23 latest publicly available drafts and think I
have most of the library related differences. I haven't yet annotated what we
actually support or not.

Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2310.pdf (C17)
Link: https://www.open-std.org/jtc1/sc22/wg14/www/docs/n3096.pdf (C23)


  Commit: eb97599335be0e65de337681ce558818e57e382f
      https://github.com/llvm/llvm-project/commit/eb97599335be0e65de337681ce558818e57e382f
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M libc/src/__support/number_pair.h

  Log Message:
  -----------
  [libc][NFC] Add missing constexpr (#82007)

This is a fix forward for the Fuchsia build bot
https://lab.llvm.org/buildbot/#/builders/98/builds/33515


  Commit: f01ed3bc8884223bf3edbaad8d3685622444cbf5
      https://github.com/llvm/llvm-project/commit/f01ed3bc8884223bf3edbaad8d3685622444cbf5
  Author: lntue <35648136+lntue at users.noreply.github.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/stdfix.rst
    M libc/spec/stdc_ext.td
    M libc/src/__support/fixed_point/CMakeLists.txt
    M libc/src/__support/fixed_point/fx_bits.h
    M libc/src/stdfix/CMakeLists.txt
    A libc/src/stdfix/roundhk.cpp
    A libc/src/stdfix/roundhk.h
    A libc/src/stdfix/roundhr.cpp
    A libc/src/stdfix/roundhr.h
    A libc/src/stdfix/roundk.cpp
    A libc/src/stdfix/roundk.h
    A libc/src/stdfix/roundlk.cpp
    A libc/src/stdfix/roundlk.h
    A libc/src/stdfix/roundlr.cpp
    A libc/src/stdfix/roundlr.h
    A libc/src/stdfix/roundr.cpp
    A libc/src/stdfix/roundr.h
    A libc/src/stdfix/rounduhk.cpp
    A libc/src/stdfix/rounduhk.h
    A libc/src/stdfix/rounduhr.cpp
    A libc/src/stdfix/rounduhr.h
    A libc/src/stdfix/rounduk.cpp
    A libc/src/stdfix/rounduk.h
    A libc/src/stdfix/roundulk.cpp
    A libc/src/stdfix/roundulk.h
    A libc/src/stdfix/roundulr.cpp
    A libc/src/stdfix/roundulr.h
    A libc/src/stdfix/roundur.cpp
    A libc/src/stdfix/roundur.h
    M libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/RoundTest.h
    A libc/test/src/stdfix/roundhk_test.cpp
    A libc/test/src/stdfix/roundhr_test.cpp
    A libc/test/src/stdfix/roundk_test.cpp
    A libc/test/src/stdfix/roundlk_test.cpp
    A libc/test/src/stdfix/roundlr_test.cpp
    A libc/test/src/stdfix/roundr_test.cpp
    A libc/test/src/stdfix/rounduhk_test.cpp
    A libc/test/src/stdfix/rounduhr_test.cpp
    A libc/test/src/stdfix/rounduk_test.cpp
    A libc/test/src/stdfix/roundulk_test.cpp
    A libc/test/src/stdfix/roundulr_test.cpp
    A libc/test/src/stdfix/roundur_test.cpp
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel

  Log Message:
  -----------
  [libc][stdfix] Add round functions for fixed point types. (#81994)


  Commit: 15cccc55919d27eb2e89379a65f6c7809f679fda
      https://github.com/llvm/llvm-project/commit/15cccc55919d27eb2e89379a65f6c7809f679fda
  Author: Wael Yehia <44115484+w2yehia at users.noreply.github.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
    A compiler-rt/test/profile/AIX/bexpfull-pgo.c

  Log Message:
  -----------
  [AIX] Add a dummy variable in the __llvm_orderfile section (#81968)

to satisfy the __start___llvm_orderfile reference when linking with
-bexpfull and -fprofile-generate on AIX.


  Commit: fc38182eab1614e6e6c067ad655935d680e72a41
      https://github.com/llvm/llvm-project/commit/fc38182eab1614e6e6c067ad655935d680e72a41
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/test/AST/Interp/lambda.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Convert test case to verify=expected,ref style


  Commit: 7f45acfbfec678ad918640744229f15b9293ac79
      https://github.com/llvm/llvm-project/commit/7f45acfbfec678ad918640744229f15b9293ac79
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeEmitter.cpp
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/PrimType.h
    M clang/test/SemaCXX/builtins-overflow.cpp

  Log Message:
  -----------
  [clang][Interp] Implement various overflow and carry builtins

Enough so we can enable SemaCXX/builtin-overflow.cpp.


  Commit: 36e73e4edcf31855bf5219a750ce8e6c76a91524
      https://github.com/llvm/llvm-project/commit/36e73e4edcf31855bf5219a750ce8e6c76a91524
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

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

  Log Message:
  -----------
  [LICM][NFCish] Consider all calls in a presplit coroutine unsinkable/unhoistable (#81951)

NFCish since previously we'd return false for all presplit coroutines
anyway. This clarifies things a bit.


  Commit: 44ad5c25845d5051e00278228e71765f0813deda
      https://github.com/llvm/llvm-project/commit/44ad5c25845d5051e00278228e71765f0813deda
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-02-16 (Fri, 16 Feb 2024)

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .git-blame-ignore-revs
    M .github/CODEOWNERS
    M .github/workflows/docs.yml
    M .github/workflows/issue-release-workflow.yml
    M .github/workflows/llvm-project-tests.yml
    A .github/workflows/llvm-project-workflow-tests.yml
    M bolt/include/bolt/Core/BinaryContext.h
    M bolt/include/bolt/Core/BinaryFunction.h
    M bolt/include/bolt/Core/BinarySection.h
    M bolt/include/bolt/Core/DIEBuilder.h
    M bolt/include/bolt/Core/DynoStats.h
    M bolt/include/bolt/Core/Exceptions.h
    M bolt/include/bolt/Passes/ADRRelaxationPass.h
    M bolt/include/bolt/Passes/Aligner.h
    M bolt/include/bolt/Passes/AllocCombiner.h
    M bolt/include/bolt/Passes/AsmDump.h
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Passes/CMOVConversion.h
    M bolt/include/bolt/Passes/CacheMetrics.h
    M bolt/include/bolt/Passes/FixRISCVCallsPass.h
    M bolt/include/bolt/Passes/FixRelaxationPass.h
    M bolt/include/bolt/Passes/FrameOptimizer.h
    M bolt/include/bolt/Passes/Hugify.h
    M bolt/include/bolt/Passes/IdenticalCodeFolding.h
    M bolt/include/bolt/Passes/IndirectCallPromotion.h
    M bolt/include/bolt/Passes/Inliner.h
    M bolt/include/bolt/Passes/Instrumentation.h
    M bolt/include/bolt/Passes/JTFootprintReduction.h
    M bolt/include/bolt/Passes/LongJmp.h
    M bolt/include/bolt/Passes/LoopInversionPass.h
    M bolt/include/bolt/Passes/PLTCall.h
    M bolt/include/bolt/Passes/PatchEntries.h
    M bolt/include/bolt/Passes/RegReAssign.h
    M bolt/include/bolt/Passes/ReorderData.h
    M bolt/include/bolt/Passes/ReorderFunctions.h
    M bolt/include/bolt/Passes/RetpolineInsertion.h
    M bolt/include/bolt/Passes/ShrinkWrapping.h
    M bolt/include/bolt/Passes/SplitFunctions.h
    M bolt/include/bolt/Passes/StokeInfo.h
    M bolt/include/bolt/Passes/TailDuplication.h
    M bolt/include/bolt/Passes/ThreeWayBranch.h
    M bolt/include/bolt/Passes/ValidateInternalCalls.h
    M bolt/include/bolt/Passes/ValidateMemRefs.h
    M bolt/include/bolt/Passes/VeneerElimination.h
    M bolt/include/bolt/Profile/BoltAddressTranslation.h
    M bolt/include/bolt/Rewrite/BinaryPassManager.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Core/BinaryBasicBlock.cpp
    M bolt/lib/Core/BinaryContext.cpp
    M bolt/lib/Core/BinaryEmitter.cpp
    M bolt/lib/Core/BinaryFunction.cpp
    M bolt/lib/Core/BinarySection.cpp
    M bolt/lib/Core/DIEBuilder.cpp
    M bolt/lib/Core/DebugData.cpp
    M bolt/lib/Core/DynoStats.cpp
    M bolt/lib/Core/Exceptions.cpp
    M bolt/lib/Core/ParallelUtilities.cpp
    M bolt/lib/Passes/ADRRelaxationPass.cpp
    M bolt/lib/Passes/Aligner.cpp
    M bolt/lib/Passes/AllocCombiner.cpp
    M bolt/lib/Passes/AsmDump.cpp
    M bolt/lib/Passes/BinaryFunctionCallGraph.cpp
    M bolt/lib/Passes/BinaryPasses.cpp
    M bolt/lib/Passes/CMOVConversion.cpp
    M bolt/lib/Passes/CacheMetrics.cpp
    M bolt/lib/Passes/FixRISCVCallsPass.cpp
    M bolt/lib/Passes/FixRelaxationPass.cpp
    M bolt/lib/Passes/FrameAnalysis.cpp
    M bolt/lib/Passes/FrameOptimizer.cpp
    M bolt/lib/Passes/Hugify.cpp
    M bolt/lib/Passes/IdenticalCodeFolding.cpp
    M bolt/lib/Passes/IndirectCallPromotion.cpp
    M bolt/lib/Passes/Inliner.cpp
    M bolt/lib/Passes/Instrumentation.cpp
    M bolt/lib/Passes/JTFootprintReduction.cpp
    M bolt/lib/Passes/LongJmp.cpp
    M bolt/lib/Passes/LoopInversionPass.cpp
    M bolt/lib/Passes/PLTCall.cpp
    M bolt/lib/Passes/PatchEntries.cpp
    M bolt/lib/Passes/RegAnalysis.cpp
    M bolt/lib/Passes/RegReAssign.cpp
    M bolt/lib/Passes/ReorderData.cpp
    M bolt/lib/Passes/ReorderFunctions.cpp
    M bolt/lib/Passes/RetpolineInsertion.cpp
    M bolt/lib/Passes/ShrinkWrapping.cpp
    M bolt/lib/Passes/SplitFunctions.cpp
    M bolt/lib/Passes/StokeInfo.cpp
    M bolt/lib/Passes/TailDuplication.cpp
    M bolt/lib/Passes/ThreeWayBranch.cpp
    M bolt/lib/Passes/ValidateInternalCalls.cpp
    M bolt/lib/Passes/ValidateMemRefs.cpp
    M bolt/lib/Passes/VeneerElimination.cpp
    M bolt/lib/Profile/BoltAddressTranslation.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/DWARFRewriter.cpp
    M bolt/lib/Rewrite/MachORewriteInstance.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/lib/Target/X86/X86MCSymbolizer.cpp
    M bolt/lib/Target/X86/X86MCSymbolizer.h
    M bolt/test/X86/dwarf4-subprogram-single-gc-ranges.test
    A bolt/test/X86/dwarf5-empty-function-ranges.s
    A bolt/test/X86/dwarf5-loclist-out-of-order.s
    M bolt/test/X86/dwarf5-subprogram-single-gc-ranges.test
    A bolt/test/X86/fatal-error.s
    A bolt/test/X86/log.test
    M bolt/tools/bat-dump/bat-dump.cpp
    M bolt/tools/driver/llvm-bolt.cpp
    M bolt/unittests/Core/BinaryContext.cpp
    M bolt/unittests/Core/MCPlusBuilder.cpp
    M clang-tools-extra/clang-tidy/bugprone/TooSmallLoopVariableCheck.cpp
    M clang-tools-extra/clang-tidy/bugprone/UnusedLocalNonTrivialVariableCheck.cpp
    M clang-tools-extra/clang-tidy/cppcoreguidelines/PreferMemberInitializerCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/DeprecatedHeadersCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseOverrideCheck.cpp
    M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.cpp
    M clang-tools-extra/clangd/ClangdLSPServer.h
    M clang-tools-extra/clangd/Protocol.cpp
    M clang-tools-extra/clangd/Protocol.h
    M clang-tools-extra/clangd/index/SymbolCollector.cpp
    M clang-tools-extra/clangd/refactor/Rename.cpp
    M clang-tools-extra/clangd/refactor/Rename.h
    M clang-tools-extra/clangd/test/rename.test
    M clang-tools-extra/clangd/unittests/DiagnosticsTests.cpp
    M clang-tools-extra/clangd/unittests/RenameTests.cpp
    M clang-tools-extra/clangd/unittests/SymbolCollectorTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/too-small-loop-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/bugprone/unused-local-non-trivial-variable.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/deprecated-headers.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-override.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/avoid-return-with-void-value.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/container-contains.rst
    M clang-tools-extra/docs/clang-tidy/checks/readability/use-anyofallof.rst
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/too-small-loop-variable.cpp
    M clang-tools-extra/test/clang-tidy/checkers/bugprone/unused-local-non-trivial-variable.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/prefer-member-initializer.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-override.cpp
    M clang-tools-extra/test/clang-tidy/checkers/readability/redundant-inline-specifier.cpp
    M clang/docs/ClangFormatStyleOptions.rst
    M clang/docs/ClangLinkerWrapper.rst
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/ShadowCallStack.rst
    M clang/docs/analyzer/checkers.rst
    M clang/docs/tools/dump_format_style.py
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/Availability.h
    M clang/include/clang/AST/CommentCommandTraits.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/OperationKinds.def
    M clang/include/clang/AST/RawCommentList.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/StmtObjC.h
    A clang/include/clang/AST/StmtOpenACC.h
    M clang/include/clang/AST/StmtOpenMP.h
    M clang/include/clang/AST/StmtVisitor.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h
    M clang/include/clang/Analysis/Analyses/UnsafeBufferUsageGadgets.def
    M clang/include/clang/Analysis/CFG.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/BuiltinsAArch64.def
    M clang/include/clang/Basic/BuiltinsBase.td
    M clang/include/clang/Basic/BuiltinsNVPTX.def
    R clang/include/clang/Basic/BuiltinsRISCV.def
    A clang/include/clang/Basic/BuiltinsRISCV.td
    M clang/include/clang/Basic/CMakeLists.txt
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticDriverKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticLexKinds.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/IdentifierTable.h
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Basic/Module.h
    M clang/include/clang/Basic/OpenACCKinds.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetBuiltins.h
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/TokenKinds.def
    M clang/include/clang/Basic/TokenKinds.h
    M clang/include/clang/Basic/Visibility.h
    M clang/include/clang/CodeGen/CGFunctionInfo.h
    M clang/include/clang/Driver/Action.h
    M clang/include/clang/Driver/ClangOptionDocs.td
    M clang/include/clang/Driver/Driver.h
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Driver/Types.def
    M clang/include/clang/ExtractAPI/API.h
    R clang/include/clang/ExtractAPI/AvailabilityInfo.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/Format/Format.h
    M clang/include/clang/Frontend/CompilerInstance.h
    M clang/include/clang/Frontend/CompilerInvocation.h
    M clang/include/clang/Frontend/FrontendActions.h
    M clang/include/clang/Frontend/FrontendOptions.h
    A clang/include/clang/Frontend/InstallAPIOptions.h
    A clang/include/clang/InstallAPI/Context.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Parse/RAIIObjectsForParser.h
    M clang/include/clang/Sema/AnalysisBasedWarnings.h
    M clang/include/clang/Sema/CodeCompleteConsumer.h
    M clang/include/clang/Sema/CodeCompleteOptions.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/DelayedDiagnostic.h
    M clang/include/clang/Sema/Overload.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/ScopeInfo.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/TemplateDeduction.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/include/clang/Tooling/Inclusions/IncludeStyle.h
    M clang/include/module.modulemap
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ASTStructuralEquivalence.cpp
    A clang/lib/AST/Availability.cpp
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/Interp/ByteCodeEmitter.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/EvalEmitter.cpp
    M clang/lib/AST/Interp/EvalEmitter.h
    M clang/lib/AST/Interp/EvaluationResult.cpp
    M clang/lib/AST/Interp/EvaluationResult.h
    M clang/lib/AST/Interp/Function.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/InterpBuiltin.cpp
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/Interp/InterpFrame.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Pointer.cpp
    M clang/lib/AST/Interp/PrimType.h
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/Interp/Program.h
    M clang/lib/AST/Interp/Source.cpp
    M clang/lib/AST/Linkage.h
    M clang/lib/AST/RecordLayoutBuilder.cpp
    M clang/lib/AST/Stmt.cpp
    A clang/lib/AST/StmtOpenACC.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/UnsafeBufferUsage.cpp
    M clang/lib/Basic/DiagnosticIDs.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/IdentifierTable.cpp
    M clang/lib/Basic/Module.cpp
    M clang/lib/Basic/TargetInfo.cpp
    M clang/lib/Basic/Targets.cpp
    M clang/lib/Basic/Targets/AArch64.cpp
    M clang/lib/Basic/Targets/AArch64.h
    M clang/lib/Basic/Targets/AMDGPU.cpp
    M clang/lib/Basic/Targets/ARM.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/RISCV.cpp
    M clang/lib/Basic/Targets/SPIR.h
    M clang/lib/CMakeLists.txt
    M clang/lib/CodeGen/BackendConsumer.h
    M clang/lib/CodeGen/BackendUtil.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDARuntime.h
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCall.h
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprComplex.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGObjC.cpp
    M clang/lib/CodeGen/CGRecordLayout.h
    M clang/lib/CodeGen/CGStmt.cpp
    M clang/lib/CodeGen/CodeGenAction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenPGO.cpp
    M clang/lib/CodeGen/CodeGenPGO.h
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/CodeGen/CoverageMappingGen.h
    M clang/lib/CodeGen/LinkInModulesPass.cpp
    A clang/lib/CodeGen/MCDCState.h
    M clang/lib/CodeGen/TargetInfo.h
    M clang/lib/CodeGen/Targets/AArch64.cpp
    M clang/lib/Driver/Action.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Arch/Sparc.cpp
    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/Flang.cpp
    M clang/lib/Driver/ToolChains/Flang.h
    M clang/lib/Edit/RewriteObjCFoundationAPI.cpp
    R clang/lib/ExtractAPI/AvailabilityInfo.cpp
    M clang/lib/ExtractAPI/CMakeLists.txt
    M clang/lib/Format/ContinuationIndenter.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/FormatTokenLexer.cpp
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CMakeLists.txt
    M clang/lib/Frontend/CompilerInvocation.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    A clang/lib/Frontend/InstallAPIConsumer.cpp
    M clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
    M clang/lib/Headers/hlsl/hlsl_basic_types.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Headers/ia32intrin.h
    M clang/lib/Headers/intrin.h
    M clang/lib/Headers/stdatomic.h
    A clang/lib/InstallAPI/CMakeLists.txt
    A clang/lib/InstallAPI/Context.cpp
    M clang/lib/Lex/DependencyDirectivesScanner.cpp
    M clang/lib/Lex/Lexer.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseTentative.cpp
    M clang/lib/Sema/AnalysisBasedWarnings.cpp
    M clang/lib/Sema/CMakeLists.txt
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/Sema.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaLookup.cpp
    A clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaStmt.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/BugSuppression.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
    M clang/test/AST/Interp/arrays.cpp
    M clang/test/AST/Interp/builtin-functions.cpp
    M clang/test/AST/Interp/c.c
    A clang/test/AST/Interp/complex.c
    M clang/test/AST/Interp/complex.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/lambda.cpp
    M clang/test/AST/Interp/literals.cpp
    M clang/test/AST/Interp/records.cpp
    A clang/test/Analysis/Checkers/WebKit/assignment-to-refptr.cpp
    R clang/test/Analysis/Checkers/WebKit/call-args-dynamic-downcast.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-protected-return-value.cpp
    A clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    A clang/test/Analysis/Checkers/WebKit/implicit-cast-to-base-class-with-deref-in-superclass.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/Checkers/WebKit/ref-cntbl-base-virtual-dtor.cpp
    A clang/test/Analysis/Checkers/WebKit/ref-countable-default-arg-nullptr.cpp
    A clang/test/Analysis/Checkers/WebKit/ref-ptr-accessor.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-lambda-captures.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-local-vars.cpp
    M clang/test/Analysis/Checkers/WebKit/uncounted-members.cpp
    A clang/test/Analysis/Checkers/WebKit/uncounted-obj-arg.cpp
    M clang/test/Analysis/ObjCRetSigs.m
    M clang/test/Analysis/bitwise-shift-common.c
    M clang/test/Analysis/objc_invalidation.m
    M clang/test/Analysis/scan-build/html_output.test
    M clang/test/Analysis/suppression-attr-doc.cpp
    A clang/test/Analysis/suppression-attr.cpp
    M clang/test/Analysis/suppression-attr.m
    M clang/test/Analysis/unused-ivars.m
    A clang/test/C/C2x/n2549.c
    M clang/test/C/C2x/n2934.c
    M clang/test/CMakeLists.txt
    M clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p3.cpp
    A clang/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p4.cpp
    M clang/test/CXX/drs/dr11xx.cpp
    A clang/test/CXX/drs/dr124.cpp
    M clang/test/CXX/drs/dr12xx.cpp
    M clang/test/CXX/drs/dr14xx.cpp
    M clang/test/CXX/drs/dr15xx.cpp
    M clang/test/CXX/drs/dr16xx.cpp
    M clang/test/CXX/drs/dr17xx.cpp
    A clang/test/CXX/drs/dr185.cpp
    M clang/test/CXX/drs/dr18xx.cpp
    A clang/test/CXX/drs/dr193.cpp
    A clang/test/CXX/drs/dr199.cpp
    M clang/test/CXX/drs/dr1xx.cpp
    A clang/test/CXX/drs/dr201.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    A clang/test/CXX/drs/dr210.cpp
    M clang/test/CXX/drs/dr22xx.cpp
    M clang/test/CXX/drs/dr2335.cpp
    M clang/test/CXX/drs/dr23xx.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    A clang/test/CXX/drs/dr2504.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    A clang/test/CXX/drs/dr292.cpp
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr4xx.cpp
    M clang/test/CXX/over/over.match/over.match.best/p1-2a.cpp
    M clang/test/CXX/temp/temp.decls/temp.class/temp.mem.enum/p1.cpp
    M clang/test/CodeGen/LoongArch/atomics.c
    M clang/test/CodeGen/PowerPC/quadword-atomics.c
    M clang/test/CodeGen/RISCV/ntlh-intrinsics/riscv32-zihintntl.c
    M clang/test/CodeGen/RISCV/riscv-atomics.c
    A clang/test/CodeGen/RISCV/riscv-metadata-arch.c
    M clang/test/CodeGen/SystemZ/gnu-atomic-builtins-i128-8Al.c
    M clang/test/CodeGen/aarch64-ABI-align-packed-assembly.c
    M clang/test/CodeGen/aarch64-ABI-align-packed.c
    M clang/test/CodeGen/aarch64-fix-cortex-a53-835769.c
    M clang/test/CodeGen/aarch64-ls64-inline-asm.c
    M clang/test/CodeGen/aarch64-ls64.c
    M clang/test/CodeGen/aarch64-matmul.cpp
    M clang/test/CodeGen/aarch64-neon-ldst-one-rcpc3.c
    A clang/test/CodeGen/aarch64-soft-float-abi.c
    M clang/test/CodeGen/aarch64-targetattr-arch.c
    M clang/test/CodeGen/aarch64-targetattr-crypto.c
    M clang/test/CodeGen/aarch64-targetattr.c
    M clang/test/CodeGen/aarch64-tme.cpp
    M clang/test/CodeGen/arm-atomics-m.c
    M clang/test/CodeGen/arm-atomics-m0.c
    M clang/test/CodeGen/arm64-microsoft-intrinsics.c
    M clang/test/CodeGen/arm64-mte.c
    M clang/test/CodeGen/atomic-ops-libcall.c
    M clang/test/CodeGen/atomic-ops.c
    M clang/test/CodeGen/atomics-inlining.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-bitcast.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-call.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-cast.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-codegen.c
    M clang/test/CodeGen/attr-riscv-rvv-vector-bits-globals.c
    M clang/test/CodeGen/attr-target-clones-aarch64.c
    M clang/test/CodeGen/attr-target-version.c
    M clang/test/CodeGen/builtins-nvptx.c
    M clang/test/CodeGen/builtins.c
    M clang/test/CodeGen/c11atomics.c
    M clang/test/CodeGen/fp128_complex.c
    M clang/test/CodeGen/fp16-ops-strictfp.c
    M clang/test/CodeGen/fp16-ops.c
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics-underaligned.c
    M clang/test/CodeGenCXX/atomic-inline.cpp
    M clang/test/CodeGenCXX/attr-target-version.cpp
    M clang/test/CodeGenCXX/debug-info-structured-binding-bitfield.cpp
    A clang/test/CodeGenHLSL/BasicFeatures/standard_conversion_sequences.hlsl
    M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
    M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
    M clang/test/CodeGenHLSL/builtins/abs.hlsl
    M clang/test/CodeGenHLSL/builtins/ceil.hlsl
    M clang/test/CodeGenHLSL/builtins/cos.hlsl
    M clang/test/CodeGenHLSL/builtins/floor.hlsl
    M clang/test/CodeGenHLSL/builtins/log.hlsl
    M clang/test/CodeGenHLSL/builtins/log10.hlsl
    M clang/test/CodeGenHLSL/builtins/log2.hlsl
    M clang/test/CodeGenHLSL/builtins/max.hlsl
    M clang/test/CodeGenHLSL/builtins/min.hlsl
    M clang/test/CodeGenHLSL/builtins/pow.hlsl
    M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
    M clang/test/CodeGenHLSL/builtins/sin.hlsl
    M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
    M clang/test/CodeGenHLSL/builtins/trunc.hlsl
    M clang/test/CodeGenOpenCL/atomic-ops-libcall.cl
    A clang/test/CodeGenOpenCL/reflect.cl
    M clang/test/Driver/aarch64-cssc.c
    M clang/test/Driver/aarch64-fix-cortex-a53-835769.c
    M clang/test/Driver/aarch64-mgeneral_regs_only.c
    M clang/test/Driver/aarch64-pauth-lr.c
    A clang/test/Driver/aarch64-soft-float-abi.c
    M clang/test/Driver/aarch64-target-as-march.s
    M clang/test/Driver/amdgpu-macros.cl
    M clang/test/Driver/amdgpu-mcpu.cl
    M clang/test/Driver/arm-alignment.c
    M clang/test/Driver/arm-no-neg-immediates.c
    M clang/test/Driver/autocomplete.c
    M clang/test/Driver/hlsl-lang-targets.hlsl
    A clang/test/Driver/installapi.h
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/riscv-features.c
    A clang/test/Driver/sparc-fixed-register.c
    M clang/test/Driver/tls-dialect.c
    M clang/test/Driver/unknown-arg.c
    A clang/test/Driver/xros-driver-requires-darwin-host.c
    M clang/test/FixIt/fixit-c++11.cpp
    M clang/test/Frontend/embed-bitcode.ll
    M clang/test/Frontend/gnu-mcount.c
    M clang/test/Headers/__clang_hip_math.hip
    M clang/test/Headers/arm-acle-header.c
    M clang/test/Headers/xmmintrin-unsupported.c
    A clang/test/InstallAPI/installapi-basic.test
    M clang/test/Lexer/gnu-flags.c
    A clang/test/Lexer/raw-string-dlim-invalid.cpp
    M clang/test/Misc/target-invalid-cpu-note.c
    M clang/test/Parser/c2x-alignas.c
    M clang/test/Parser/cxx-decl.cpp
    M clang/test/Parser/cxx0x-decl.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.c
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/test/ParserOpenACC/parse-clauses.cpp
    M clang/test/ParserOpenACC/parse-constructs.c
    M clang/test/ParserOpenACC/parse-constructs.cpp
    M clang/test/ParserOpenACC/parse-wait-clause.c
    M clang/test/ParserOpenACC/parse-wait-construct.c
    M clang/test/ParserOpenACC/unimplemented.c
    M clang/test/ParserOpenACC/unimplemented.cpp
    M clang/test/Preprocessor/aarch64-target-features.c
    M clang/test/Preprocessor/arm-target-features.c
    A clang/test/Preprocessor/fixed-point.c
    A clang/test/Preprocessor/no-fixed-point.c
    M clang/test/Sema/aarch64-sme-func-attrs.c
    A clang/test/Sema/aarch64-soft-float-abi.c
    M clang/test/Sema/aarch64-tme-errors.c
    M clang/test/Sema/aarch64-tme-tcancel-errors.c
    M clang/test/Sema/ms_predefined_expr.cpp
    M clang/test/Sema/warn-char-subscripts.c
    M clang/test/SemaCXX/PR40395.cpp
    A clang/test/SemaCXX/_Alignas.cpp
    M clang/test/SemaCXX/attr-suppress.cpp
    A clang/test/SemaCXX/attr-target-mv-warn-unused.cpp
    M clang/test/SemaCXX/builtins-overflow.cpp
    M clang/test/SemaCXX/compound-literal.cpp
    M clang/test/SemaCXX/concept-crash-on-diagnostic.cpp
    M clang/test/SemaCXX/conditional-expr.cpp
    A clang/test/SemaCXX/crash-GH10518.cpp
    A clang/test/SemaCXX/crash-GH49103-2.cpp
    A clang/test/SemaCXX/crash-GH67914.cpp
    A clang/test/SemaCXX/crash-GH78388.cpp
    M clang/test/SemaCXX/cxx98-compat.cpp
    M clang/test/SemaCXX/enum-scoped.cpp
    M clang/test/SemaCXX/expression-traits.cpp
    M clang/test/SemaCXX/ms-uuid.cpp
    M clang/test/SemaCXX/self-comparison.cpp
    M clang/test/SemaCXX/warn-overaligned-type-thrown.cpp
    M clang/test/SemaCXX/warn-shadow-in-lambdas.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-debug.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-assign-to-ptr.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-local-var-array.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp
    A clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-arg-to-func-ptr-call.cpp
    M clang/test/SemaCXX/warn-unsafe-buffer-usage.cpp
    A clang/test/SemaCXX/warn-unused-filescoped-fmv.cpp
    M clang/test/SemaHLSL/BuiltIns/vector-constructors-erros.hlsl
    A clang/test/SemaHLSL/OverloadResolutionBugs.hlsl
    M clang/test/SemaHLSL/Types/BuiltinVector/ScalarSwizzles.hlsl
    A clang/test/SemaHLSL/VectorOverloadResolution.hlsl
    A clang/test/SemaHLSL/standard_conversion_sequences.hlsl
    M clang/test/SemaObjC/attr-suppress.m
    A clang/test/SemaOpenACC/compute-construct-ast.cpp
    A clang/test/SemaOpenACC/parallel-assoc-stmt-inst.cpp
    A clang/test/SemaOpenACC/parallel-loc-and-stmt.c
    A clang/test/SemaOpenACC/parallel-loc-and-stmt.cpp
    A clang/test/SemaOpenACC/unimplemented-construct.c
    M clang/test/lit.cfg.py
    M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/driver/driver.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/tools/scan-build/bin/scan-build
    M clang/tools/scan-build/man/scan-build.1
    M clang/tools/scan-build/share/scan-build/sorttable.js
    M clang/unittests/AST/ASTExprTest.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Basic/SourceManagerTest.cpp
    M clang/unittests/Format/ConfigParseTest.cpp
    M clang/unittests/Format/DefinitionBlockSeparatorTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/FormatTestTableGen.cpp
    M clang/unittests/Format/QualifierFixerTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
    M clang/utils/TableGen/ClangBuiltinsEmitter.cpp
    M clang/utils/TableGen/ClangOptionDocEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/www/analyzer/alpha_checks.html
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/lib/asan/asan_interceptors.cpp
    M compiler-rt/lib/asan_abi/asan_abi_shim.cpp
    M compiler-rt/lib/hwasan/hwasan_report.cpp
    M compiler-rt/lib/profile/InstrProfilingFile.c
    M compiler-rt/lib/profile/InstrProfilingPlatformAIX.c
    M compiler-rt/lib/ubsan/ubsan_signals_standalone.cpp
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/hwasan/TestCases/stack-uas.c
    A compiler-rt/test/profile/AIX/bexpfull-pgo.c
    M compiler-rt/test/profile/instrprof-block-coverage.c
    M compiler-rt/test/profile/instrprof-entry-coverage.c
    M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp
    M flang/docs/FlangOptionsDocs.td
    M flang/docs/FortranLLVMTestSuite.md
    M flang/docs/GettingInvolved.md
    M flang/docs/index.md
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Lower/ConvertVariable.h
    M flang/include/flang/Lower/OpenMP.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Dialect/FIRAttr.td
    M flang/include/flang/Optimizer/Dialect/FIRDialect.h
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIROpsSupport.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Optimizer/Support/InitFIR.h
    M flang/include/flang/Optimizer/Support/Utils.h
    A flang/include/flang/Optimizer/Transforms/Utils.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Frontend/CompilerInvocation.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIRDialect.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Semantics/canonicalize-omp.cpp
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/runtime-type-info.cpp
    M flang/module/iso_c_binding.f90
    M flang/runtime/assign.cpp
    M flang/runtime/copy.cpp
    M flang/runtime/derived.cpp
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    A flang/test/Driver/masm.f90
    A flang/test/Driver/predefined-macros-powerpc.f90
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/fir-ops.fir
    M flang/test/Fir/ignore-missing-type-descriptor.fir
    M flang/test/Fir/polymorphic.fir
    M flang/test/Fir/tbaa.fir
    M flang/test/Fir/type-descriptor.fir
    M flang/test/HLFIR/maxloc-elemental.fir
    M flang/test/HLFIR/minloc-elemental.fir
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    A flang/test/Lower/CUDA/cuda-proc-attribute.cuf
    A flang/test/Lower/HLFIR/issue80884.f90
    M flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-add.f90
    A flang/test/Lower/OpenMP/parallel-reduction.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/allocatable-polymorphic.f90
    M flang/test/Semantics/OpenMP/loop-association.f90
    A flang/test/Semantics/typeinfo09.f90
    A flang/test/Semantics/typeinfo10.f90
    M flang/unittests/Optimizer/FortranVariableTest.cpp
    M libc/cmake/modules/CheckCompilerFeatures.cmake
    A libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
    M libc/cmake/modules/LLVMLibCObjectRules.cmake
    M libc/cmake/modules/LLVMLibCRules.cmake
    M libc/cmake/modules/LLVMLibCTestRules.cmake
    A libc/cmake/modules/compiler_features/check_fixed_point.cpp
    M libc/config/linux/aarch64/entrypoints.txt
    M libc/config/linux/api.td
    M libc/config/linux/riscv/entrypoints.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    A libc/docs/c23.rst
    M libc/docs/index.rst
    M libc/docs/math/index.rst
    A libc/docs/math/stdfix.rst
    M libc/docs/stdbit.rst
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-macros/CMakeLists.txt
    M libc/include/llvm-libc-macros/stdbit-macros.h
    A libc/include/llvm-libc-macros/stdfix-macros.h
    M libc/include/math.h.def
    A libc/include/stdfix.h.def
    M libc/spec/spec.td
    M libc/spec/stdc.td
    A libc/spec/stdc_ext.td
    M libc/src/CMakeLists.txt
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/CMakeLists.txt
    M libc/src/__support/CPP/array.h
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/CPP/type_traits.h
    A libc/src/__support/CPP/type_traits/is_fixed_point.h
    M libc/src/__support/FPUtil/BasicOperations.h
    M libc/src/__support/FPUtil/CMakeLists.txt
    M libc/src/__support/FPUtil/FPBits.h
    M libc/src/__support/FPUtil/ManipulationFunctions.h
    M libc/src/__support/FPUtil/dyadic_float.h
    M libc/src/__support/GPU/amdgpu/utils.h
    M libc/src/__support/GPU/generic/utils.h
    M libc/src/__support/GPU/nvptx/utils.h
    M libc/src/__support/RPC/rpc.h
    M libc/src/__support/RPC/rpc_util.h
    M libc/src/__support/UInt.h
    A libc/src/__support/fixed_point/CMakeLists.txt
    A libc/src/__support/fixed_point/fx_bits.h
    A libc/src/__support/fixed_point/fx_rep.h
    M libc/src/__support/float_to_string.h
    A libc/src/__support/integer_literals.h
    M libc/src/__support/integer_utils.h
    M libc/src/__support/math_extras.h
    M libc/src/__support/number_pair.h
    M libc/src/math/CMakeLists.txt
    A libc/src/math/fdimf128.h
    A libc/src/math/frexpf128.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/acoshf.cpp
    M libc/src/math/generic/asinhf.cpp
    M libc/src/math/generic/exp.cpp
    M libc/src/math/generic/exp10.cpp
    M libc/src/math/generic/exp2.cpp
    M libc/src/math/generic/expm1.cpp
    A libc/src/math/generic/fdimf128.cpp
    A libc/src/math/generic/frexpf128.cpp
    A libc/src/math/generic/ldexpf128.cpp
    M libc/src/math/generic/log.cpp
    M libc/src/math/generic/log10.cpp
    M libc/src/math/generic/log1p.cpp
    M libc/src/math/generic/log2.cpp
    A libc/src/math/ldexpf128.h
    M libc/src/stdbit/CMakeLists.txt
    A libc/src/stdbit/stdc_first_leading_one_uc.cpp
    A libc/src/stdbit/stdc_first_leading_one_uc.h
    A libc/src/stdbit/stdc_first_leading_one_ui.cpp
    A libc/src/stdbit/stdc_first_leading_one_ui.h
    A libc/src/stdbit/stdc_first_leading_one_ul.cpp
    A libc/src/stdbit/stdc_first_leading_one_ul.h
    A libc/src/stdbit/stdc_first_leading_one_ull.cpp
    A libc/src/stdbit/stdc_first_leading_one_ull.h
    A libc/src/stdbit/stdc_first_leading_one_us.cpp
    A libc/src/stdbit/stdc_first_leading_one_us.h
    A libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    A libc/src/stdbit/stdc_first_leading_zero_uc.h
    A libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    A libc/src/stdbit/stdc_first_leading_zero_ui.h
    A libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    A libc/src/stdbit/stdc_first_leading_zero_ul.h
    A libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    A libc/src/stdbit/stdc_first_leading_zero_ull.h
    A libc/src/stdbit/stdc_first_leading_zero_us.cpp
    A libc/src/stdbit/stdc_first_leading_zero_us.h
    A libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    A libc/src/stdbit/stdc_first_trailing_one_uc.h
    A libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ui.h
    A libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ul.h
    A libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    A libc/src/stdbit/stdc_first_trailing_one_ull.h
    A libc/src/stdbit/stdc_first_trailing_one_us.cpp
    A libc/src/stdbit/stdc_first_trailing_one_us.h
    A libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_uc.h
    A libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ui.h
    A libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ul.h
    A libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_ull.h
    A libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    A libc/src/stdbit/stdc_first_trailing_zero_us.h
    A libc/src/stdfix/CMakeLists.txt
    A libc/src/stdfix/abshk.cpp
    A libc/src/stdfix/abshk.h
    A libc/src/stdfix/abshr.cpp
    A libc/src/stdfix/abshr.h
    A libc/src/stdfix/absk.cpp
    A libc/src/stdfix/absk.h
    A libc/src/stdfix/abslk.cpp
    A libc/src/stdfix/abslk.h
    A libc/src/stdfix/abslr.cpp
    A libc/src/stdfix/abslr.h
    A libc/src/stdfix/absr.cpp
    A libc/src/stdfix/absr.h
    A libc/src/stdfix/roundhk.cpp
    A libc/src/stdfix/roundhk.h
    A libc/src/stdfix/roundhr.cpp
    A libc/src/stdfix/roundhr.h
    A libc/src/stdfix/roundk.cpp
    A libc/src/stdfix/roundk.h
    A libc/src/stdfix/roundlk.cpp
    A libc/src/stdfix/roundlk.h
    A libc/src/stdfix/roundlr.cpp
    A libc/src/stdfix/roundlr.h
    A libc/src/stdfix/roundr.cpp
    A libc/src/stdfix/roundr.h
    A libc/src/stdfix/rounduhk.cpp
    A libc/src/stdfix/rounduhk.h
    A libc/src/stdfix/rounduhr.cpp
    A libc/src/stdfix/rounduhr.h
    A libc/src/stdfix/rounduk.cpp
    A libc/src/stdfix/rounduk.h
    A libc/src/stdfix/roundulk.cpp
    A libc/src/stdfix/roundulk.h
    A libc/src/stdfix/roundulr.cpp
    A libc/src/stdfix/roundulr.h
    A libc/src/stdfix/roundur.cpp
    A libc/src/stdfix/roundur.h
    M libc/src/time/gpu/nanosleep.cpp
    M libc/src/time/gpu/time_utils.h
    M libc/test/UnitTest/CMakeLists.txt
    M libc/test/UnitTest/LibcTest.cpp
    M libc/test/UnitTest/LibcTest.h
    M libc/test/include/stdbit_test.cpp
    M libc/test/src/CMakeLists.txt
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/FPUtil/CMakeLists.txt
    M libc/test/src/__support/FPUtil/dyadic_float_test.cpp
    M libc/test/src/__support/FPUtil/fpbits_test.cpp
    M libc/test/src/__support/RPC/rpc_smoke_test.cpp
    A libc/test/src/__support/integer_literals_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/str_to_long_double_test.cpp
    M libc/test/src/__support/uint_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FrexpTest.h
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/fdim_test.cpp
    A libc/test/src/math/smoke/fdimf128_test.cpp
    M libc/test/src/math/smoke/fdimf_test.cpp
    M libc/test/src/math/smoke/fdiml_test.cpp
    M libc/test/src/math/smoke/frexp_test.cpp
    A libc/test/src/math/smoke/frexpf128_test.cpp
    M libc/test/src/math/smoke/frexpf_test.cpp
    M libc/test/src/math/smoke/frexpl_test.cpp
    M libc/test/src/math/smoke/ldexp_test.cpp
    A libc/test/src/math/smoke/ldexpf128_test.cpp
    M libc/test/src/math/smoke/ldexpf_test.cpp
    M libc/test/src/math/smoke/ldexpl_test.cpp
    M libc/test/src/stdbit/CMakeLists.txt
    A libc/test/src/stdbit/stdc_first_leading_one_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_one_us_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_zero_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_zero_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_zero_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_zero_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_leading_zero_us_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_one_us_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_uc_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ui_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ul_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_ull_test.cpp
    A libc/test/src/stdbit/stdc_first_trailing_zero_us_test.cpp
    A libc/test/src/stdfix/AbsTest.h
    A libc/test/src/stdfix/CMakeLists.txt
    A libc/test/src/stdfix/RoundTest.h
    A libc/test/src/stdfix/abshk_test.cpp
    A libc/test/src/stdfix/abshr_test.cpp
    A libc/test/src/stdfix/absk_test.cpp
    A libc/test/src/stdfix/abslk_test.cpp
    A libc/test/src/stdfix/abslr_test.cpp
    A libc/test/src/stdfix/absr_test.cpp
    A libc/test/src/stdfix/roundhk_test.cpp
    A libc/test/src/stdfix/roundhr_test.cpp
    A libc/test/src/stdfix/roundk_test.cpp
    A libc/test/src/stdfix/roundlk_test.cpp
    A libc/test/src/stdfix/roundlr_test.cpp
    A libc/test/src/stdfix/roundr_test.cpp
    A libc/test/src/stdfix/rounduhk_test.cpp
    A libc/test/src/stdfix/rounduhr_test.cpp
    A libc/test/src/stdfix/rounduk_test.cpp
    A libc/test/src/stdfix/roundulk_test.cpp
    A libc/test/src/stdfix/roundulr_test.cpp
    A libc/test/src/stdfix/roundur_test.cpp
    M libc/test/src/sys/socket/linux/bind_test.cpp
    M libc/utils/HdrGen/PublicAPICommand.cpp
    M libc/utils/HdrGen/PublicAPICommand.h
    M libc/utils/gpu/server/rpc_server.cpp
    M libcxx/docs/FeatureTestMacroTable.rst
    M libcxx/docs/Modules.rst
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/RangesAlgorithms.csv
    M libcxx/include/CMakeLists.txt
    A libcxx/include/__algorithm/ranges_contains_subrange.h
    M libcxx/include/__chrono/duration.h
    M libcxx/include/__format/parser_std_format_spec.h
    M libcxx/include/__fwd/array.h
    R libcxx/include/__fwd/get.h
    M libcxx/include/__fwd/pair.h
    M libcxx/include/__fwd/subrange.h
    M libcxx/include/__fwd/tuple.h
    M libcxx/include/__locale_dir/locale_base_api/ibm.h
    M libcxx/include/__memory/compressed_pair.h
    M libcxx/include/__random/linear_congruential_engine.h
    M libcxx/include/__ranges/elements_view.h
    M libcxx/include/__ranges/subrange.h
    M libcxx/include/__tuple/tuple_like.h
    M libcxx/include/__utility/pair.h
    M libcxx/include/algorithm
    M libcxx/include/chrono
    M libcxx/include/istream
    M libcxx/include/libcxx.imp
    M libcxx/include/module.modulemap.in
    M libcxx/include/print
    M libcxx/include/ratio
    M libcxx/include/sstream
    M libcxx/include/streambuf
    M libcxx/include/tuple
    M libcxx/lib/abi/CHANGELOG.TXT
    M libcxx/lib/abi/arm64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/i686-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/powerpc64-ibm-aix.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-apple-darwin.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-linux-android21.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-freebsd.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.exceptions.nonew.abilist
    M libcxx/lib/abi/x86_64-unknown-linux-gnu.libcxxabi.v1.stable.noexceptions.nonew.abilist
    M libcxx/modules/CMakeLists.txt
    A libcxx/modules/CMakeLists.txt.in
    M libcxx/modules/std.compat.cppm.in
    M libcxx/modules/std.cppm.in
    M libcxx/modules/std/algorithm.inc
    M libcxx/modules/std/ostream.inc
    M libcxx/src/print.cpp
    M libcxx/test/configs/apple-libc++-backdeployment.cfg.in
    M libcxx/test/configs/apple-libc++-shared.cfg.in
    M libcxx/test/configs/armv7m-picolibc-libc++.cfg.in
    M libcxx/test/configs/cmake-bridge.cfg.in
    M libcxx/test/configs/ibm-libc++-shared.cfg.in
    M libcxx/test/configs/llvm-libc++-android-ndk.cfg.in
    M libcxx/test/configs/llvm-libc++-mingw.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-gcc.cfg.in
    M libcxx/test/configs/llvm-libc++-shared-no-vcruntime-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-shared.cfg.in
    M libcxx/test/configs/llvm-libc++-static-clangcl.cfg.in
    M libcxx/test/configs/llvm-libc++-static.cfg.in
    M libcxx/test/libcxx/algorithms/ranges_robust_against_copying_projections.pass.cpp
    M libcxx/test/libcxx/assertions/headers_declare_verbose_abort.gen.py
    M libcxx/test/libcxx/clang_modules_include.gen.py
    M libcxx/test/libcxx/clang_tidy.gen.py
    M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
    M libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
    M libcxx/test/libcxx/double_include.gen.py
    M libcxx/test/libcxx/header_inclusions.gen.py
    M libcxx/test/libcxx/headers_in_modulemap.sh.py
    M libcxx/test/libcxx/libcpp_version.gen.py
    M libcxx/test/libcxx/module_std.gen.py
    M libcxx/test/libcxx/module_std_compat.gen.py
    M libcxx/test/libcxx/no_assert_include.gen.py
    M libcxx/test/libcxx/system_reserved_names.gen.py
    M libcxx/test/libcxx/transitive_includes.gen.py
    M libcxx/test/libcxx/transitive_includes/cxx03.csv
    M libcxx/test/libcxx/transitive_includes/cxx11.csv
    M libcxx/test/libcxx/transitive_includes/cxx14.csv
    M libcxx/test/libcxx/transitive_includes/cxx17.csv
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/transitive_includes/cxx23.csv
    M libcxx/test/libcxx/transitive_includes/cxx26.csv
    M libcxx/test/libcxx/utilities/expected/expected.void/transform_error.mandates.verify.cpp
    M libcxx/test/libcxx/vendor/apple/system-install-properties.sh.cpp
    M libcxx/test/libcxx/vendor/clang-cl/static-lib-exports.sh.cpp
    M libcxx/test/libcxx/vendor/mingw/static-lib-exports.sh.cpp
    A libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains_subrange.pass.cpp
    M libcxx/test/std/containers/container.adaptors/container.adaptors.format/format.functions.tests.h
    M libcxx/test/std/containers/sequences/vector.bool/vector.bool.fmt/format.functions.tests.h
    M libcxx/test/std/input.output/iostream.format/output.streams/ostream.formatted/ostream.inserters.arithmetic/pointer.volatile.pass.cpp
    A libcxx/test/std/input.output/string.streams/istringstream/types.compile.pass.cpp
    R libcxx/test/std/input.output/string.streams/istringstream/types.pass.cpp
    A libcxx/test/std/input.output/string.streams/ostringstream/types.compile.pass.cpp
    R libcxx/test/std/input.output/string.streams/ostringstream/types.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringbuf/types.compile.pass.cpp
    R libcxx/test/std/input.output/string.streams/stringbuf/types.pass.cpp
    A libcxx/test/std/input.output/string.streams/stringstream/types.compile.pass.cpp
    R libcxx/test/std/input.output/string.streams/stringstream/types.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align_nothrow.except.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align_nothrow.except.pass.cpp
    M libcxx/test/std/library/description/conventions/customization.point.object/niebloid.compile.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/alg.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/assign.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/copy.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/default.pass.cpp
    M libcxx/test/std/numerics/rand/rand.eng/rand.eng.lcong/values.pass.cpp
    M libcxx/test/std/thread/thread.threads/thread.thread.class/thread.thread.id/format.functions.tests.h
    M libcxx/test/std/time/rep.h
    M libcxx/test/std/time/time.duration/time.duration.nonmember/op_divide_duration.pass.cpp
    M libcxx/test/std/time/time.duration/time.duration.nonmember/op_mod_duration.pass.cpp
    M libcxx/test/std/time/time.duration/time.duration.nonmember/op_times_rep.pass.cpp
    M libcxx/test/std/utilities/charconv/charconv.syn/from_chars_result.operator_bool.pass.cpp
    M libcxx/test/std/utilities/charconv/charconv.syn/to_chars_result.operator_bool.pass.cpp
    M libcxx/test/std/utilities/format/format.range/format.range.fmtmap/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtset/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.fmtstr/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.range/format.range.formatter/format.functions.tests.h
    M libcxx/test/std/utilities/format/format.tuple/format.functions.tests.h
    A libcxx/test/std/utilities/ratio/ratio.arithmetic/R1_R2_requirement.verify.cpp
    A libcxx/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement.verify.cpp
    A libcxx/test/std/utilities/ratio/ratio.comparison/R1_R2_requirement_v.verify.cpp
    M libcxx/test/tools/clang_tidy_checks/header_exportable_declarations.cpp
    M libcxx/utils/generate_feature_test_macro_components.py
    M libcxx/utils/generate_libcxx_cppm_in.py
    M libcxx/utils/libcxx/test/features.py
    M libcxx/utils/libcxx/test/format.py
    M lld/COFF/Driver.cpp
    M lld/ELF/Arch/LoongArch.cpp
    A lld/ELF/Arch/SystemZ.cpp
    M lld/ELF/CMakeLists.txt
    M lld/ELF/Driver.cpp
    M lld/ELF/InputFiles.cpp
    M lld/ELF/InputSection.cpp
    M lld/ELF/Relocations.cpp
    M lld/ELF/Relocations.h
    M lld/ELF/ScriptParser.cpp
    M lld/ELF/SyntheticSections.cpp
    M lld/ELF/Target.cpp
    M lld/ELF/Target.h
    M lld/ELF/Thunks.cpp
    M lld/ELF/Writer.cpp
    M lld/MachO/Driver.cpp
    M lld/MachO/SyntheticSections.cpp
    M lld/MinGW/Driver.cpp
    M lld/MinGW/Options.td
    M lld/test/COFF/lto-cache-errors.ll
    M lld/test/COFF/thinlto-emit-imports.ll
    M lld/test/COFF/timestamp.test
    A lld/test/ELF/Inputs/systemz-init.s
    M lld/test/ELF/arm-thumb-thunk-v6m-xo.s
    A lld/test/ELF/basic-systemz.s
    A lld/test/ELF/emulation-systemz.s
    M lld/test/ELF/lto/resolution-err.ll
    A lld/test/ELF/lto/systemz.ll
    M lld/test/ELF/lto/thinlto-cant-write-index.ll
    M lld/test/ELF/lto/thinlto-emit-imports.ll
    M lld/test/ELF/riscv-section-layout.s
    M lld/test/ELF/segments.s
    A lld/test/ELF/systemz-got.s
    A lld/test/ELF/systemz-gotent-relax-align.s
    A lld/test/ELF/systemz-gotent-relax-und-dso.s
    A lld/test/ELF/systemz-gotent-relax.s
    A lld/test/ELF/systemz-ifunc-nonpreemptible.s
    A lld/test/ELF/systemz-init-padding.s
    A lld/test/ELF/systemz-pie.s
    A lld/test/ELF/systemz-plt.s
    A lld/test/ELF/systemz-reloc-abs.s
    A lld/test/ELF/systemz-reloc-disp12.s
    A lld/test/ELF/systemz-reloc-disp20.s
    A lld/test/ELF/systemz-reloc-got.s
    A lld/test/ELF/systemz-reloc-gotrel.s
    A lld/test/ELF/systemz-reloc-pc16.s
    A lld/test/ELF/systemz-reloc-pc32.s
    A lld/test/ELF/systemz-reloc-pcdbl.s
    A lld/test/ELF/systemz-tls-gd.s
    A lld/test/ELF/systemz-tls-ie.s
    A lld/test/ELF/systemz-tls-ld.s
    A lld/test/ELF/systemz-tls-le.s
    A lld/test/ELF/unsupported-emachine.test
    M lld/test/ELF/x86-64-section-layout.s
    M lld/test/MachO/arm64-32-stubs.s
    M lld/test/MachO/arm64-stubs.s
    M lld/test/MachO/data-in-code.s
    M lld/test/MachO/dyld-stub-binder.s
    M lld/test/MachO/icf-safe.ll
    M lld/test/MachO/invalid/chained-fixups-incompatible.s
    M lld/test/MachO/invalid/invalid-lto-object-path.ll
    M lld/test/MachO/objc-selrefs.s
    M lld/test/MachO/thinlto-emit-imports.ll
    M lld/test/MinGW/driver.test
    M lld/test/lit.cfg.py
    M lldb/bindings/python/CMakeLists.txt
    M lldb/bindings/python/python-wrapper.swig
    M lldb/docs/resources/build.rst
    M lldb/examples/python/cmdtemplate.py
    A lldb/examples/python/templates/parsed_cmd.py
    M lldb/include/lldb/Core/ModuleList.h
    M lldb/include/lldb/Core/Progress.h
    M lldb/include/lldb/DataFormatters/ValueObjectPrinter.h
    M lldb/include/lldb/Interpreter/CommandObject.h
    M lldb/include/lldb/Interpreter/ScriptInterpreter.h
    M lldb/include/lldb/Target/StopInfo.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/lldb-enumerations.h
    M lldb/packages/Python/lldbsuite/test/concurrent_base.py
    M lldb/packages/Python/lldbsuite/test/configuration.py
    M lldb/packages/Python/lldbsuite/test/decorators.py
    M lldb/packages/Python/lldbsuite/test/dotest.py
    M lldb/packages/Python/lldbsuite/test/lldbtest.py
    M lldb/packages/Python/lldbsuite/test/test_result.py
    M lldb/source/Commands/CommandObjectCommands.cpp
    M lldb/source/Commands/CommandObjectFrame.cpp
    M lldb/source/Commands/CommandObjectProcess.cpp
    M lldb/source/Commands/Options.td
    M lldb/source/Core/CoreProperties.td
    M lldb/source/Core/ModuleList.cpp
    M lldb/source/Core/Progress.cpp
    M lldb/source/Core/ValueObject.cpp
    M lldb/source/DataFormatters/TypeSummary.cpp
    M lldb/source/DataFormatters/ValueObjectPrinter.cpp
    M lldb/source/Expression/DWARFExpression.cpp
    M lldb/source/Interpreter/CommandObject.cpp
    M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
    M lldb/source/Plugins/Language/CPlusPlus/CPlusPlusLanguage.cpp
    M lldb/source/Plugins/Language/CPlusPlus/LibCxx.h
    A lldb/source/Plugins/Language/CPlusPlus/LibCxxValarray.cpp
    M lldb/source/Plugins/Platform/MacOSX/PlatformRemoteAppleXR.h
    M lldb/source/Plugins/Process/FreeBSD/NativeProcessFreeBSD.cpp
    M lldb/source/Plugins/Process/FreeBSDKernel/ProcessFreeBSDKernel.cpp
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.cpp
    M lldb/source/Plugins/Process/Utility/StopInfoMachException.h
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.h
    M lldb/source/Plugins/ScriptInterpreter/Python/SWIGPythonBridge.h
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPython.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/ScriptInterpreterPythonImpl.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFDeclContext.h
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DebugNamesDWARFIndex.h
    M lldb/source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Symbol/SymbolLocator.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/test/API/api/check_public_api_headers/TestPublicAPIHeaders.py
    M lldb/test/API/api/command-return-object/TestSBCommandReturnObject.py
    M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
    M lldb/test/API/api/multiple-targets/TestMultipleTargets.py
    M lldb/test/API/api/multithreaded/TestMultithreaded.py
    A lldb/test/API/commands/command/script/add/TestAddParsedCommand.py
    A lldb/test/API/commands/command/script/add/test_commands.py
    M lldb/test/API/commands/expression/nested/TestNestedExpressions.py
    M lldb/test/API/commands/expression/test/TestExprs.py
    M lldb/test/API/commands/platform/sdk/TestPlatformSDK.py
    M lldb/test/API/commands/process/attach/TestProcessAttach.py
    M lldb/test/API/commands/watchpoints/step_over_watchpoint/TestStepOverWatchpoint.py
    M lldb/test/API/functionalities/breakpoint/hardware_breakpoints/require_hw_breakpoints/TestRequireHWBreakpoints.py
    M lldb/test/API/functionalities/breakpoint/thread_plan_user_breakpoint/TestThreadPlanUserBreakpoint.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-advanced/TestDataFormatterAdv.py
    M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/chrono/TestDataFormatterLibcxxChrono.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/Makefile
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/TestDataFormatterLibcxxValarray.py
    A lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/valarray/main.cpp
    M lldb/test/API/functionalities/executable_first/TestExecutableFirst.py
    M lldb/test/API/functionalities/inline-sourcefile/TestInlineSourceFiles.py
    M lldb/test/API/functionalities/jitloader_gdb/TestJITLoaderGDB.py
    M lldb/test/API/functionalities/launch_stop_at_entry/TestStopAtEntry.py
    M lldb/test/API/functionalities/plugins/command_plugin/TestPluginCommands.py
    M lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py
    M lldb/test/API/functionalities/thread/state/TestThreadStates.py
    M lldb/test/API/functionalities/tty/TestTerminal.py
    M lldb/test/API/functionalities/type_find_first/TestFindFirstType.py
    M lldb/test/API/functionalities/vtable/TestVTableValue.py
    M lldb/test/API/lang/c/shared_lib/TestSharedLib.py
    M lldb/test/API/lang/c/shared_lib_stripped_symbols/TestSharedLibStrippedSymbols.py
    M lldb/test/API/lang/cpp/namespace/TestNamespaceLookup.py
    M lldb/test/API/lang/cpp/reference-to-outer-type/TestCppReferenceToOuterClass.py
    M lldb/test/API/lang/cpp/thread_local/TestThreadLocal.py
    M lldb/test/API/lang/cpp/union-static-data-members/TestCppUnionStaticMembers.py
    M lldb/test/API/lang/cpp/unique-types4/TestUniqueTypes4.py
    M lldb/test/API/lang/objc/charstar_dyntype/TestCharStarDynType.py
    M lldb/test/API/lang/objc/hidden-ivars/TestHiddenIvars.py
    M lldb/test/API/lldbtest.py
    M lldb/test/API/macosx/universal/TestUniversal.py
    M lldb/test/API/python_api/global_module_cache/TestGlobalModuleCache.py
    M lldb/test/API/python_api/process/cancel_attach/TestCancelAttach.py
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/type/main.cpp
    M lldb/test/API/python_api/value/TestValueAPI.py
    M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_logpoints.py
    M lldb/test/API/tools/lldb-dap/commands/TestDAP_commands.py
    M lldb/test/API/tools/lldb-server/libraries-svr4/TestGdbRemoteLibrariesSvr4Support.py
    M lldb/test/API/tools/lldb-server/test/test_lldbgdbserverutils.py
    A lldb/tools/lldb-dap/Breakpoint.cpp
    A lldb/tools/lldb-dap/Breakpoint.h
    M lldb/tools/lldb-dap/BreakpointBase.cpp
    M lldb/tools/lldb-dap/BreakpointBase.h
    M lldb/tools/lldb-dap/CMakeLists.txt
    M lldb/tools/lldb-dap/FunctionBreakpoint.cpp
    M lldb/tools/lldb-dap/FunctionBreakpoint.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/JSONUtils.h
    M lldb/tools/lldb-dap/SourceBreakpoint.cpp
    M lldb/tools/lldb-dap/SourceBreakpoint.h
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/ScriptInterpreter/Python/PythonTestSuite.cpp
    M lldb/unittests/SymbolFile/DWARF/CMakeLists.txt
    A lldb/unittests/SymbolFile/DWARF/DWARFDebugNamesIndexTest.cpp
    M llvm/CMakeLists.txt
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CMake.rst
    M llvm/docs/CodeReview.rst
    M llvm/docs/CodingStandards.rst
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/GitHub.rst
    M llvm/docs/NVPTXUsage.rst
    M llvm/docs/RISCVUsage.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/docs/_themes/llvm-theme/static/llvm-theme.css
    M llvm/include/llvm-c/Core.h
    M llvm/include/llvm/ADT/APFixedPoint.h
    M llvm/include/llvm/ADT/BitVector.h
    M llvm/include/llvm/Analysis/ConstantFolding.h
    M llvm/include/llvm/Analysis/InlineModelFeatureMaps.h
    M llvm/include/llvm/Analysis/TargetLibraryInfo.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Analysis/VecFuncs.def
    M llvm/include/llvm/BinaryFormat/COFF.h
    M llvm/include/llvm/BinaryFormat/ELF.h
    M llvm/include/llvm/BinaryFormat/Wasm.h
    M llvm/include/llvm/CodeGen/AccelTable.h
    M llvm/include/llvm/CodeGen/AsmPrinter.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizerInfo.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGenTypes/LowLevelType.h
    M llvm/include/llvm/DebugInfo/CodeView/CodeView.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFVerifier.h
    M llvm/include/llvm/DebugInfo/GSYM/DwarfTransformer.h
    M llvm/include/llvm/DebugInfo/GSYM/GsymCreator.h
    M llvm/include/llvm/DebugInfo/GSYM/ObjectFileTransformer.h
    A llvm/include/llvm/DebugInfo/GSYM/OutputAggregator.h
    M llvm/include/llvm/ExecutionEngine/Orc/EPCGenericDylibManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/ExecutorProcessControl.h
    M llvm/include/llvm/ExecutionEngine/Orc/SimpleRemoteEPC.h
    M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
    M llvm/include/llvm/IR/Instructions.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/IR/Metadata.h
    M llvm/include/llvm/MC/MCRegisterInfo.h
    M llvm/include/llvm/ObjCopy/CommonConfig.h
    M llvm/include/llvm/Object/COFF.h
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/include/llvm/Object/Wasm.h
    M llvm/include/llvm/ObjectYAML/DWARFEmitter.h
    M llvm/include/llvm/ObjectYAML/DWARFYAML.h
    M llvm/include/llvm/Passes/CodeGenPassBuilder.h
    M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
    A llvm/include/llvm/ProfileData/Coverage/MCDCTypes.h
    M llvm/include/llvm/ProfileData/InstrProf.h
    M llvm/include/llvm/Support/CommandLine.h
    A llvm/include/llvm/Support/ExponentialBackoff.h
    M llvm/include/llvm/Support/PGOOptions.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/GlobalISel/SelectionDAGCompat.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/ARMTargetParser.h
    M llvm/include/llvm/TargetParser/TargetParser.h
    M llvm/include/llvm/TargetParser/Triple.h
    A llvm/include/llvm/TextAPI/FileTypes.h
    M llvm/include/llvm/TextAPI/InterfaceFile.h
    M llvm/include/llvm/TextAPI/RecordsSlice.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    A llvm/include/llvm/Transforms/Instrumentation/PGOForceFunctionAttrs.h
    A llvm/include/llvm/Transforms/Scalar/JumpTableToSwitch.h
    R llvm/include/llvm/Transforms/Scalar/LoopReroll.h
    M llvm/include/llvm/Transforms/Utils/LoopUtils.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/ConstantFolding.cpp
    M llvm/lib/Analysis/DomConditionCache.cpp
    M llvm/lib/Analysis/IVDescriptors.cpp
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/TypeBasedAliasAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/CodeGen/AsmPrinter/AccelTable.cpp
    M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
    M llvm/lib/CodeGen/AsmPrinter/DebugHandlerBase.cpp
    M llvm/lib/CodeGen/BasicBlockSections.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/ExpandReductions.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/IntrinsicLowering.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeIntegerTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/StatepointLowering.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetLoweringBase.cpp
    M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/DWARFLinker/Parallel/DWARFLinkerImpl.h
    M llvm/lib/DebugInfo/CodeView/EnumTables.cpp
    M llvm/lib/DebugInfo/CodeView/TypeDumpVisitor.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFVerifier.cpp
    M llvm/lib/DebugInfo/GSYM/DwarfTransformer.cpp
    M llvm/lib/DebugInfo/GSYM/GsymCreator.cpp
    M llvm/lib/DebugInfo/GSYM/ObjectFileTransformer.cpp
    M llvm/lib/DebugInfo/PDB/PDBExtras.cpp
    M llvm/lib/ExecutionEngine/JITLink/ELF_riscv.cpp
    M llvm/lib/ExecutionEngine/JITLink/MachO_arm64.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.cpp
    M llvm/lib/ExecutionEngine/Orc/EPCGenericDylibManager.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/SimpleRemoteEPC.cpp
    M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/Core.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/lib/IR/Operator.cpp
    M llvm/lib/LTO/LTOBackend.cpp
    M llvm/lib/ObjCopy/ELF/ELFObjcopy.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.cpp
    M llvm/lib/ObjCopy/ELF/ELFObject.h
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Object/COFFModuleDefinition.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Object/OffloadBinary.cpp
    M llvm/lib/Object/WasmObjectFile.cpp
    M llvm/lib/ObjectYAML/CodeViewYAMLTypes.cpp
    M llvm/lib/ObjectYAML/DWARFEmitter.cpp
    M llvm/lib/ObjectYAML/DWARFYAML.cpp
    M llvm/lib/ObjectYAML/ELFYAML.cpp
    M llvm/lib/ObjectYAML/XCOFFEmitter.cpp
    M llvm/lib/Passes/PassBuilder.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Passes/PassRegistry.def
    M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingReader.cpp
    M llvm/lib/ProfileData/Coverage/CoverageMappingWriter.cpp
    M llvm/lib/ProfileData/InstrProf.cpp
    M llvm/lib/Support/APFixedPoint.cpp
    M llvm/lib/Support/CMakeLists.txt
    M llvm/lib/Support/DeltaAlgorithm.cpp
    A llvm/lib/Support/ExponentialBackoff.cpp
    M llvm/lib/Support/LockFileManager.cpp
    M llvm/lib/Support/PGOOptions.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/AArch64ExpandPseudoInsts.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MCInstLower.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SchedA53.td
    M llvm/lib/Target/AArch64/AArch64SchedA57.td
    M llvm/lib/Target/AArch64/AArch64SchedA64FX.td
    A llvm/lib/Target/AArch64/AArch64SchedAmpere1B.td
    M llvm/lib/Target/AArch64/AArch64SchedCyclone.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM3.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM4.td
    M llvm/lib/Target/AArch64/AArch64SchedExynosM5.td
    M llvm/lib/Target/AArch64/AArch64SchedFalkor.td
    M llvm/lib/Target/AArch64/AArch64SchedKryo.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseN2.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV1.td
    M llvm/lib/Target/AArch64/AArch64SchedNeoverseV2.td
    M llvm/lib/Target/AArch64/AArch64SchedTSV110.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX2T99.td
    M llvm/lib/Target/AArch64/AArch64SchedThunderX3T110.td
    M llvm/lib/Target/AArch64/AArch64StorePairSuppress.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64O0PreLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PreLegalizerCombiner.cpp
    M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.h
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPULowerKernelArguments.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUPreLegalizerCombiner.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURemoveIncompatibleFunctions.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/DSDIRInstructions.td
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/EXPInstructions.td
    M llvm/lib/Target/AMDGPU/GCNProcessors.td
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.h
    M llvm/lib/Target/AMDGPU/MIMGInstructions.td
    M llvm/lib/Target/AMDGPU/SIDefines.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertHardClauses.cpp
    M llvm/lib/Target/AMDGPU/SIInstrFormats.td
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMemoryLegalizer.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.td
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/SMInstructions.td
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3PInstructions.td
    M llvm/lib/Target/AMDGPU/VOPCInstructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMLegalizerInfo.cpp
    M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
    M llvm/lib/Target/ARM/ARMTargetObjectFile.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.cpp
    M llvm/lib/Target/Hexagon/HexagonFrameLowering.h
    M llvm/lib/Target/Hexagon/HexagonOptAddrMode.cpp
    M llvm/lib/Target/Hexagon/HexagonPatterns.td
    M llvm/lib/Target/Hexagon/HexagonRDFOpt.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/LoongArch/CMakeLists.txt
    M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
    M llvm/lib/Target/Mips/CMakeLists.txt
    M llvm/lib/Target/Mips/MipsInstructionSelector.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
    M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.h
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVVMReflect.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.h
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVFoldMasks.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.cpp
    M llvm/lib/Target/RISCV/RISCVFrameLowering.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoD.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoF.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoM.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZa.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZfh.td
    M llvm/lib/Target/RISCV/RISCVProcessors.td
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVRegisterInfo.h
    A llvm/lib/Target/RISCV/RISCVSchedXiangShanNanHu.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/Analysis/CMakeLists.txt
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVCallLowering.h
    M llvm/lib/Target/SPIRV/SPIRVDuplicatesTracker.cpp
    M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstrInfo.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/Sparc/Sparc.td
    M llvm/lib/Target/Sparc/SparcISelLowering.cpp
    M llvm/lib/Target/Sparc/SparcRegisterInfo.cpp
    M llvm/lib/Target/Sparc/SparcRegisterInfo.h
    M llvm/lib/Target/Sparc/SparcRegisterInfo.td
    M llvm/lib/Target/Sparc/SparcSubtarget.cpp
    M llvm/lib/Target/Sparc/SparcSubtarget.h
    M llvm/lib/Target/SystemZ/CMakeLists.txt
    M llvm/lib/Target/VE/CMakeLists.txt
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrSystem.td
    M llvm/lib/Target/X86/X86SchedIceLake.td
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/Xtensa/CMakeLists.txt
    A llvm/lib/Target/Xtensa/Xtensa.h
    A llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
    A llvm/lib/Target/Xtensa/XtensaAsmPrinter.h
    A llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    A llvm/lib/Target/Xtensa/XtensaFrameLowering.h
    A llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
    A llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    A llvm/lib/Target/Xtensa/XtensaISelLowering.h
    A llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    A llvm/lib/Target/Xtensa/XtensaInstrInfo.h
    A llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
    A llvm/lib/Target/Xtensa/XtensaRegisterInfo.h
    A llvm/lib/Target/Xtensa/XtensaSubtarget.cpp
    A llvm/lib/Target/Xtensa/XtensaSubtarget.h
    M llvm/lib/Target/Xtensa/XtensaTargetMachine.cpp
    M llvm/lib/Target/Xtensa/XtensaTargetMachine.h
    M llvm/lib/TargetParser/ARMTargetParser.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/lib/TargetParser/TargetParser.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/TextAPI/BinaryReader/DylibReader.cpp
    M llvm/lib/TextAPI/InterfaceFile.cpp
    M llvm/lib/TextAPI/RecordsSlice.cpp
    M llvm/lib/TextAPI/TextAPIContext.h
    M llvm/lib/TextAPI/TextStubCommon.h
    M llvm/lib/ToolDrivers/llvm-dlltool/DlltoolDriver.cpp
    M llvm/lib/ToolDrivers/llvm-dlltool/Options.td
    M llvm/lib/ToolDrivers/llvm-lib/LibDriver.cpp
    M llvm/lib/ToolDrivers/llvm-lib/Options.td
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
    M llvm/lib/Transforms/IPO/ThinLTOBitcodeWriter.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSimplifyDemanded.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/CMakeLists.txt
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    A llvm/lib/Transforms/Instrumentation/PGOForceFunctionAttrs.cpp
    M llvm/lib/Transforms/Scalar/CMakeLists.txt
    M llvm/lib/Transforms/Scalar/CorrelatedValuePropagation.cpp
    M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
    A llvm/lib/Transforms/Scalar/JumpTableToSwitch.cpp
    M llvm/lib/Transforms/Scalar/LICM.cpp
    R llvm/lib/Transforms/Scalar/LoopRerollPass.cpp
    M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SeparateConstOffsetFromGEP.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/LowerMemIntrinsics.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/SimplifyIndVar.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
    M llvm/test/Analysis/BasicAA/vscale.ll
    M llvm/test/Analysis/CostModel/AArch64/cast.ll
    M llvm/test/Analysis/CostModel/AArch64/fptoi_sat.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-fadd.ll
    M llvm/test/Analysis/CostModel/AArch64/reduce-minmax.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorextract.ll
    A llvm/test/Analysis/CostModel/RISCV/rvv-vectorinsert.ll
    M llvm/test/Analysis/CostModel/RISCV/shuffle-extract_subvector.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-codesize.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-latency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/shuffle-extract_subvector.ll
    M llvm/test/Analysis/LoopAccessAnalysis/number-of-memchecks.ll
    M llvm/test/Analysis/LoopAccessAnalysis/reverse-memcheck-bounds.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/arm64-atomic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-xtn.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/Redundantstore.ll
    M llvm/test/CodeGen/AArch64/aarch64-a57-fp-load-balancing.ll
    M llvm/test/CodeGen/AArch64/aarch64-addv.ll
    M llvm/test/CodeGen/AArch64/aarch64-gep-opt.ll
    M llvm/test/CodeGen/AArch64/aarch64-tbz.ll
    M llvm/test/CodeGen/AArch64/aarch64-unroll-and-jam.ll
    M llvm/test/CodeGen/AArch64/aarch64-vcvtfp2fxs-combine.ll
    M llvm/test/CodeGen/AArch64/arm64-build-vector.ll
    M llvm/test/CodeGen/AArch64/arm64-movi.ll
    M llvm/test/CodeGen/AArch64/arm64-popcnt.ll
    M llvm/test/CodeGen/AArch64/arm64-rev.ll
    M llvm/test/CodeGen/AArch64/arm64-stur.ll
    M llvm/test/CodeGen/AArch64/asm-large-immediate.ll
    A llvm/test/CodeGen/AArch64/basic-block-sections-cold.ll
    A llvm/test/CodeGen/AArch64/basic-block-sections-unsafe.ll
    M llvm/test/CodeGen/AArch64/bf16-shuffle.ll
    M llvm/test/CodeGen/AArch64/bf16.ll
    M llvm/test/CodeGen/AArch64/bitreverse.ll
    M llvm/test/CodeGen/AArch64/cmpwithshort.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i8-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat.ll
    M llvm/test/CodeGen/AArch64/cond-br-tuning.ll
    M llvm/test/CodeGen/AArch64/consthoist-gep.ll
    M llvm/test/CodeGen/AArch64/cpus.ll
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset-mix-loc.ll
    A llvm/test/CodeGen/AArch64/dbg-assign-tag-offset.ll
    M llvm/test/CodeGen/AArch64/extbinopload.ll
    M llvm/test/CodeGen/AArch64/extract-sext-zext.ll
    M llvm/test/CodeGen/AArch64/fabs-combine.ll
    M llvm/test/CodeGen/AArch64/fabs.ll
    M llvm/test/CodeGen/AArch64/faddsub.ll
    M llvm/test/CodeGen/AArch64/fcmp.ll
    M llvm/test/CodeGen/AArch64/fcopysign.ll
    M llvm/test/CodeGen/AArch64/fcvt.ll
    M llvm/test/CodeGen/AArch64/fcvt_combine.ll
    M llvm/test/CodeGen/AArch64/fdiv.ll
    M llvm/test/CodeGen/AArch64/fence-singlethread.ll
    M llvm/test/CodeGen/AArch64/fexplog.ll
    M llvm/test/CodeGen/AArch64/fminimummaximum.ll
    M llvm/test/CodeGen/AArch64/fminmax.ll
    M llvm/test/CodeGen/AArch64/fmla.ll
    M llvm/test/CodeGen/AArch64/fmul.ll
    M llvm/test/CodeGen/AArch64/fneg.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_lane.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_1op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_2op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_scalar_3op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_vector_1op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_vector_2op.ll
    M llvm/test/CodeGen/AArch64/fp16_intrinsic_vector_3op.ll
    M llvm/test/CodeGen/AArch64/fpext.ll
    M llvm/test/CodeGen/AArch64/fpow.ll
    M llvm/test/CodeGen/AArch64/fpowi.ll
    M llvm/test/CodeGen/AArch64/fptoi.ll
    M llvm/test/CodeGen/AArch64/fptrunc.ll
    M llvm/test/CodeGen/AArch64/frem.ll
    M llvm/test/CodeGen/AArch64/frintn.ll
    M llvm/test/CodeGen/AArch64/fsincos.ll
    M llvm/test/CodeGen/AArch64/fsqrt.ll
    M llvm/test/CodeGen/AArch64/hints.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    A llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/intrinsics-memory-barrier.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/ldp-stp-scaled-unscaled-pairs.ll
    M llvm/test/CodeGen/AArch64/legalize-bug-bogus-cpu.ll
    M llvm/test/CodeGen/AArch64/merge-scoped-aa-store.ll
    M llvm/test/CodeGen/AArch64/merge-store-dependency.ll
    M llvm/test/CodeGen/AArch64/merge-store.ll
    M llvm/test/CodeGen/AArch64/min-max-combine.ll
    M llvm/test/CodeGen/AArch64/min-max.ll
    M llvm/test/CodeGen/AArch64/misched-fusion-addadrp.ll
    M llvm/test/CodeGen/AArch64/misched-fusion-addr.ll
    M llvm/test/CodeGen/AArch64/misched-fusion-aes.ll
    M llvm/test/CodeGen/AArch64/mul_pow2.ll
    M llvm/test/CodeGen/AArch64/neon-bitwise-instructions.ll
    M llvm/test/CodeGen/AArch64/neon-dot-product.ll
    M llvm/test/CodeGen/AArch64/neon-extadd-extract.ll
    M llvm/test/CodeGen/AArch64/neon-mov.ll
    M llvm/test/CodeGen/AArch64/neon_rbit.ll
    M llvm/test/CodeGen/AArch64/no-quad-ldp-stp.ll
    M llvm/test/CodeGen/AArch64/nzcv-save.ll
    M llvm/test/CodeGen/AArch64/pacbti-module-attrs.ll
    M llvm/test/CodeGen/AArch64/postra-mi-sched.ll
    M llvm/test/CodeGen/AArch64/rbit.ll
    M llvm/test/CodeGen/AArch64/rcpc3-sve.ll
    M llvm/test/CodeGen/AArch64/rcpc3.ll
    M llvm/test/CodeGen/AArch64/rem_crash.ll
    M llvm/test/CodeGen/AArch64/remat.ll
    M llvm/test/CodeGen/AArch64/rotate.ll
    M llvm/test/CodeGen/AArch64/setcc_knownbits.ll
    M llvm/test/CodeGen/AArch64/sls-stackprotector-outliner.ll
    A llvm/test/CodeGen/AArch64/soft-float-abi.ll
    M llvm/test/CodeGen/AArch64/srem-seteq-vec-nonsplat.ll
    M llvm/test/CodeGen/AArch64/stack-probing-64k.ll
    M llvm/test/CodeGen/AArch64/stack-probing-dynamic.ll
    M llvm/test/CodeGen/AArch64/stack-probing-sve.ll
    M llvm/test/CodeGen/AArch64/stack-probing.ll
    A llvm/test/CodeGen/AArch64/storepairsuppress.ll
    M llvm/test/CodeGen/AArch64/storepairsuppress_minsize.ll
    M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll
    A llvm/test/CodeGen/AArch64/swifttail-funclet.ll
    M llvm/test/CodeGen/AArch64/tailmerging_in_mbp.ll
    M llvm/test/CodeGen/AArch64/tbz-tbnz.ll
    M llvm/test/CodeGen/AArch64/urem-seteq-vec-nonzero.ll
    M llvm/test/CodeGen/AArch64/urem-vector-lkk.ll
    M llvm/test/CodeGen/AArch64/v3f-to-int.ll
    M llvm/test/CodeGen/AArch64/v8.5a-neon-frint3264-intrinsic.ll
    M llvm/test/CodeGen/AArch64/v8.5a-scalar-frint3264-intrinsic.ll
    M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fadd.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul-strict.ll
    M llvm/test/CodeGen/AArch64/vecreduce-fmul.ll
    M llvm/test/CodeGen/AArch64/xar.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_udec_wrap.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/atomicrmw_uinc_wrap.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/bitcast_38_i16.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/call-outgoing-stack-args.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/crash-stack-address-O0.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch-init.gfx.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement-stack-lower.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-build-vector.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.workitem.id.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/memory-legalizer-atomic-fence.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu-cs-chain-preserve-cc.ll
    M llvm/test/CodeGen/AMDGPU/amdgpu.private-memory.ll
    M llvm/test/CodeGen/AMDGPU/array-ptr-calc-i32.ll
    M llvm/test/CodeGen/AMDGPU/atomic_optimizations_global_pointer.ll
    M llvm/test/CodeGen/AMDGPU/atomicrmw-expand.ll
    M llvm/test/CodeGen/AMDGPU/av_spill_cross_bb_usage.mir
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/branch-folding-implicit-def-subreg.ll
    M llvm/test/CodeGen/AMDGPU/call-argument-types.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs-packed.ll
    M llvm/test/CodeGen/AMDGPU/callee-special-input-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/captured-frame-index.ll
    M llvm/test/CodeGen/AMDGPU/cc-update.ll
    M llvm/test/CodeGen/AMDGPU/cf-loop-on-constant.ll
    M llvm/test/CodeGen/AMDGPU/cgp-addressing-modes.ll
    M llvm/test/CodeGen/AMDGPU/chain-hi-to-lo.ll
    M llvm/test/CodeGen/AMDGPU/collapse-endcf.ll
    M llvm/test/CodeGen/AMDGPU/commute-compares.ll
    M llvm/test/CodeGen/AMDGPU/control-flow-fastregalloc.ll
    M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
    M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
    M llvm/test/CodeGen/AMDGPU/extload-private.ll
    M llvm/test/CodeGen/AMDGPU/extract_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-init.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch-svs.ll
    M llvm/test/CodeGen/AMDGPU/flat-scratch.ll
    M llvm/test/CodeGen/AMDGPU/frame-index-elimination-tied-operand.mir
    M llvm/test/CodeGen/AMDGPU/frame-index-elimination.ll
    M llvm/test/CodeGen/AMDGPU/function-args.ll
    M llvm/test/CodeGen/AMDGPU/gds-allocation.ll
    M llvm/test/CodeGen/AMDGPU/gds-atomic.ll
    A llvm/test/CodeGen/AMDGPU/generic-targets-require-v6.ll
    M llvm/test/CodeGen/AMDGPU/global-atomics-fp.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics-min-max-system.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-atomics.ll
    M llvm/test/CodeGen/AMDGPU/global-saddr-load.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fsub.ll
    M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
    A llvm/test/CodeGen/AMDGPU/hsa-generic-target-features.ll
    M llvm/test/CodeGen/AMDGPU/huge-private-buffer.ll
    M llvm/test/CodeGen/AMDGPU/insert-waitcnts-crash.ll
    M llvm/test/CodeGen/AMDGPU/insert_vector_dynelt.ll
    M llvm/test/CodeGen/AMDGPU/kernarg-stack-alignment.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.gather4.d16.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.image.sample.dim.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.implicit.ptr.buffer.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.readfirstlane.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i16.ll
    M llvm/test/CodeGen/AMDGPU/load-global-i32.ll
    M llvm/test/CodeGen/AMDGPU/lower-mem-intrinsics.ll
    M llvm/test/CodeGen/AMDGPU/machine-sink-temporal-divergence-swdev407790.ll
    M llvm/test/CodeGen/AMDGPU/mad-mix.ll
    A llvm/test/CodeGen/AMDGPU/max-hard-clause-length.ll
    M llvm/test/CodeGen/AMDGPU/memcpy-crash-issue63986.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-fence.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-flat-system.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-agent.ll
    M llvm/test/CodeGen/AMDGPU/memory-legalizer-global-system.ll
    M llvm/test/CodeGen/AMDGPU/memory_clause.ll
    M llvm/test/CodeGen/AMDGPU/mubuf-offset-private.ll
    M llvm/test/CodeGen/AMDGPU/partial-regcopy-and-spill-missed-at-regalloc.ll
    M llvm/test/CodeGen/AMDGPU/partial-sgpr-to-vgpr-spills.ll
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain-preserve.mir
    M llvm/test/CodeGen/AMDGPU/pei-amdgpu-cs-chain.mir
    M llvm/test/CodeGen/AMDGPU/postra-machine-sink.mir
    M llvm/test/CodeGen/AMDGPU/preload-kernarg-header.ll
    M llvm/test/CodeGen/AMDGPU/preload-kernargs.ll
    A llvm/test/CodeGen/AMDGPU/readsteadycounter.ll
    M llvm/test/CodeGen/AMDGPU/regalloc-introduces-copy-sgpr-to-agpr.mir
    M llvm/test/CodeGen/AMDGPU/scratch-simple.ll
    M llvm/test/CodeGen/AMDGPU/select.f16.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill-no-vgprs.ll
    M llvm/test/CodeGen/AMDGPU/sgpr-spill.mir
    M llvm/test/CodeGen/AMDGPU/si-spill-sgpr-stack.ll
    M llvm/test/CodeGen/AMDGPU/spill-agpr.ll
    M llvm/test/CodeGen/AMDGPU/spill-m0.ll
    M llvm/test/CodeGen/AMDGPU/spill-offset-calculation.ll
    M llvm/test/CodeGen/AMDGPU/spill-scavenge-offset.ll
    M llvm/test/CodeGen/AMDGPU/spill-special-sgpr.mir
    M llvm/test/CodeGen/AMDGPU/splitkit-getsubrangeformask.ll
    M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
    M llvm/test/CodeGen/AMDGPU/stack-size-overflow.ll
    M llvm/test/CodeGen/AMDGPU/stacksave_stackrestore.ll
    A llvm/test/CodeGen/AMDGPU/uniform-select.ll
    M llvm/test/CodeGen/AMDGPU/unsupported-image-sample.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-mark-last-scratch-load.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-emergency-stack-slot.ll
    M llvm/test/CodeGen/AMDGPU/vgpr-spill-placement-issue61083.ll
    M llvm/test/CodeGen/AMDGPU/vni8-across-blocks.ll
    M llvm/test/CodeGen/AMDGPU/wqm.ll
    M llvm/test/CodeGen/AMDGPU/wwm-reserved.ll
    M llvm/test/CodeGen/ARM/GlobalISel/fpenv.ll
    M llvm/test/CodeGen/Generic/replace-intrinsics-with-veclib.ll
    M llvm/test/CodeGen/Hexagon/hvx-reuse-fi-base.ll
    A llvm/test/CodeGen/Hexagon/order-stack-object.ll
    M llvm/test/CodeGen/Hexagon/store-imm-stack-object.ll
    A llvm/test/CodeGen/Hexagon/vector-zext-v4i8.ll
    A llvm/test/CodeGen/LoongArch/register-coalescer-crash-pr79718.mir
    M llvm/test/CodeGen/MIR/AMDGPU/long-branch-reg-all-sgpr-used.ll
    M llvm/test/CodeGen/MIR/AMDGPU/machine-function-info-after-pei.ll
    M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/branch.mir
    M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/jump_table_and_brjt.mir
    M llvm/test/CodeGen/Mips/GlobalISel/instruction-select/phi.mir
    M llvm/test/CodeGen/Mips/hf1_body.ll
    M llvm/test/CodeGen/NVPTX/alias.ll
    M llvm/test/CodeGen/NVPTX/extractelement.ll
    M llvm/test/CodeGen/NVPTX/i8x4-instructions.ll
    M llvm/test/CodeGen/NVPTX/intrinsics.ll
    M llvm/test/CodeGen/NVPTX/nanosleep.ll
    A llvm/test/CodeGen/NVPTX/nvvm-reflect-arch-O0.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-arch.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect-opaque.ll
    M llvm/test/CodeGen/NVPTX/nvvm-reflect.ll
    M llvm/test/CodeGen/PowerPC/licm-remat.ll
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-bitreverse-rv64.mir
    M llvm/test/CodeGen/RISCV/GlobalISel/legalizer/legalize-const-rv64.mir
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg-branch-on-result.ll
    M llvm/test/CodeGen/RISCV/atomic-cmpxchg.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    A llvm/test/CodeGen/RISCV/branch-opt.mir
    M llvm/test/CodeGen/RISCV/callee-saved-gprs.ll
    M llvm/test/CodeGen/RISCV/calling-conv-ilp32e.ll
    M llvm/test/CodeGen/RISCV/condops.ll
    M llvm/test/CodeGen/RISCV/lack-of-signed-truncation-check.ll
    M llvm/test/CodeGen/RISCV/push-pop-opt-crash.ll
    M llvm/test/CodeGen/RISCV/push-pop-popret.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/vararg.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-abs.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bitreverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-bswap.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-buildvec-of-binop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv-fastcc.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-calling-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctlz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-ctpop.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-cttz.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extload-truncstore.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-extract-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-conv.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-i2fp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-insert-subvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-exttrunc.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-vrgather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-load-store.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-stepvector.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vreductions-mask.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwadd.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwaddu.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vwsubu.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
    M llvm/test/CodeGen/RISCV/shadowcallstack.ll
    M llvm/test/CodeGen/RISCV/signbit-test.ll
    M llvm/test/CodeGen/RISCV/signed-truncation-check.ll
    A llvm/test/CodeGen/RISCV/typepromotion-overflow.ll
    M llvm/test/CodeGen/RISCV/urem-seteq-illegal-types.ll
    M llvm/test/CodeGen/RISCV/vararg.ll
    M llvm/test/CodeGen/RISCV/zcmp-with-float.ll
    M llvm/test/CodeGen/SPARC/64atomics.ll
    M llvm/test/CodeGen/SPARC/atomicrmw-uinc-udec-wrap.ll
    A llvm/test/CodeGen/SPARC/reserved-arg-regs.ll
    A llvm/test/CodeGen/SPARC/reserved-regs-named.ll
    A llvm/test/CodeGen/SPARC/reserved-regs-unavailable.ll
    M llvm/test/CodeGen/SPARC/reserved-regs.ll
    M llvm/test/CodeGen/SPIRV/LinkOnceODR.ll
    A llvm/test/CodeGen/SPIRV/LinkOnceODRFun.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_const.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_function_pointers/fp_two_calls.ll
    A llvm/test/CodeGen/SPIRV/extensions/SPV_INTEL_subgroups/cl_intel_sub_groups.ll
    M llvm/test/CodeGen/SPIRV/transcoding/spec_const.ll
    M llvm/test/CodeGen/Thumb2/mve-fptosi-sat-vector.ll
    M llvm/test/CodeGen/Thumb2/mve-fptoui-sat-vector.ll
    M llvm/test/CodeGen/WebAssembly/wasm-eh-prepare.ll
    M llvm/test/CodeGen/X86/GlobalISel/roundeven.ll
    A llvm/test/CodeGen/X86/PR71178-register-coalescer-crash.ll
    A llvm/test/CodeGen/X86/code-model-elf-merge-sections.ll
    M llvm/test/CodeGen/X86/ctpop-mask.ll
    M llvm/test/CodeGen/X86/fold-sext-trunc.ll
    M llvm/test/CodeGen/X86/fp128-libcalls-strict.ll
    M llvm/test/CodeGen/X86/fp128-libcalls.ll
    M llvm/test/CodeGen/X86/frem.ll
    M llvm/test/CodeGen/X86/load-combine.ll
    A llvm/test/CodeGen/X86/statepoint-relocate-undef.ll
    M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
    M llvm/test/CodeGen/X86/vector-reduce-ctpop.ll
    A llvm/test/CodeGen/Xtensa/lit.local.cfg
    A llvm/test/CodeGen/Xtensa/simple.ll
    A llvm/test/DebugInfo/AArch64/select-optimize-trailing-dbg-records.ll
    M llvm/test/DebugInfo/AMDGPU/variable-locations.ll
    M llvm/test/DebugInfo/COFF/swift.ll
    M llvm/test/DebugInfo/Generic/assignment-tracking/declare-to-assign/hwasan.ll
    A llvm/test/DebugInfo/Generic/ipsccp-remap-assign-id.ll
    M llvm/test/DebugInfo/X86/debug-names-dwarf64.ll
    M llvm/test/DebugInfo/X86/debug-names-types.ll
    M llvm/test/DebugInfo/X86/dwarfdump-str-offsets.s
    M llvm/test/DebugInfo/X86/skeleton-unit-verify.s
    A llvm/test/DebugInfo/fixed-point.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/dbg-assign-tag-offset.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/dbg-declare-tag-offset.ll
    A llvm/test/Instrumentation/PGOForceFunctionAttrs/basic.ll
    M llvm/test/MC/AArch64/arm64-adr.s
    M llvm/test/MC/AArch64/arm64-branch-encoding.s
    M llvm/test/MC/AArch64/armv8.2a-dotprod.s
    M llvm/test/MC/AArch64/basic-a64-diagnostics.s
    M llvm/test/MC/AMDGPU/gfx11-promotions.s
    M llvm/test/MC/AMDGPU/gfx12_asm_sopp.s
    M llvm/test/MC/AMDGPU/gfx12_unsupported.s
    M llvm/test/MC/BPF/insn-unit.s
    M llvm/test/MC/Disassembler/AArch64/armv8.3a-rcpc.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_ldsdir.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_sopp.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vdsdir.txt
    A llvm/test/MC/ELF/rtti-proxy-arm-got-prel.ll
    M llvm/test/MC/Mips/macro-la-pic.s
    M llvm/test/MC/WebAssembly/alias-offset.s
    M llvm/test/MC/WebAssembly/alias.s
    M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
    A llvm/test/Object/wasm-bad-relocation.yaml
    A llvm/test/Object/wasm-linked-namesec-with-linkingsec.yaml
    A llvm/test/Object/wasm-linked-symbol-table.yaml
    M llvm/test/Other/new-pm-defaults.ll
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-or-phi.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split.ll
    M llvm/test/Transforms/CalledValuePropagation/simple-arguments.ll
    M llvm/test/Transforms/CalledValuePropagation/simple-memory.ll
    M llvm/test/Transforms/CalledValuePropagation/simple-select.ll
    M llvm/test/Transforms/ConstantHoisting/AArch64/const-hoist-gep.ll
    M llvm/test/Transforms/CorrelatedValuePropagation/basic.ll
    R llvm/test/Transforms/CorrelatedValuePropagation/switch.ll
    M llvm/test/Transforms/DeadStoreElimination/noop-stores.ll
    M llvm/test/Transforms/IndVarSimplify/X86/pr27133.ll
    M llvm/test/Transforms/IndVarSimplify/lftr-reuse.ll
    M llvm/test/Transforms/IndVarSimplify/pr30806-phi-scev.ll
    M llvm/test/Transforms/IndVarSimplify/preserve-nsw-during-expansion.ll
    M llvm/test/Transforms/IndVarSimplify/widen-i32-i8ptr.ll
    A llvm/test/Transforms/Inline/inline-switch-default-2.ll
    A llvm/test/Transforms/Inline/inline-switch-default.ll
    A llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-uzp1.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-eq-to-icmp-ule.ll
    M llvm/test/Transforms/InstCombine/canonicalize-low-bit-mask-v4-and-icmp-ne-to-icmp-ugt.ll
    M llvm/test/Transforms/InstCombine/fpclass-check-idioms.ll
    A llvm/test/Transforms/InstCombine/fpclass-from-dom-cond.ll
    M llvm/test/Transforms/InstCombine/fsh.ll
    M llvm/test/Transforms/InstCombine/icmp-custom-dl.ll
    M llvm/test/Transforms/InstCombine/icmp-gep.ll
    M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-after-truncation-variant-d.ll
    M llvm/test/Transforms/InstCombine/partally-redundant-left-shift-input-masking-variant-d.ll
    M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-after-truncation-variant-d.ll
    M llvm/test/Transforms/InstCombine/redundant-left-shift-input-masking-variant-d.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
    M llvm/test/Transforms/InstCombine/struct-assign-tbaa.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
    M llvm/test/Transforms/InstSimplify/compare.ll
    M llvm/test/Transforms/InstSimplify/gc_relocate.ll
    A llvm/test/Transforms/JumpTableToSwitch/basic.ll
    A llvm/test/Transforms/JumpTableToSwitch/max_function_size.ll
    A llvm/test/Transforms/JumpTableToSwitch/remarks.ll
    A llvm/test/Transforms/JumpTableToSwitch/skip.ll
    A llvm/test/Transforms/JumpTableToSwitch/stride.ll
    A llvm/test/Transforms/JumpTableToSwitch/struct.ll
    A llvm/test/Transforms/LICM/expr-reassociate-int.ll
    M llvm/test/Transforms/LICM/sink-foldable.ll
    M llvm/test/Transforms/LoopFlatten/widen-iv.ll
    M llvm/test/Transforms/LoopFlatten/widen-iv2.ll
    M llvm/test/Transforms/LoopFlatten/widen-iv3.ll
    R llvm/test/Transforms/LoopReroll/basic.ll
    R llvm/test/Transforms/LoopReroll/basic32iters.ll
    R llvm/test/Transforms/LoopReroll/complex_reroll.ll
    R llvm/test/Transforms/LoopReroll/external_use.ll
    R llvm/test/Transforms/LoopReroll/extra_instr.ll
    R llvm/test/Transforms/LoopReroll/indvar_with_ext.ll
    R llvm/test/Transforms/LoopReroll/negative.ll
    R llvm/test/Transforms/LoopReroll/nonconst_lb.ll
    R llvm/test/Transforms/LoopReroll/ptrindvar.ll
    R llvm/test/Transforms/LoopReroll/reduction.ll
    R llvm/test/Transforms/LoopReroll/reroll_with_dbg.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/arbitrary-induction-step.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/backedge-overflow.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/interleaved_cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_memcheck_cost.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls-finite.ll
    A llvm/test/Transforms/LoopVectorize/X86/amdlibm-calls.ll
    M llvm/test/Transforms/LoopVectorize/trunc-reductions.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/dot-product-float.ll
    M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backward.ll
    A llvm/test/Transforms/LowerMatrixIntrinsics/transpose-opts-lifting.ll
    A llvm/test/Transforms/LowerTypeTests/cfi-annotation.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
    A llvm/test/Transforms/PhaseOrdering/AArch64/hoist-runtime-checks.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/indvars-vectorization.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/loopflatten.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/complex-loads.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-vectorized.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads-with-external-use-ptr.ll
    M llvm/test/Transforms/SLPVectorizer/RISCV/strided-loads.ll
    A llvm/test/Transforms/SLPVectorizer/SystemZ/reorder-same-node.ll
    M llvm/test/Transforms/SLPVectorizer/X86/gep-nodes-with-non-gep-inst.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minimum-sizes.ll
    M llvm/test/Transforms/SLPVectorizer/X86/remark_gather-load-redux-cost.ll
    M llvm/test/Transforms/SLPVectorizer/X86/sin-sqrt.ll
    A llvm/test/Transforms/SLPVectorizer/X86/vec3-base.ll
    A llvm/test/Transforms/SLPVectorizer/X86/vec3-calls.ll
    A llvm/test/Transforms/SLPVectorizer/X86/vec3-gather-some-loads.ll
    A llvm/test/Transforms/SLPVectorizer/X86/vec3-reorder-reshuffle.ll
    M llvm/test/Transforms/SROA/select-gep.ll
    M llvm/test/Transforms/SROA/tbaa-struct2.ll
    A llvm/test/Transforms/SROA/tbaa-struct3.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep-inbounds.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/AMDGPU/reorder-gep.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/NVPTX/lower-gep-reorder.ll
    A llvm/test/Transforms/SeparateConstOffsetFromGEP/reorder-gep.ll
    M llvm/test/Transforms/Util/add-TLI-mappings.ll
    M llvm/test/lit.cfg.py
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_generated_funcs.ll.generated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/hexagon_generated_funcs.ll.nogenerated.expected
    M llvm/test/tools/UpdateTestChecks/update_llc_test_checks/Inputs/lanai_isel.ll.expected
    M llvm/test/tools/dsymutil/ARM/dwarf5-dwarf4-combination-macho.test
    M llvm/test/tools/llvm-cov/mcdc-const.test
    M llvm/test/tools/llvm-cov/mcdc-general.test
    A llvm/test/tools/llvm-dlltool/arm64ec.test
    A llvm/test/tools/llvm-dwarfdump/X86/debug-str-offsets-mixed-dwarf-4-5.yaml
    A llvm/test/tools/llvm-dwarfdump/X86/verify_empty_debug_line_sequence.yaml
    M llvm/test/tools/llvm-dwarfdump/X86/verify_file_encoding.yaml
    M llvm/test/tools/llvm-dwarfdump/X86/verify_invalid_str_offsets.yaml
    M llvm/test/tools/llvm-dwarfutil/ELF/X86/dwarf5-macro.test
    M llvm/test/tools/llvm-gsymutil/X86/elf-dwo.yaml
    M llvm/test/tools/llvm-lib/arm64ec-implib.test
    A llvm/test/tools/llvm-lib/exportas.test
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/basic-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/cssc-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/mte-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/neon-instructions.s
    A llvm/test/tools/llvm-mca/AArch64/Ampere/Ampere1B/shifted-register.s
    A llvm/test/tools/llvm-mca/RISCV/XiangShan/cascade-fma.s
    A llvm/test/tools/llvm-mca/RISCV/XiangShan/gpr-bypass.s
    A llvm/test/tools/llvm-mca/RISCV/XiangShan/load-to-alu.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512.s
    M llvm/test/tools/llvm-mca/X86/IceLakeServer/resources-avx512dq.s
    M llvm/test/tools/llvm-nm/wasm/exports.yaml
    M llvm/test/tools/llvm-nm/wasm/linked.yaml
    M llvm/test/tools/llvm-nm/wasm/print-size.test
    M llvm/test/tools/llvm-nm/wasm/weak-symbols.yaml
    M llvm/test/tools/llvm-objcopy/ELF/binary-output-target.test
    M llvm/test/tools/llvm-objcopy/ELF/cross-arch-headers.test
    M llvm/test/tools/llvm-objcopy/ELF/ihex-writer.test
    M llvm/test/tools/llvm-objcopy/ELF/non-load-at-load-start.test
    A llvm/test/tools/llvm-objcopy/ELF/srec-writer.test
    M llvm/test/tools/llvm-objcopy/XCOFF/invalid-read.test
    M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
    M llvm/test/tools/llvm-objdump/XCOFF/disassemble-traceback-table.test
    M llvm/test/tools/llvm-objdump/XCOFF/section-headers.test
    M llvm/test/tools/llvm-objdump/wasm/dylink-symbol-table.yaml
    A llvm/test/tools/llvm-objdump/wasm/linked-symbol-table-namesec.yaml
    R llvm/test/tools/llvm-objdump/wasm/linked-symbol-table.yaml
    M llvm/test/tools/llvm-objdump/wasm/symbol-table.test
    M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
    M llvm/test/tools/llvm-readobj/XCOFF/file-header.test
    M llvm/test/tools/llvm-readobj/XCOFF/sections.test
    A llvm/test/tools/obj2yaml/ELF/bb-addr-map-pgo-analysis-map.yaml
    M llvm/test/tools/obj2yaml/XCOFF/aix.yaml
    M llvm/test/tools/obj2yaml/XCOFF/invalid-section.yaml
    A llvm/test/tools/yaml2obj/ELF/bb-addr-map-pgo-analysis-map.yaml
    M llvm/test/tools/yaml2obj/XCOFF/aux-hdr-defaults.yaml
    M llvm/test/tools/yaml2obj/XCOFF/basic-doc.yaml
    A llvm/test/tools/yaml2obj/XCOFF/offset-check.yaml
    M llvm/tools/llvm-dwarfdump/llvm-dwarfdump.cpp
    M llvm/tools/llvm-gsymutil/llvm-gsymutil.cpp
    M llvm/tools/llvm-nm/llvm-nm.cpp
    M llvm/tools/llvm-objcopy/ObjcopyOptions.cpp
    M llvm/tools/llvm-objcopy/llvm-objcopy.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-pdbutil/MinimalSymbolDumper.cpp
    M llvm/tools/llvm-pdbutil/MinimalTypeDumper.cpp
    M llvm/tools/llvm-readobj/COFFImportDumper.cpp
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/obj2yaml/elf2yaml.cpp
    M llvm/tools/opt/NewPMDriver.cpp
    M llvm/unittests/ADT/BitVectorTest.cpp
    M llvm/unittests/CodeGen/LowLevelTypeTest.cpp
    M llvm/unittests/DebugInfo/DWARF/DWARFAcceleratorTableTest.cpp
    M llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp
    M llvm/unittests/IR/ConstantsTest.cpp
    M llvm/unittests/ProfileData/CoverageMappingTest.cpp
    M llvm/unittests/Support/CMakeLists.txt
    A llvm/unittests/Support/ExponentialBackoffTest.cpp
    M llvm/unittests/Target/SPIRV/CMakeLists.txt
    M llvm/unittests/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/utils/TableGen/AsmMatcherEmitter.cpp
    M llvm/utils/TableGen/AsmWriterEmitter.cpp
    M llvm/utils/TableGen/AsmWriterInst.cpp
    M llvm/utils/TableGen/AsmWriterInst.h
    M llvm/utils/TableGen/CTagsEmitter.cpp
    M llvm/utils/TableGen/CallingConvEmitter.cpp
    M llvm/utils/TableGen/CodeEmitterGen.cpp
    M llvm/utils/TableGen/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/CodeGenHwModes.cpp
    M llvm/utils/TableGen/CodeGenHwModes.h
    M llvm/utils/TableGen/CodeGenInstAlias.cpp
    M llvm/utils/TableGen/CodeGenInstruction.cpp
    M llvm/utils/TableGen/CodeGenInstruction.h
    M llvm/utils/TableGen/CodeGenIntrinsics.h
    M llvm/utils/TableGen/CodeGenMapTable.cpp
    M llvm/utils/TableGen/CodeGenRegisters.cpp
    M llvm/utils/TableGen/CodeGenRegisters.h
    M llvm/utils/TableGen/CodeGenSchedule.cpp
    M llvm/utils/TableGen/CodeGenSchedule.h
    M llvm/utils/TableGen/CodeGenTarget.cpp
    M llvm/utils/TableGen/CodeGenTarget.h
    M llvm/utils/TableGen/DAGISelEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcher.cpp
    M llvm/utils/TableGen/DAGISelMatcher.h
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DAGISelMatcherGen.cpp
    M llvm/utils/TableGen/DAGISelMatcherOpt.cpp
    M llvm/utils/TableGen/DFAEmitter.cpp
    M llvm/utils/TableGen/DFAPacketizerEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/TableGen/DisassemblerEmitter.cpp
    M llvm/utils/TableGen/FastISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelCombinerEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/GlobalISelMatchTable.h
    M llvm/utils/TableGen/InfoByHwMode.cpp
    M llvm/utils/TableGen/InfoByHwMode.h
    M llvm/utils/TableGen/InstrDocsEmitter.cpp
    M llvm/utils/TableGen/InstrInfoEmitter.cpp
    M llvm/utils/TableGen/IntrinsicEmitter.cpp
    M llvm/utils/TableGen/OptParserEmitter.cpp
    M llvm/utils/TableGen/PredicateExpander.cpp
    M llvm/utils/TableGen/PseudoLoweringEmitter.cpp
    M llvm/utils/TableGen/RegisterBankEmitter.cpp
    M llvm/utils/TableGen/RegisterInfoEmitter.cpp
    M llvm/utils/TableGen/SDNodeProperties.h
    M llvm/utils/TableGen/SearchableTableEmitter.cpp
    M llvm/utils/TableGen/SequenceToOffsetTable.h
    M llvm/utils/TableGen/SubtargetEmitter.cpp
    M llvm/utils/TableGen/SubtargetFeatureInfo.cpp
    M llvm/utils/TableGen/SubtargetFeatureInfo.h
    M llvm/utils/TableGen/TableGenBackends.h
    M llvm/utils/TableGen/Types.cpp
    M llvm/utils/TableGen/Types.h
    M llvm/utils/TableGen/WebAssemblyDisassemblerEmitter.cpp
    M llvm/utils/TableGen/X86CompressEVEXTablesEmitter.cpp
    M llvm/utils/TableGen/X86DisassemblerShared.h
    M llvm/utils/TableGen/X86DisassemblerTables.cpp
    M llvm/utils/TableGen/X86DisassemblerTables.h
    M llvm/utils/TableGen/X86FoldTablesEmitter.cpp
    M llvm/utils/TableGen/X86ModRMFilters.cpp
    M llvm/utils/TableGen/X86ModRMFilters.h
    M llvm/utils/TableGen/X86RecognizableInstr.cpp
    M llvm/utils/TableGen/X86RecognizableInstr.h
    M llvm/utils/git/github-automation.py
    M llvm/utils/gn/secondary/clang/include/clang/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Basic/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/ExtractAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Frontend/BUILD.gn
    A llvm/utils/gn/secondary/clang/lib/InstallAPI/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Sema/BUILD.gn
    M llvm/utils/gn/secondary/clang/test/BUILD.gn
    M llvm/utils/gn/secondary/libcxx/include/BUILD.gn
    M llvm/utils/gn/secondary/lld/ELF/BUILD.gn
    M llvm/utils/gn/secondary/lldb/source/Plugins/Language/CPlusPlus/BUILD.gn
    M llvm/utils/gn/secondary/lldb/tools/lldb-dap/BUILD.gn
    M llvm/utils/gn/secondary/llvm/include/llvm/IR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Transforms/Scalar/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
    M llvm/utils/release/test-release.sh
    M mlir/docs/Diagnostics.md
    M mlir/docs/TargetLLVMIR.md
    M mlir/docs/Tutorials/transform/Ch1.md
    M mlir/docs/Tutorials/transform/Ch2.md
    M mlir/docs/Tutorials/transform/Ch3.md
    M mlir/docs/Tutorials/transform/Ch4.md
    M mlir/examples/transform/Ch2/transform-opt/transform-opt.cpp
    M mlir/examples/transform/Ch3/transform-opt/transform-opt.cpp
    M mlir/examples/transform/Ch4/transform-opt/transform-opt.cpp
    M mlir/include/mlir-c/BuiltinTypes.h
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/include/mlir/Analysis/Presburger/Barvinok.h
    M mlir/include/mlir/Analysis/Presburger/GeneratingFunction.h
    M mlir/include/mlir/Analysis/Presburger/IntegerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Matrix.h
    M mlir/include/mlir/Analysis/Presburger/PresburgerRelation.h
    M mlir/include/mlir/Analysis/Presburger/Simplex.h
    M mlir/include/mlir/Analysis/Presburger/Utils.h
    M mlir/include/mlir/Dialect/AMDGPU/CMakeLists.txt
    A mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.h
    A mlir/include/mlir/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.td
    A mlir/include/mlir/Dialect/AMDGPU/TransformOps/CMakeLists.txt
    M mlir/include/mlir/Dialect/AMDGPU/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/Affine/Utils.h
    M mlir/include/mlir/Dialect/Arith/Utils/Utils.h
    M mlir/include/mlir/Dialect/ArmSVE/IR/ArmSVE.td
    M mlir/include/mlir/Dialect/CMakeLists.txt
    M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgStructuredOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Hoisting.h
    A mlir/include/mlir/Dialect/MPI/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/IR/CMakeLists.txt
    A mlir/include/mlir/Dialect/MPI/IR/MPI.h
    A mlir/include/mlir/Dialect/MPI/IR/MPI.td
    A mlir/include/mlir/Dialect/MPI/IR/MPIOps.td
    A mlir/include/mlir/Dialect/MPI/IR/MPITypes.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshBase.td
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
    M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.td
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.h
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterface.td
    M mlir/include/mlir/Dialect/Mesh/Interfaces/ShardingInterfaceImpl.h
    M mlir/include/mlir/Dialect/Mesh/Transforms/Simplifications.h
    M mlir/include/mlir/Dialect/Mesh/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/NVGPU/IR/NVGPU.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/Enums.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/SparseTensor/Utils/Merger.h
    M mlir/include/mlir/Dialect/Transform/Transforms/Passes.td
    M mlir/include/mlir/Dialect/Transform/Transforms/TransformInterpreterUtils.h
    M mlir/include/mlir/Dialect/Transform/Utils/RaggedArray.h
    M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
    M mlir/include/mlir/Dialect/Vector/Transforms/VectorRewritePatterns.h
    M mlir/include/mlir/ExecutionEngine/SparseTensor/Storage.h
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/InitAllExtensions.h
    M mlir/include/mlir/Interfaces/CallInterfaces.td
    M mlir/include/mlir/Target/LLVMIR/LLVMTranslationInterface.h
    M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
    M mlir/include/mlir/Transforms/DialectConversion.h
    M mlir/lib/Analysis/Presburger/Barvinok.cpp
    M mlir/lib/Analysis/Presburger/IntegerRelation.cpp
    M mlir/lib/Analysis/Presburger/Matrix.cpp
    M mlir/lib/Analysis/Presburger/PresburgerRelation.cpp
    M mlir/lib/Analysis/Presburger/Simplex.cpp
    M mlir/lib/Analysis/Presburger/Utils.cpp
    A mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/Bindings/Python/IRCore.cpp
    M mlir/lib/Bindings/Python/IRModule.h
    M mlir/lib/Bindings/Python/IRTypes.cpp
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/CAPI/IR/BuiltinTypes.cpp
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/NVGPUToNVVM/NVGPUToNVVM.cpp
    M mlir/lib/Conversion/OpenMPToLLVM/OpenMPToLLVM.cpp
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/AMDGPU/CMakeLists.txt
    A mlir/lib/Dialect/AMDGPU/TransformOps/AMDGPUTransformOps.cpp
    A mlir/lib/Dialect/AMDGPU/TransformOps/CMakeLists.txt
    M mlir/lib/Dialect/AMDGPU/Transforms/OptimizeSharedMemory.cpp
    M mlir/lib/Dialect/Affine/Transforms/SuperVectorize.cpp
    M mlir/lib/Dialect/Affine/Utils/Utils.cpp
    M mlir/lib/Dialect/Arith/Utils/Utils.cpp
    M mlir/lib/Dialect/ArmSVE/Transforms/LegalizeForLLVMExport.cpp
    M mlir/lib/Dialect/Async/Transforms/AsyncToAsyncRuntime.cpp
    M mlir/lib/Dialect/CMakeLists.txt
    M mlir/lib/Dialect/GPU/Pipelines/GPUToNVVMPipeline.cpp
    M mlir/lib/Dialect/LLVMIR/IR/NVVMDialect.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Hoisting.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
    A mlir/lib/Dialect/MPI/CMakeLists.txt
    A mlir/lib/Dialect/MPI/IR/CMakeLists.txt
    A mlir/lib/Dialect/MPI/IR/MPI.cpp
    A mlir/lib/Dialect/MPI/IR/MPIOps.cpp
    M mlir/lib/Dialect/Math/Transforms/LegalizeToF32.cpp
    M mlir/lib/Dialect/Mesh/IR/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
    M mlir/lib/Dialect/Mesh/Interfaces/ShardingInterface.cpp
    M mlir/lib/Dialect/Mesh/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Mesh/Transforms/Simplifications.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Spmdization.cpp
    M mlir/lib/Dialect/Mesh/Transforms/Transforms.cpp
    A mlir/lib/Dialect/Mesh/Transforms/TransformsDetail.h
    M mlir/lib/Dialect/NVGPU/IR/NVGPUDialect.cpp
    M mlir/lib/Dialect/NVGPU/TransformOps/NVGPUTransformOps.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/SCF/IR/SCF.cpp
    M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/SCF/Transforms/WrapInZeroTripCheck.cpp
    M mlir/lib/Dialect/SCF/Utils/Utils.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.cpp
    M mlir/lib/Dialect/SparseTensor/IR/Detail/LvlTypeParser.h
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseAssembler.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorLevel.cpp
    M mlir/lib/Dialect/SparseTensor/Utils/Merger.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tosa/IR/ShardingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tosa/IR/TosaOps.cpp
    M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
    M mlir/lib/Dialect/Transform/Transforms/InterpreterPass.cpp
    M mlir/lib/Dialect/Transform/Transforms/TransformInterpreterUtils.cpp
    M mlir/lib/Dialect/Utils/IndexingUtils.cpp
    M mlir/lib/Dialect/Vector/Transforms/CMakeLists.txt
    M mlir/lib/Dialect/Vector/Transforms/VectorDropLeadUnitDim.cpp
    A mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorUnroll.cpp
    M mlir/lib/ExecutionEngine/SparseTensor/Storage.cpp
    M mlir/lib/ExecutionEngine/SparseTensorRuntime.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/IR/BuiltinDialectBytecode.cpp
    M mlir/lib/IR/Operation.cpp
    M mlir/lib/Interfaces/InferIntRangeInterface.cpp
    M mlir/lib/Interfaces/ValueBoundsOpInterface.cpp
    M mlir/lib/Support/Timing.cpp
    M mlir/lib/TableGen/CodeGenHelpers.cpp
    M mlir/lib/TableGen/Pattern.cpp
    M mlir/lib/Target/LLVM/NVVM/Target.cpp
    M mlir/lib/Target/LLVMIR/AttrKindDetail.h
    M mlir/lib/Target/LLVMIR/Dialect/NVVM/NVVMToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
    M mlir/lib/Target/SPIRV/Serialization/SerializeOps.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/python/CMakeLists.txt
    M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
    M mlir/python/mlir/dialects/llvm.py
    M mlir/python/mlir/dialects/transform/loop.py
    M mlir/test/CAPI/llvm.c
    M mlir/test/CAPI/sparse_tensor.c
    M mlir/test/Conversion/ComplexToStandard/convert-to-standard.mlir
    M mlir/test/Conversion/ComplexToStandard/full-conversion.mlir
    M mlir/test/Conversion/NVGPUToNVVM/nvgpu-to-nvvm.mlir
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    A mlir/test/Dialect/AMDGPU/transform_optimize_shmem_reads_writes.mlir
    A mlir/test/Dialect/Affine/SuperVectorize/vectorize_affine_apply.mlir
    M mlir/test/Dialect/ArmSVE/invalid.mlir
    M mlir/test/Dialect/ArmSVE/legalize-for-llvm.mlir
    M mlir/test/Dialect/ArmSVE/roundtrip.mlir
    A mlir/test/Dialect/GPU/test-nvvm-pipeline.mlir
    M mlir/test/Dialect/LLVMIR/nvvm.mlir
    M mlir/test/Dialect/LLVMIR/rocdl.mlir
    M mlir/test/Dialect/Linalg/canonicalize.mlir
    M mlir/test/Dialect/Linalg/invalid.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    A mlir/test/Dialect/Linalg/transform-op-mmt4d-to-fma.mlir
    A mlir/test/Dialect/Linalg/vectorization-unsupported.mlir
    M mlir/test/Dialect/Linalg/vectorization.mlir
    A mlir/test/Dialect/MPI/ops.mlir
    A mlir/test/Dialect/Mesh/all-scatter-op-lowering.mlir
    M mlir/test/Dialect/Mesh/canonicalization.mlir
    M mlir/test/Dialect/Mesh/invalid.mlir
    M mlir/test/Dialect/Mesh/ops.mlir
    M mlir/test/Dialect/Mesh/resharding-spmdization.mlir
    M mlir/test/Dialect/Mesh/spmdization.mlir
    M mlir/test/Dialect/NVGPU/tmaload-transform.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Dialect/OpenMP/roundtrip.mlir
    A mlir/test/Dialect/SCF/wrap-while-loop-in-zero-trip-check.mlir
    M mlir/test/Dialect/SparseTensor/GPU/gpu_matmul24_lib.mlir
    M mlir/test/Dialect/SparseTensor/invalid_encoding.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fill_zero.mlir
    M mlir/test/Dialect/SparseTensor/torch_linalg.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    A mlir/test/Dialect/Vector/linearize.mlir
    M mlir/test/Dialect/Vector/ops.mlir
    M mlir/test/Dialect/Vector/vector-dropleadunitdim-transforms.mlir
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-1.mlir
    M mlir/test/Examples/transform/Ch1/invalidation-2.mlir
    M mlir/test/Examples/transform/Ch1/sequence.mlir
    M mlir/test/Examples/transform/Ch2/invalid.mlir
    M mlir/test/Examples/transform/Ch2/ops.mlir
    M mlir/test/Examples/transform/Ch2/sequence.mlir
    M mlir/test/Examples/transform/Ch3/invalid.mlir
    M mlir/test/Examples/transform/Ch3/ops.mlir
    M mlir/test/Examples/transform/Ch3/sequence.mlir
    M mlir/test/Examples/transform/ChH/full.mlir
    M mlir/test/Integration/Dialect/Complex/CPU/correctness.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul-mixed-types.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSME/multi-tile-matmul.mlir
    M mlir/test/Integration/Dialect/Linalg/CPU/ArmSVE/matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/concatenate_dim_0.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_block_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cast.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_cmp.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_1d_nwc_wcf.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conv_2d_55.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_conversion_block.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_coo_test.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_dot.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_ds.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_expand.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_filter_conv2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_flatten.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_generate.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_index_dense.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matrix_ops.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_matvec.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_mttkrp.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_out_reduction.mlir
    A mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pack_d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_permute.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_pooling_nhwc.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_quantized_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_prod.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reduce_custom_sum.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_min.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_reductions_prod.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_matmul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sampled_mm_fusion.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_scf_nested.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_select.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_semiring_select.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_spmm.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_bf16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_c32.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_sum_f16.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tanh.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_tensor_mul.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_unary.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_vector_ops.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sm80-lt/sparse-matmul-2-4-lib.mlir
    M mlir/test/Integration/Dialect/SparseTensor/GPU/CUDA/sm80-lt/sparse-matmul-2-4-prune.mlir
    M mlir/test/Integration/Dialect/SparseTensor/python/test_SDDMM.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_SpMM.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_output.py
    M mlir/test/Integration/Dialect/SparseTensor/python/test_stress.py
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/gemm_pred_f32_f16_f16_128x128x128.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_128x64_swizzle128b.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x64_swizzle128b.mlir
    M mlir/test/Integration/GPU/CUDA/sm90/tma_load_64x8_8x128_noswizzle.mlir
    M mlir/test/Target/LLVMIR/arm-sve.mlir
    M mlir/test/Target/LLVMIR/nvvmir.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Mesh/CMakeLists.txt
    A mlir/test/lib/Dialect/Mesh/TestOpLowering.cpp
    R mlir/test/lib/Dialect/Mesh/TestProcessMultiIndexOpLowering.cpp
    M mlir/test/lib/Dialect/SCF/CMakeLists.txt
    A mlir/test/lib/Dialect/SCF/TestSCFWrapInZeroTripCheck.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Vector/TestVectorTransforms.cpp
    M mlir/test/python/dialects/llvm.py
    M mlir/test/python/dialects/sparse_tensor/dialect.py
    M mlir/test/python/dialects/transform_loop_ext.py
    M mlir/test/python/ir/builtin_types.py
    M mlir/test/python/ir/module.py
    M mlir/tools/mlir-opt/mlir-opt.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/unittests/Analysis/Presburger/BarvinokTest.cpp
    M mlir/unittests/Dialect/SparseTensor/MergerTest.cpp
    M openmp/cmake/HandleOpenMPOptions.cmake
    M openmp/cmake/config-ix.cmake
    M openmp/runtime/src/CMakeLists.txt
    M openmp/runtime/src/kmp_csupport.cpp
    M openmp/runtime/src/kmp_gsupport.cpp
    M openmp/runtime/src/kmp_lock.cpp
    M openmp/runtime/src/kmp_lock.h
    M polly/lib/Analysis/ScopBuilder.cpp
    M polly/lib/Analysis/ScopDetectionDiagnostic.cpp
    M polly/lib/Support/ScopLocation.cpp
    M polly/lib/Transform/ScheduleOptimizer.cpp
    M polly/test/ScheduleOptimizer/schedule_computeout.ll
    M polly/test/ScopDetectionDiagnostics/ReportLoopBound-01.ll
    M polly/test/ScopDetectionDiagnostics/loop_has_multiple_exits.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_2.ll
    M polly/test/ScopInfo/NonAffine/non-affine-loop-condition-dependent-access_3.ll
    M polly/test/ScopInfo/int2ptr_ptr2int.ll
    M utils/bazel/WORKSPACE
    M utils/bazel/examples/http_archive/WORKSPACE
    M utils/bazel/examples/submodule/WORKSPACE
    M utils/bazel/llvm-project-overlay/bolt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/clang/BUILD.bazel
    M utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/__support/FPUtil/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/utils/MPFRWrapper/BUILD.bazel
    M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
    M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch2/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch3/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch4/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch5/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch6/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/examples/toy/Ch7/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/unittests/BUILD.bazel
    M utils/bazel/llvm-project-overlay/third-party/unittest/BUILD.bazel
    M utils/bazel/third_party_build/zlib-ng.BUILD
    M utils/bazel/third_party_build/zstd.BUILD

  Log Message:
  -----------
  test cleanup: remote PF_R/PF_X and SHF_*

Created using spr 1.3.4


Compare: https://github.com/llvm/llvm-project/compare/31b7762cc8c4...44ad5c25845d

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