[all-commits] [llvm/llvm-project] 8d61f8: [lld][RISCV] Avoid second map lookup in mergeArch....

Vitaly Buka via All-commits all-commits at lists.llvm.org
Tue Mar 12 18:00:22 PDT 2024


  Branch: refs/heads/users/vitalybuka/spr/main.instcombiner-remove-unused-llvmexperimentalhot
  Home:   https://github.com/llvm/llvm-project
  Commit: 8d61f82bd3676bc541edfad1014e3ed599cc1390
      https://github.com/llvm/llvm-project/commit/8d61f82bd3676bc541edfad1014e3ed599cc1390
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp

  Log Message:
  -----------
  [lld][RISCV] Avoid second map lookup in mergeArch. NFC (#84687)

Instead of using find and then inserting into the map, we can use
insert and fix up the version using the iterator if the insert fails.


  Commit: 67ef4ae2c3cc4e2700e873aa6f251b70a09c3fea
      https://github.com/llvm/llvm-project/commit/67ef4ae2c3cc4e2700e873aa6f251b70a09c3fea
  Author: James Newling <james.newling at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir

  Log Message:
  -----------
  [MLIR][Tensor,MemRef] Fold expand_shape and collapse_shape if identity (#80658)

Before: op verifiers failed if the input and output ranks were the same
(i.e. no expansion or collapse). This behavior requires users of these
shape ops to verify manually that they are not creating identity
versions of these ops every time they build them -- problematic. This PR
removes this strict verification, and introduces folders for the the
identity cases.

The PR also removes the special case handling of rank-0 tensors for
expand_shape and collapse_shape, there doesn't seem to be any reason to
treat them differently.


  Commit: 672fc89347b831f2845e7825affc30c865758270
      https://github.com/llvm/llvm-project/commit/672fc89347b831f2845e7825affc30c865758270
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp

  Log Message:
  -----------
  [NFC] [hwasan] factor out selective instrumentation logic (#84408)

sanitizeFunction is long enough already.


  Commit: 41658bafb70680d0aafb7e79c7f694b8c2a5217d
      https://github.com/llvm/llvm-project/commit/41658bafb70680d0aafb7e79c7f694b8c2a5217d
  Author: David Benjamin <davidben at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/include/__hash_table
    A libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.increment.pass.cpp

  Log Message:
  -----------
  [libc++][hardening] Add iterator validity checks on unordered containers (#80230)

These are simply null checks, so use `_LIBCPP_ASSERT_NON_NULL`. This
allows us to restore a bunch of the old debug tests. I've extended them
to also cover the const iterators, as those run through different
codepaths than the const ones.

This does the easier (and less important) half of #80212.


  Commit: 2a3068455716a1a37da9155d4d96107901bba4a8
      https://github.com/llvm/llvm-project/commit/2a3068455716a1a37da9155d4d96107901bba4a8
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/lib/Transforms/Utils/DialectConversion.cpp

  Log Message:
  -----------
  [mlir][Transforms] Use correct listener in dialect conversion (#84861)

There was a typo in the dialect conversion: `RewriterBase::Listener`
should be used instead of `ForwardingListener`.


  Commit: 26722f5b61575fb0e58ff2933e7bea03353ff441
      https://github.com/llvm/llvm-project/commit/26722f5b61575fb0e58ff2933e7bea03353ff441
  Author: Sayan Saha <sayan.jubiee at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

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

  Log Message:
  -----------
  [MLIR] Fix incorrect memref::DimOp canonicalization, add tensor::DimOp canonicalization (#84225)

The current canonicalization of `memref.dim` operating on the result of
`memref.reshape` into `memref.load` is incorrect as it doesn't check
whether the `index` operand of `memref.dim` dominates the source
`memref.reshape` op. It always introduces `memref.load` right after
`memref.reshape` to ensure the `memref` is not mutated before the
`memref.load` call. As a result, the following error is observed:

```
$> mlir-opt --canonicalize input.mlir

func.func @reshape_dim(%arg0: memref<*xf32>, %arg1: memref<?xindex>, %arg2: index) -> index {
    %c4 = arith.constant 4 : index
    %reshape = memref.reshape %arg0(%arg1) : (memref<*xf32>, memref<?xindex>) -> memref<*xf32>
    %0 = arith.muli %arg2, %c4 : index
    %dim = memref.dim %reshape, %0 : memref<*xf32>
    return %dim : index
  }
```

results in:

```
dominator.mlir:22:12: error: operand #1 does not dominate this use
    %dim = memref.dim %reshape, %0 : memref<*xf32>
           ^
dominator.mlir:22:12: note: see current operation: %1 = "memref.load"(%arg1, %2) <{nontemporal = false}> : (memref<?xindex>, index) -> index
dominator.mlir:21:10: note: operand defined here (op in the same block)
    %0 = arith.muli %arg2, %c4 : index
```

Properly fixing this issue requires a dominator analysis which is
expensive to run within a canonicalization pattern. So, this patch fixes
the canonicalization pattern by being more strict/conservative about the
legality condition in which we perform this canonicalization.
The more general pattern is also added to `tensor.dim`. Since tensors are
immutable we don't need to worry about where to introduce the
`tensor.extract` call after canonicalization.


  Commit: e40cabfea48c617fe6efaace588e80474bc80fe8
      https://github.com/llvm/llvm-project/commit/e40cabfea48c617fe6efaace588e80474bc80fe8
  Author: lifengxiang1025 <lifengxiang.1025 at bytedance.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    A llvm/test/ThinLTO/X86/summary-matching.ll

  Log Message:
  -----------
  [MemProf] Match function's summary and definition strictly (#83665)

Problem description:
https://github.com/llvm/llvm-project/pull/81008#issuecomment-1933468520
Solution:
https://github.com/llvm/llvm-project/pull/81008#issuecomment-1934192548
(choose plan2)


  Commit: e4a546756c15a609be2f65d99c8b2be13ca9ddbf
      https://github.com/llvm/llvm-project/commit/e4a546756c15a609be2f65d99c8b2be13ca9ddbf
  Author: Walter Erquinigo <a20012251 at gmail.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/SourceMgrUtils.h

  Log Message:
  -----------
  [MLIR][LSP][NFC] Fix a header guard (#84862)

This header guard is wrong and conflicts with the one from Transport.h


  Commit: a83f8e0314fcdda162e54cbba1c9dcf230dff093
      https://github.com/llvm/llvm-project/commit/a83f8e0314fcdda162e54cbba1c9dcf230dff093
  Author: David Benjamin <davidben at google.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M libcxx/include/__iterator/bounded_iter.h
    A libcxx/test/libcxx/containers/views/views.span/assert.iterator-indexing.pass.cpp
    R libcxx/test/libcxx/containers/views/views.span/debug.iterator-indexing.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
    A libcxx/test/libcxx/strings/string.view/string.view.iterators/assert.iterator-indexing.pass.cpp
    R libcxx/test/libcxx/strings/string.view/string.view.iterators/debug.iterator-indexing.pass.cpp

  Log Message:
  -----------
  [libc++][hardening] Check bounds on arithmetic in __bounded_iter (#78876)

Previously, `__bounded_iter` only checked `operator*`. It allowed the
pointer to go out of bounds with `operator++`, etc., and relied on
`operator*` (which checked `begin <= current < end`) to handle
everything. This has several unfortunate consequences:

First, pointer arithmetic is UB if it goes out of bounds. So by the time
`operator*` checks, it may be too late and the optimizer may have done
something bad. Checking both operations is safer.

Second, `std::copy` and friends currently bypass bounded iterator
checks. I think the only hope we have to fix this is to key on `iter +
n` doing a check. See #78771 for further discussion. Note this PR is not
sufficient to fix this. It adds the output bounds check, but ends up
doing it after the `memmove`, which is too late.

Finally, doing these checks is actually *more* optimizable. See #78829,
which is fixed by this PR. Keeping the iterator always in bounds means
`operator*` can rely on some invariants and only needs to check `current
!= end`. This aligns better with common iterator patterns, which use
`!=` instead of `<`, so it's easier to delete checks with local
reasoning.

See https://godbolt.org/z/vEWrWEf8h for how this new `__bounded_iter`
impacts compiler output. The old `__bounded_iter` injected checks inside
the loops for all the `sum()` functions, which not only added a check
inside a loop, but also impeded Clang's vectorization. The new
`__bounded_iter` allows all the checks to be optimized out and we emit
the same code as if it wasn't here.

Not everything is ideal however. `add_and_deref` ends up emitting two
comparisons now instead of one. This is because a missed optimization in
Clang. I've filed #78875 for that. I suspect (with no data) that this PR
is still a net performance win because impeding ranged-for loops is
particularly egregious. But ideally we'd fix the optimizer and make
`add_and_deref` fine too.

There's also something funny going on with `std::ranges::find` which I
have not yet figured out yet, but I suspect there are some further
missed optimization opportunities.

Fixes #78829.

(CC @danakj)


  Commit: d02d8df0cd797342f7042440e07133e99ad5e0a2
      https://github.com/llvm/llvm-project/commit/d02d8df0cd797342f7042440e07133e99ad5e0a2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Implement _Complex negation

Factor complex unary operations into their own function.


  Commit: 71590e7d1ec29c3ba9f6f5b4cfe36345a7ccd25b
      https://github.com/llvm/llvm-project/commit/71590e7d1ec29c3ba9f6f5b4cfe36345a7ccd25b
  Author: Shengchen Kan <shengchen.kan at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    A llvm/test/MC/Disassembler/X86/apx/ctest.txt
    A llvm/test/MC/X86/apx/ctest-att.s
    A llvm/test/MC/X86/apx/ctest-intel.s

  Log Message:
  -----------
  [X86][test] Add missing enc/dec tests for CTEST

These tests were accidentally missed in #83863


  Commit: e89b4bcf32b8f6ddce9d7e95659e9f092a55c021
      https://github.com/llvm/llvm-project/commit/e89b4bcf32b8f6ddce9d7e95659e9f092a55c021
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86.td
    M llvm/test/CodeGen/X86/bypass-slow-division-tune.ll

  Log Message:
  -----------
  [X86] Remove SlowDivide tuning from GRTTuning (#84676)

The DIV32/64 throughput was improved since Goldmont in the Atom
architecture. The Alder Lake-E shows similar number too. So we shouldn't
add such tunings to Gracemont and later products.

Checked from Agner Fog's table and uops.info.


  Commit: f95710c76519c611868c16f92586b6d0baedad54
      https://github.com/llvm/llvm-project/commit/f95710c76519c611868c16f92586b6d0baedad54
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-03-11 (Mon, 11 Mar 2024)

  Changed paths:
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/lib/Evaluate/fold-implementation.h

  Log Message:
  -----------
  [flang] Fixed compiler build on glibc 2.17 systems after 3149c93. (#84873)


  Commit: 1d900e298449d43547312364751f730b7a0d07d1
      https://github.com/llvm/llvm-project/commit/1d900e298449d43547312364751f730b7a0d07d1
  Author: Dhruv Chawla (work) <dhruvc at nvidia.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/select-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-shufflevec-undef-mask-elt.mir
    M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
    M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
    M llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/arm64-dup.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/bswap.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/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/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/fsincos.ll
    M llvm/test/CodeGen/AArch64/fsqrt.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/llvm.exp10.ll
    M llvm/test/CodeGen/AArch64/load.ll
    M llvm/test/CodeGen/AArch64/sext.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    M llvm/test/CodeGen/AArch64/xtn.ll
    M llvm/test/CodeGen/AArch64/zext.ll

  Log Message:
  -----------
  [AArch64][GlobalISel] Avoid generating inserts for undefs when selecting G_BUILD_VECTOR (#84452)

It is safe to ignore undef values when selecting G_BUILD_VECTOR as undef
values choose random registers for copying values from.


  Commit: 1dd104db59d145d516a5e9cbb081ed01262961ef
      https://github.com/llvm/llvm-project/commit/1dd104db59d145d516a5e9cbb081ed01262961ef
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Implement _Complex Not unary operators

This only happens in C as far as I can tell. The complex varialbe
will have undergone a conversion to bool in C++ before reaching
the unary operator.


  Commit: 103469b5f7467d5df15799c2d8ad150729bc33bd
      https://github.com/llvm/llvm-project/commit/103469b5f7467d5df15799c2d8ad150729bc33bd
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [clang][Interp] Implement more easy _Complex unary operators


  Commit: 85f6669de59b2bb75c6848afa79de63be988721c
      https://github.com/llvm/llvm-project/commit/85f6669de59b2bb75c6848afa79de63be988721c
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    A flang/test/Lower/Intrinsics/sizeof.f90

  Log Message:
  -----------
  [flang] implement sizeof lowering for polymorphic entities (#84498)

For non polymorphic entities, semantics knows the type size and rewrite
sizeof to `"cst element size" * size(x)`.

Lowering has to deal with the polymorphic case where the type size must
be retrieved from the descriptor (note that the lowering implementation
would work with any entity, polymorphic on not, it is just not used for
the non polymorphic cases).


  Commit: 8e0f4b943fee13afc970ca8277a8e76b9da63b96
      https://github.com/llvm/llvm-project/commit/8e0f4b943fee13afc970ca8277a8e76b9da63b96
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/atomics-sm70.ll
    M llvm/test/CodeGen/NVPTX/atomics.ll

  Log Message:
  -----------
  [NVPTX] Add support for atomic add for f16 type (#84295)

atom.add.noftz.f16 is supported since SM 7.0


  Commit: 36dece001325bbf00129c48ddb3c83668b0ac36e
      https://github.com/llvm/llvm-project/commit/36dece001325bbf00129c48ddb3c83668b0ac36e
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/test/MC/AMDGPU/gfx10_asm_mubuf.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_mubuf.txt

  Log Message:
  -----------
  [AMDGPU] Add missing GFX10 buffer format d16 hi instructions (#84809)


  Commit: 6bbe8a296ee91754d423c59c35727eaa624f7140
      https://github.com/llvm/llvm-project/commit/6bbe8a296ee91754d423c59c35727eaa624f7140
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

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

This patch adds the thread ID to the subprocess memory shared memory
names. This avoids conflicts for downstream consumers that might want to
consume llvm-exegesis across multiple threads, which would otherwise run
into conflicts due to the same PID running multiple instances.


  Commit: aefad27096bba513f06162fac2763089578f3de4
      https://github.com/llvm/llvm-project/commit/aefad27096bba513f06162fac2763089578f3de4
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

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

This reverts commit 6bbe8a296ee91754d423c59c35727eaa624f7140.

This breaks building LLVM on macOS, failing with

    llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp:146:33: error: out-of-line definition of 'setupAuxiliaryMemoryInSubprocess' does not match any declaration in 'llvm::exegesis::SubprocessMemory'
    Expected<int> SubprocessMemory::setupAuxiliaryMemoryInSubprocess(


  Commit: b274b23665dec30f3ae4fb83ccca8b77e6d3ada3
      https://github.com/llvm/llvm-project/commit/b274b23665dec30f3ae4fb83ccca8b77e6d3ada3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/underlying-object-loop-varying-phi.ll

  Log Message:
  -----------
  [ValueTracking] Treat phi as underlying obj when not decomposing further (#84339)

At the moment, getUnderlyingObjects simply continues for phis that do
not refer to the same underlying object in loops, without adding them to
the list of underlying objects, effectively ignoring those phis.

Instead of ignoring those phis, add them to the list of underlying
objects. This fixes a miscompile where LoopAccessAnalysis fails to
identify a memory dependence, because no underlying objects can be found
for a set of memory accesses.

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

PR: https://github.com/llvm/llvm-project/pull/84339


  Commit: 939f038296e601abd9143955f1b347aee1e99c06
      https://github.com/llvm/llvm-project/commit/939f038296e601abd9143955f1b347aee1e99c06
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/test/HLFIR/element-addr.fir
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90

  Log Message:
  -----------
  [flang] lower vector subscripted polymorphic designators (#84778)

A mold argument need to be added to the hlfir.element_addr and set in
lowering so that when the hlfir.element_addr need to be turned into an
hlfir.elemental operation because the designator must be turned into a
value, the mold can be set on the hlfir.elemental to later allocate the
temporary according the the dynamic type.

This situation happens whenever the vector subscripted polymorphic
designator does not appear as an assignment left-hand side, or as an
IO-input item.


I initially thought retrieving the mold would be tricky if the dynamic
type of the designator was set by a part-ref of the right of the vector
subscripts ("array(vector)%polymorphic_comp"), but this turned out to be
impossible because:
1. A derived type component can be polymorphic only if it has the
POINTER or ALLOCATABLE attribute (F2023 C708).
2. Vector-subscripted part are ranked and F2023 C919 prohibits any
part-ref on the right of the rank part to have the POINTER or
ALLOCATABLE attribute.

=> If a vector subscripted designator is polymorphic, the vector
subscripted part is the rightmost part, and the mold is the base of the
vector subscripted part. This makes the retrieval of the mold easy in
lowering. The mold argument is always set to be the base of the vector
subscripted part when lowering the vector subscripted part, and it is
removed at the end of the designator lowering if the designator is not
polymorphic. This way there is no need to find back the mold from the
inside of the hlfir.element_addr body.


  Commit: 9d16e79aac09e68c46b89cbbad9fe7edd915b8c3
      https://github.com/llvm/llvm-project/commit/9d16e79aac09e68c46b89cbbad9fe7edd915b8c3
  Author: Dani <daniel.kiss at arm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M compiler-rt/cmake/builtin-config-ix.cmake

  Log Message:
  -----------
  [AArch64] Fix COMPILER_RT_HAS_AUXV for builtins. (#84816)

COMPILER_RT_HAS_AUXV is used now in builtins so the test need to be in
the builtin-config-ix.cmake too.


  Commit: 368db5683bb9f8c619a8a6d3d15522429ef615c6
      https://github.com/llvm/llvm-project/commit/368db5683bb9f8c619a8a6d3d15522429ef615c6
  Author: Luke Weiler <163067703+lwmaia at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [lldb] Fix build break on windows (#84863)

This is a one line fix for a Windows specific (I believe) build break.

The build failure looks like this:
`D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): error C2440:
'<function-style-cast>': cannot convert from 'lldb_private::ConstString'
to 'llvm::StringRef'
D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): note:
'llvm::StringRef::StringRef': ambiguous call to overloaded function
D:\a\_work\1\s\llvm\include\llvm/ADT/StringRef.h(840): note: could be
'llvm::StringRef::StringRef(llvm::StringRef &&)'
D:\a\_work\1\s\llvm\include\llvm/ADT/StringRef.h(104): note: or
'llvm::StringRef::StringRef(std::string_view)'
D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): note: while trying to
match the argument list '(lldb_private::ConstString)'
D:\a\_work\1\s\lldb\source\Symbol\Symtab.cpp(128): error C2672:
'std::multimap<llvm::StringRef,const lldb_private::Symbol
*,std::less<llvm::StringRef>,std::allocator<std::pair<const
llvm::StringRef,const lldb_private::Symbol *>>>::emplace': no matching
overloaded function found
C:\Program Files\Microsoft Visual
Studio\2022\Enterprise\VC\Tools\MSVC\14.37.32822\include\map(557): note:
could be
'std::_Tree_iterator<std::_Tree_val<std::_Tree_simple_types<std::pair<const
llvm::StringRef,const lldb_private::Symbol *>>>>
std::multimap<llvm::StringRef,const lldb_private::Symbol
*,std::less<llvm::StringRef>,std::allocator<std::pair<const
llvm::StringRef,const lldb_private::Symbol *>>>::emplace(_Valty &&...)'
`

The StringRef constructor here is intended to take a ConstString object,
which I assume is implicitly converted to a std::string_view by
compilers other than Visual Studio's. To fix the VS build I made the
StringRef initialization more explicit, as you can see in the diff.


  Commit: a3b52509d522442915a51d8aabcec1df49e95b23
      https://github.com/llvm/llvm-project/commit/a3b52509d522442915a51d8aabcec1df49e95b23
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/test/Transforms/InstCombine/icmp-range.ll

  Log Message:
  -----------
  [InstSimpliy] Use range attribute to simplify comparisons (#84627)

Use the new range attribute from https://github.com/llvm/llvm-project/pull/84617
to simplify comparisons where both sides have range information.


  Commit: bba4a1daff6ee09941f1369a4e56b4af95efdc5c
      https://github.com/llvm/llvm-project/commit/bba4a1daff6ee09941f1369a4e56b4af95efdc5c
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/test/Transforms/ArgumentPromotion/aliasing-and-non-aliasing-loads-with-clobber.ll

  Log Message:
  -----------
  [ArgPromotion] Remove incorrect TranspBlocks set for loads. (#84835)

The TranspBlocks set was used to cache aliasing decision for all
processed loads in the parent loop. This is incorrect, because each load
can access a different location, which means one load not being modified
in a block doesn't translate to another load not being modified in the
same block.

All loads access the same underlying object, so we could perhaps use a
location without size for all loads and retain the cache, but that would
mean we loose precision.

For now, just drop the cache.

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

PR: https://github.com/llvm/llvm-project/pull/84835


  Commit: 9228859c2a5aed307dc61edb4cfd6bee7b4c5949
      https://github.com/llvm/llvm-project/commit/9228859c2a5aed307dc61edb4cfd6bee7b4c5949
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/cmake/modules/TableGen.cmake
    M llvm/docs/CMake.rst
    M llvm/docs/GettingStarted.rst

  Log Message:
  -----------
  [CMake] Add tablegen job pool support (#84762)

Add the ability to set the number of tablegen jobs that can run in
parallel
similar to the LLVM_PARALLEL_[COMPILE|LINK]_JOBS options that already
exist.


  Commit: ce1fd9281707c2163728085d126ff83041e1db51
      https://github.com/llvm/llvm-project/commit/ce1fd9281707c2163728085d126ff83041e1db51
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py

  Log Message:
  -----------
  Update test past bdbad0d07bb600301cb324e87a6be37ca4af591a (#84889)


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

  Changed paths:
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp

  Log Message:
  -----------
  [RemoveDIs] Update DIBuilder to conditionally insert DbgRecords (#84739)

Have DIBuilder conditionally insert either debug intrinsics or DbgRecord
depending on the module's IsNewDbgInfoFormat flag. The insertion methods
now return a `DbgInstPtr` (a `PointerUnion<Instruction *, DbgRecord
*>`).

Add a unittest for both modes (I couldn't find an existing test testing
insertion behaviours specifically).

This patch changes the existing assumption that DbgRecords are only ever
inserted if there's an instruction to insert-before because clang
currently inserts debug intrinsics while CodeGening (like any other
instruction) meaning it'll try inserting to the end of a block without a
terminator. We already have machinery in place to maintain the
DbgRecords when a terminator is removed - these become "trailing
DbgRecords" which are re-attached when a new instruction is inserted.
All I've done is allow this state to occur while inserting DbgRecords
too, i.e., it's not only removing terminators that causes this valid
transient state, but inserting DbgRecords into incomplete blocks too.

The C API will be updated in follow up patches.

---

Note: this doesn't mean clang is emitting DbgRecords yet, because the
modules it creates are still always in the old debug mode. That will
come in a future patch.


  Commit: 19266ca389e3fc3bce9d24c074b836d6e69873ce
      https://github.com/llvm/llvm-project/commit/19266ca389e3fc3bce9d24c074b836d6e69873ce
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Target/Cpp/conditional.mlir

  Log Message:
  -----------
  [mlir][EmitC] Add an `emitc.conditional` operator (#84883)

This adds an `emitc.conditional` operation for the ternary conditional
operator. Furthermore, this adds a converion from `arith.select` to the
new op.


  Commit: 23ffb2bdb96cf5a8eebce86b1ab21acf88979661
      https://github.com/llvm/llvm-project/commit/23ffb2bdb96cf5a8eebce86b1ab21acf88979661
  Author: Dave Abrahams <dabrahams at adobe.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cmake/Modules/CMakePolicy.cmake

  Log Message:
  -----------
  [CMake] Enable new policy for CMAKE_MSVC_DEBUG_INFORMATION_FORMAT (#82371)


  Commit: 5a100551d5652da586800c67edd4ccb3b18b10dc
      https://github.com/llvm/llvm-project/commit/5a100551d5652da586800c67edd4ccb3b18b10dc
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/test/Transforms/InstCombine/exp2-1.ll

  Log Message:
  -----------
  [Analysis] Treat ldexpf() as missing on MinGW (#84748)

The function does exist, but it is a plain wrapper over regular ldexp(),
so there's no benefit in calling it over regular ldexp(). Therefore,
treat it as missing.

This fixes builds of Wine for aarch64 with Clang in mingw mode, which
regressed recently in 8d976c7f20fe8d92fe6f54af411594e15fac25ae. That
commit unlocked transforming calls to ldexp into ldexpf, for some
codepaths within Wine. Wine can use compilers in mingw mode without
the regular mingw runtime libraries, which caused this to fail.
(However, if the transformation to use ldexpf() would have made sense,
the right fix would have been for Wine to provide a similar
ldexpf->ldexp wrapper just like mingw does.)


  Commit: 1b945e35a6a59fda436585f8fca12c82a27fc6a9
      https://github.com/llvm/llvm-project/commit/1b945e35a6a59fda436585f8fca12c82a27fc6a9
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cmake/Modules/CMakePolicy.cmake

  Log Message:
  -----------
  [CMake] Fix a typo in 23ffb2bdb96cf5a8eebce86b1ab21acf88979661


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

  Changed paths:
    M llvm/include/llvm/ADT/APInt.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [ADT] Add APIntOps::abds signed absolute difference and rename absdiff -> abdu (#84791)

When I created APIntOps::absdiff, I totally missed that we already have ISD::ABDS/ABDU nodes, and we use this term in other places/targets as well.

I've added the APIntOps::abds implementation and renamed APIntOps::absdiff to APIntOps::abdu.

Given that APIntOps::absdiff is so young I don't think we need to create a deprecation wrapper, but I can if anyone thinks it important.

I'll do a KnownBits rename patch after this.


  Commit: a7ef83f005beeb3b1c7f34d44167b5abc5b6c4e5
      https://github.com/llvm/llvm-project/commit/a7ef83f005beeb3b1c7f34d44167b5abc5b6c4e5
  Author: Dani <daniel.kiss at arm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M compiler-rt/lib/builtins/aarch64/sme-abi.S

  Log Message:
  -----------
  [AArch64][SME] Add BTI and No Exec Stack markers to sme-abi.S (#84895)

Adding BTI landing pads compiler-rt is built with -mbranch-protectoin.
Tabulators are changed to 2 spaces for consistency.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaOverload.cpp
    A clang/test/SemaCXX/overload-bitint.cpp

  Log Message:
  -----------
  Add bit-precise overloads for builtin operators  (#84755)

We previously were not adding them to the candidate set and so use of a
bit-precise integer as a class member could lead to ambiguous overload
sets.

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


  Commit: 4e3310a81391fbc283d263715a68d8732e73d01d
      https://github.com/llvm/llvm-project/commit/4e3310a81391fbc283d263715a68d8732e73d01d
  Author: mikaoP <raul.penacoba at bsc.es>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/metadirective_device_arch_codegen.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp

  Log Message:
  -----------
  [clang] Fix OMPT ident flag in combined distribute parallel for pragma (#80987)

Authored-by: Raúl Peñacoba Veigas <rpenacob at bsc.es>


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

  Changed paths:
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp

  Log Message:
  -----------
  [Support] Add KnownBits::abds signed absolute difference and rename absdiff -> abdu (#84897)

When I created KnownBits::absdiff, I totally missed that we already have ISD::ABDS/ABDU nodes, and we use this term in other places/targets as well.

I've added the KnownBits::abds implementation and renamed KnownBits::absdiff to KnownBits::abdu.

Followup to #84791


  Commit: b5a16b6d8ad51df7c14cd696f3dc1f98b6984905
      https://github.com/llvm/llvm-project/commit/b5a16b6d8ad51df7c14cd696f3dc1f98b6984905
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    A clang/test/OpenMP/attr-assume.cpp

  Log Message:
  -----------
  [Clang] [Parser] Support [[omp::assume]] (#84582)

This pr implements the `[[omp::assume]]` spelling for the `__attribute__((assume))` attribute. It does not change anything about how that attribute is handled by the rest of Clang.


  Commit: 80ab8234ac309418637488b97e0a62d8377b2ecf
      https://github.com/llvm/llvm-project/commit/80ab8234ac309418637488b97e0a62d8377b2ecf
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    A clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn

  Log Message:
  -----------
  [analyzer] Accept C library functions from the `std` namespace (#84469)

Previously, the function `isCLibraryFunction()` and logic relying on it
only accepted functions that are declared directly within a TU (i.e. not
in a namespace or a class). However C++ headers like <cstdlib> declare
many C standard library functions within the namespace `std`, so this
commit ensures that functions within the namespace `std` are also
accepted.

After this commit it will be possible to match functions like `malloc`
or `free` with `CallDescription::Mode::CLibrary`.

---------

Co-authored-by: Balazs Benics <benicsbalazs at gmail.com>


  Commit: 0b2c24e0b33236c1dec39fe8b007b4c6aeb170b3
      https://github.com/llvm/llvm-project/commit/0b2c24e0b33236c1dec39fe8b007b4c6aeb170b3
  Author: Zahira Ammarguellat <zahira.ammarguellat at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/range.c

  Log Message:
  -----------
  Fix warning message when using negative complex range options. (#84567)

When `-fcx-no-limited-range` or` -fno-cx-fortran-rules` follows another
complex range option on the command line, it will trigger a warning with
empty message.
`warning: overriding '-fcx-fortran-rules' option with ''
[-Woverriding-option]`
or
`warning: overriding '-fcx-limited-range' option with ''
[-Woverriding-option]`
This patch fixes that.


  Commit: 629afd4dea1860755b4b7c05bb48538b8710c9d1
      https://github.com/llvm/llvm-project/commit/629afd4dea1860755b4b7c05bb48538b8710c9d1
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [flang][Lower] Fix use-after-free with TypeRange (#84369)

TypeRange is an iterator range, it does not own storage spanned by the
iterators. When using TypeRange, make sure that the actual contents
don't "expire" while the range is in use.

This was detected by address sanitizer.


  Commit: c7f1a987a66a1ba0865ecc18adbe4dc8dbc0c788
      https://github.com/llvm/llvm-project/commit/c7f1a987a66a1ba0865ecc18adbe4dc8dbc0c788
  Author: Sven van Haastregt <sven.vanhaastregt at arm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [OpenCL] Elaborate about BIenqueue_kernel expansion; NFC


  Commit: 871086bf7fad42d610bfe02224662bdc71494a70
      https://github.com/llvm/llvm-project/commit/871086bf7fad42d610bfe02224662bdc71494a70
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M flang/include/flang/Parser/char-block.h
    M flang/runtime/buffer.h
    M flang/runtime/temporary-stack.cpp

  Log Message:
  -----------
  [flang] Avoid passing null pointers to nonnull parameters (#84785)

Certain functions in glibc have "nonnull" attributes on pointer
parameters (even in cases where passing a null pointer should be handled
correctly). There are a few cases of such calls in flang: memcmp and
memcpy with the length parameter set to 0.

Avoid passing a null pointer to these functions, since the conflict with
the nonnull attribute could cause an undefined behavior.

This was detected by the undefined behavior sanitizer.


  Commit: bde7a6b791872b63456cb4e50e63046728a65196
      https://github.com/llvm/llvm-project/commit/bde7a6b791872b63456cb4e50e63046728a65196
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  [clang-repl] Expose CreateExecutor() and ResetExecutor() in extended Interpreter interface (#84460)

IncrementalExecutor is an implementation detail of the Interpreter. In
order to test extended features properly, we must be able to setup and
tear down the executor manually.


  Commit: ee137e234cb70e24dbfd8903904c5d5eceda3fb0
      https://github.com/llvm/llvm-project/commit/ee137e234cb70e24dbfd8903904c5d5eceda3fb0
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  Update BUILD.bazel for 80ab8234ac309418637488b97e0a62d8377b2ecf (#84908)


  Commit: f03aaa3c0cca77c15adfbb4544f296bc0441f6fc
      https://github.com/llvm/llvm-project/commit/f03aaa3c0cca77c15adfbb4544f296bc0441f6fc
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [clang] Silence -Wlogical-op-parentheses in Clang.cpp (NFC)

llvm-project/clang/lib/Driver/ToolChains/Clang.cpp:2721:49:
error: '&&' within '||' [-Werror,-Wlogical-op-parentheses]
        !Option.empty() && !NegateFortranOption && !NegateLimitedOption)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
llvm-project/clang/lib/Driver/ToolChains/Clang.cpp:2721:49:
note: place parentheses around the '&&' expression to silence this warning
        !Option.empty() && !NegateFortranOption && !NegateLimitedOption)
                                                ^
        (                                                              )
1 error generated.


  Commit: d96d917f38ab111adf7b1d24616a939e75141a89
      https://github.com/llvm/llvm-project/commit/d96d917f38ab111adf7b1d24616a939e75141a89
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-lifetime-ends.ll

  Log Message:
  -----------
  [Matrix] Add tests showing mis-compile with lifetime.end and fusion.

Add a set of tests showing miscompiles due to multiply fusion
introducing loads to dead objects after lifetime.end.


  Commit: ffd31c5e92da9da37cf57ca653e22db38b5af9a3
      https://github.com/llvm/llvm-project/commit/ffd31c5e92da9da37cf57ca653e22db38b5af9a3
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/unittests/Interpreter/CMakeLists.txt

  Log Message:
  -----------
  Fix build after #84460: link LLVMTestingSupport explicitly in clang unittest

This is supposed to fix the DYLIB-enabled build, i.e. https://lab.llvm.org/buildbot/#/builders/196


  Commit: 9f7ed36f92c304050d401f00b013186de15130e8
      https://github.com/llvm/llvm-project/commit/9f7ed36f92c304050d401f00b013186de15130e8
  Author: Jonas Paulsson <paulson1 at linux.ibm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/CodeGen/CGAtomic.cpp
    A clang/test/CodeGen/SystemZ/atomic_fp_load_store.c
    M clang/test/CodeGen/atomic.c
    M clang/test/CodeGen/c11atomics-ios.c
    M clang/test/OpenMP/atomic_read_codegen.c
    M clang/test/OpenMP/atomic_write_codegen.c

  Log Message:
  -----------
  Don't do casting of atomic FP loads/stores in FE. (#83446)

The casting of FP atomic loads and stores were always done by the
front-end, even though the AtomicExpandPass will do it if the target
requests it (which is the default).

This patch removes this casting in the front-end entirely.


  Commit: afd47587039e5a93919eb962cfe3a230cc91c504
      https://github.com/llvm/llvm-project/commit/afd47587039e5a93919eb962cfe3a230cc91c504
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    R llvm/test/CodeGen/NVPTX/atomics-sm70.ll
    M llvm/test/CodeGen/NVPTX/atomics.ll

  Log Message:
  -----------
  Revert "[NVPTX] Add support for atomic add for f16 type" (#84918)

Reverts llvm/llvm-project#84295 due to breakages.


  Commit: f8fab2126ffab713f4ab4619360b6941be6d4e35
      https://github.com/llvm/llvm-project/commit/f8fab2126ffab713f4ab4619360b6941be6d4e35
  Author: Kupa-Martin <84517188+Kupa-Martin at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/AST/Expr.cpp
    A clang/test/Sema/enum-constant-type.cpp
    M clang/test/Sema/warn-compare-enum-types-mismatch.c

  Log Message:
  -----------
  [Clang][Sema] Fix type of enumerators in incomplete enumerations (#84068)

Enumerators dont have the type of their enumeration before the closing
brace. In these cases Expr::getEnumCoercedType() incorrectly returned
the enumeration type.

Introduced in PR #81418
Fixes #84712


  Commit: a4aac22683a44264bb3883242b1c6b711f534e8b
      https://github.com/llvm/llvm-project/commit/a4aac22683a44264bb3883242b1c6b711f534e8b
  Author: harishch4 <harishcse44 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    A flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
    A flang/test/Lower/OpenMP/threadprivate-host-association.f90

  Log Message:
  -----------
  [Flang][OpenMp] Fix to threadprivate not working with host-association. (#74966)

This patch considers host-associated variables to generate threadprivate
Ops.

Fixes: #60763 #84561


  Commit: a3ad5faa321848376b277db369313c80d3df2152
      https://github.com/llvm/llvm-project/commit/a3ad5faa321848376b277db369313c80d3df2152
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/loops-with-indirect-reads-and-writes.ll
    M llvm/test/Analysis/LoopAccessAnalysis/underlying-object-loop-varying-phi.ll

  Log Message:
  -----------
  [LAA] Fix typo IndidrectUnsafe -> IndirectUnsafe.

Fix type in textual analysis output.


  Commit: 2cae13d60590c999c37828d709ff4ba58e5f261b
      https://github.com/llvm/llvm-project/commit/2cae13d60590c999c37828d709ff4ba58e5f261b
  Author: bvlgah <octopus.busts_0w at icloud.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/DominanceFrontier.h

  Log Message:
  -----------
  [DominanceFrontierBase] Fix doc of compare()'s  return value. (#81352)

This is a trivial fix ( I guess it has not been noticed because of no
use). Currently, the doc says the function returns `true` if two
instances of `DominanceFrontierBase` matches, otherwise `false` is
returned. I have checked the implementation


https://github.com/llvm/llvm-project/blob/9308d6688c673606fee1625d777a52539ae72015/llvm/include/llvm/Analysis/DominanceFrontierImpl.h#L71-L94

which examines whether two dominance frontier mappings are equal, and
the actual value it returns contradicts the description in the doc.


  Commit: 0aefd702f6c5346f216d29c704c4d0e4ec7397ac
      https://github.com/llvm/llvm-project/commit/0aefd702f6c5346f216d29c704c4d0e4ec7397ac
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang/unittests/Interpreter/BUILD.gn

  Log Message:
  -----------
  [gn] port bde7a6b791872b


  Commit: 15f3f446c504d1bb85282fb3bd98db6eab69829d
      https://github.com/llvm/llvm-project/commit/15f3f446c504d1bb85282fb3bd98db6eab69829d
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/ADCE.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/ValueTest.cpp
    M llvm/unittests/Transforms/Utils/DebugifyTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp

  Log Message:
  -----------
  [RemoveDIs][NFC] Rename common interface functions for DPValues->DbgRecords (#84793)

As part of the effort to rename the DbgRecord classes, this patch
renames the widely-used functions that operate on DbgRecords but refer
to DbgValues or DPValues in their names to refer to DbgRecords instead;
all such functions are defined in one of `BasicBlock.h`,
`Instruction.h`, and `DebugProgramInstruction.h`.

This patch explicitly does not change the names of any comments or
variables, except for where they use the exact name of one of the
renamed functions. The reason for this is reviewability; this patch can
be trivially examined to determine that the only changes are direct
string substitutions and any results from clang-format responding to the
changed line lengths. Future patches will cover renaming variables and
comments, and then renaming the classes themselves.


  Commit: 0fe271c35368a9190661bcca87101fc0916d6a8b
      https://github.com/llvm/llvm-project/commit/0fe271c35368a9190661bcca87101fc0916d6a8b
  Author: Fanbo Meng <fanbo.meng at ibm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [SystemZ][z/OS] Add missing include header to AutoConvert.cpp to fix build (#84909)

ba13fa2a5d57581bff1a7e9322234af30f4882f6
added usages of `errnoAsErrorCode()` to AutoConvert.cpp, need to include
Error.h header to fix build failure.


  Commit: f32b04d4ea91ad1018c25a1d4178cc4392d34968
      https://github.com/llvm/llvm-project/commit/f32b04d4ea91ad1018c25a1d4178cc4392d34968
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h
    M clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
    M clang/unittests/StaticAnalyzer/CMakeLists.txt
    R clang/unittests/StaticAnalyzer/IsCLibraryFunctionTest.cpp
    M llvm/utils/gn/secondary/clang/unittests/StaticAnalyzer/BUILD.gn

  Log Message:
  -----------
  Revert "[analyzer] Accept C library functions from the `std` namespace" (#84926)

Reverts llvm/llvm-project#84469 because it causes buildbot failures.
I'll examine them and re-submit the change.


  Commit: 083da46ff07170471f8bb9ed2947f6ebc725670b
      https://github.com/llvm/llvm-project/commit/083da46ff07170471f8bb9ed2947f6ebc725670b
  Author: Ben Langmuir <blangmuir at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    A clang/test/ClangScanDeps/working-directory-option.c

  Log Message:
  -----------
  [clang][deps] Fix dependency scanning with -working-directory (#84525)

Stop overriding -working-directory to CWD during argument parsing, which
should no longer necessary after we set the VFS working directory, and
set FSOpts correctly after parsing arguments so that working-directory
behaves correctly.


  Commit: 3238b92142c8fb70a1b2c72ee06bb47d57229dc9
      https://github.com/llvm/llvm-project/commit/3238b92142c8fb70a1b2c72ee06bb47d57229dc9
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [LoopSimplifyCFG] Drop no longer needed DependenceAnalysis.h include


  Commit: 4d0f79e346ceb0ddb25a94053c612a5b34a72100
      https://github.com/llvm/llvm-project/commit/4d0f79e346ceb0ddb25a94053c612a5b34a72100
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/freeze-binary.ll

  Log Message:
  -----------
  Pre commit test cases SRL/SRA support in canCreateUndefOrPoison. NFC

Add test cases to show that we can't push freeze through SRA/SRL with
'exact' flag when there are multiple uses.


  Commit: beba307c5bc206168bdea3b893e02ea31579fe62
      https://github.com/llvm/llvm-project/commit/beba307c5bc206168bdea3b893e02ea31579fe62
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    A llvm/test/Transforms/LoopStrengthReduce/pr84709.ll

  Log Message:
  -----------
  [LSR] Clear SCEVExpander before deleting phi nodes

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


  Commit: 08dd645c15a091a53313e278d8f3c090e7c385d1
      https://github.com/llvm/llvm-project/commit/08dd645c15a091a53313e278d8f3c090e7c385d1
  Author: Nemanja Ivanovic <nemanja.i.ibm at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll

  Log Message:
  -----------
  [RISC-V] Bad immediate value for Zcmp instructions with E extension (#84925)

When we are using the Zcmp extension together with the E extension in
32-bit mode and we need to spill both callee-saved registers as well as
needing a couple of 32-bit stack slots, we emit a meaningless stack
adjustment with cm.push/cm.popret. Furthermore this leads to the stack
slot for the ra being clobbered so control returns to a random location.

This is just a pre-commit test so that the PR for the fix shows the
difference in code generation.


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

  Changed paths:
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/integer_to_string_test.cpp

  Log Message:
  -----------
  [libc] fix another build failure from using limits.h (#84827)

My GCC build is failing with issues similar why we added our own. Looks
like
we missed one spot. See also:

commit 72ce62941579 ("[libc] Add C23 limits.h header. (#78887)")


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

  Changed paths:
    M libc/docs/c23.rst
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/test/include/stdbit_test.cpp

  Log Message:
  -----------
  [libc] implement the final macros for stdbit.h support (#84798)


Relevant sections of n3096:
- 7.18.1p1
- 7.18.2


  Commit: 9f69d3cf88905df5006f93dce536b7e73c0b1735
      https://github.com/llvm/llvm-project/commit/9f69d3cf88905df5006f93dce536b7e73c0b1735
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M openmp/libomptarget/DeviceRTL/src/Mapping.cpp

  Log Message:
  -----------
  [Libomptarget] Use NVPTX lane id intrinsic in DeviceRTL (#84928)

Summary:
We are currently taking the lower 5 bites of the thread ID as the warp
ID. This doesn't work in non-1D grids and is also slower than just using
the dedicated hardware register.


  Commit: 392436383a52bc5e188bd28bec5bc71b3cb5384a
      https://github.com/llvm/llvm-project/commit/392436383a52bc5e188bd28bec5bc71b3cb5384a
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc] fix typo in stdbit.h macro spec files (#84780)


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

  Changed paths:
    M libc/src/__support/GPU/nvptx/utils.h

  Log Message:
  -----------
  [libc] Fix lane-id utility function not using built-in (#84902)

Summary:
Previously we got the lane-id from taking the global thread ID and
taking off the bottom 5 bits. This works but is inefficient compared to
the NVPTX intrinsic simply dedicated to get this value.


  Commit: 261e5648e70b363aecf86acfcd7fb416eb48fb7b
      https://github.com/llvm/llvm-project/commit/261e5648e70b363aecf86acfcd7fb416eb48fb7b
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-03-12 (Tue, 12 Mar 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/GPU/utils.h
    M libc/test/integration/src/__support/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/scan_reduce.cpp

  Log Message:
  -----------
  [libc] Add utility functions for warp-level scan and reduction (#84866)

Summary:
The GPU uses a SIMT execution model. That means that each value actually
belongs to a group of 32 or 64 other lanes executing next to it. These
platforms offer some intrinsic fuctions to actually take elements from
neighboring lanes. With these we can do parallel scans or reductions.
These functions do not have an immediate user, but will be used in the
allocator interface that is in-progress and are generally good to have.
This patch is a precommit for these new utilitly functions.


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

  Changed paths:
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/bit.h
    M libc/src/__support/math_extras.h
    M libc/src/stdbit/CMakeLists.txt
    M libc/src/stdbit/stdc_count_zeros_uc.cpp
    M libc/src/stdbit/stdc_count_zeros_ui.cpp
    M libc/src/stdbit/stdc_count_zeros_ul.cpp
    M libc/src/stdbit/stdc_count_zeros_ull.cpp
    M libc/src/stdbit/stdc_count_zeros_us.cpp
    M libc/src/stdbit/stdc_first_leading_one_uc.cpp
    M libc/src/stdbit/stdc_first_leading_one_ui.cpp
    M libc/src/stdbit/stdc_first_leading_one_ul.cpp
    M libc/src/stdbit/stdc_first_leading_one_ull.cpp
    M libc/src/stdbit/stdc_first_leading_one_us.cpp
    M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    M libc/src/stdbit/stdc_first_leading_zero_us.cpp
    M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_one_us.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/math_extras_test.cpp

  Log Message:
  -----------
  [libc] move non <bit> functions to math_extras (#84818)

As per TODOs added in

https://github.com/llvm/llvm-project/pull/84035/commits/48b0bc837085a38ff1de33010d9222363f70238f.


  Commit: 87dc068280aaddc98acb7865ae3df1d248f4a170
      https://github.com/llvm/llvm-project/commit/87dc068280aaddc98acb7865ae3df1d248f4a170
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/tools/debugserver/source/RNBSocket.cpp

  Log Message:
  -----------
  [lldb] [debugserver] Handle interrupted reads correctly (#84872)

The first half of this patch is a long-standing annoyance, if I attach
to debugserver with lldb while it is waiting for an lldb connection, the
syscall is interrupted and it doesn't retry, debugserver exits
immediately.

The second half is a request from another tool that is communicating
with debugserver, that we retry reads on our sockets in the same way. I
haven't dug in to the details of how they're communicating that this is
necessary, but the best I've been able to find reading the POSIX API
docs, this is fine.

rdar://117113298


  Commit: fa1d13590cfd0be77c452cca929bc32efb456627
      https://github.com/llvm/llvm-project/commit/fa1d13590cfd0be77c452cca929bc32efb456627
  Author: Jake Egan <jake.egan at ibm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/lds-run-twice-absolute-md.ll
    M llvm/test/CodeGen/AMDGPU/lds-run-twice.ll

  Log Message:
  -----------
  [AIX][tests] Disable failing tests on AIX

These new tests are failing on the AIX bot because the -I option isn't supported.

Disable these tests for now until they can be fixed.


  Commit: 65eea3e5dc907c3059c57ab4d16770522c5b9fb0
      https://github.com/llvm/llvm-project/commit/65eea3e5dc907c3059c57ab4d16770522c5b9fb0
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libcxx/src/tzdb.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp

  Log Message:
  -----------
  [libc++][TZDB] Fixes parsing interleaved rules. (#84808)

Typically the rules in the database are contiguous, but that is not a
requirement. This fixes the case when they are not.

---------

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


  Commit: af21659c8c5c1d16b9bc5e745aaaf49b322f64d7
      https://github.com/llvm/llvm-project/commit/af21659c8c5c1d16b9bc5e745aaaf49b322f64d7
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libcxx/utils/ci/Dockerfile

  Log Message:
  -----------
  [libc++][CI] Installs tzdata package in Docker. (#84643)

This allows testing the time zone information in the CI. This is needed
to let https://github.com/llvm/llvm-project/pull/82108 pass the CI.


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

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp

  Log Message:
  -----------
  [clang][ASTMatchers] Fix forEachArgumentWithParam* for deducing "this" operator calls (#84887)

This is a follow-up commit of #84446.
In this patch, I demonstrate that `forEachArgumentWithParam` and
`forEachArgumentWithParamType` did not correctly handle the presence of
the explicit object parameter for operator calls.

Prior to this patch, the matcher would skip the first (and only)
argument of the operator call if the explicit object param was used.

Note that I had to move the definition of
`isExplicitObjectMemberFunction`, to be declared before the matcher I
fix to be visible.

I also had to do some gymnastics for passing the language standard
version command-line flags to the invocation as
`matchAndVerifyResultTrue` wasn't really considered for non-c++11 code.
See the that it always prepends `-std=gnu++11` to the command-line
arguments. I workarounded it by accepting extra args, which get
appended, thus possibly overriding the hardcoded arguments.

I'm not sure if this qualifies for backporting to clang-18 (probably not
because its not a crash, but a semantic problem), but I figure it might
be useful for some vendors (like us).
But we are also happy to cherry-pick this fix to downstream. Let me know
if you want this to be backported or not.

CPP-5074


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

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

  Log Message:
  -----------
  [SelectionDAG] Replace some basic patterns in visitADDLike with SDPatternMatch (#84759)

Resolves #84745.

Based on SDPatternMatch introduced by #78654, this patch replaces some
of basic patterns in `visitADDLike` with corresponding patterns in
SDPatternMatch.

This patch only replaces original folds, instead of introducing new ones.


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

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir

  Log Message:
  -----------
  AMDGPU: Add some more mfma hazard recognizer tests (#84727)


  Commit: e09761944cea4aeafadd055b9510ef9f0e9a7338
      https://github.com/llvm/llvm-project/commit/e09761944cea4aeafadd055b9510ef9f0e9a7338
  Author: Mark de Wever <koraq at xs4all.nl>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M libcxx/include/ios
    M libcxx/src/ios.cpp
    A libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp

  Log Message:
  -----------
  [libc++] Improves UB handling in ios_base destructor. (#76525)

Destroying an ios_base object before it is properly initialized is
undefined behavior. Unlike typical C++ classes the initialization is not
done in the constructor, but in a dedicated init function. Due to
virtual inheritance of the basic_ios object in ostream and friends this
undefined behaviour can be triggered when inheriting from classes that
can throw in their constructor and inheriting from ostream.

Use the __loc_ member of ios_base as sentinel to detect whether the
object has or has not been initialized.

Addresses https://github.com/llvm/llvm-project/issues/57964


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

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

  Log Message:
  -----------
  [X86] combineVectorPack - use APInt::truncSSat for PACKSS constant folding. NFC.

Unfortunately PACKUS can't use APInt::truncUSat


  Commit: 7bee91fadf8db90f71b458aaff4de0efa7dc23a0
      https://github.com/llvm/llvm-project/commit/7bee91fadf8db90f71b458aaff4de0efa7dc23a0
  Author: Diego A. Estrada Rivera <diego.estrada1 at proton.me>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp

  Log Message:
  -----------
  [analyzer][NFC] Turn NodeBuilderContext into a class (#84638)

>From issue #73088. I changed `NodeBuilderContext` into a class.
Additionally, there were some other mentions of the former being a
struct which I also changed into a class. This is my first time working
with an issue so I will be open to hearing any advice or changes that
need to be done.


  Commit: 93503aafcdc66837ecf220243aaa530c05c35895
      https://github.com/llvm/llvm-project/commit/93503aafcdc66837ecf220243aaa530c05c35895
  Author: Hiroshi Yamauchi <56735936+hjyamauchi at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/include/lldb/Utility/ConstString.h
    M lldb/source/Core/Mangled.cpp
    M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp

  Log Message:
  -----------
  Fix MSVC build issues (#84362)

MSVC fails when there is ambiguity (multiple options) around implicit
type conversion operators.

Make ConstString's conversion operator to string_view explicit to avoid
ambiguity with one to StringRef and remove an unused local variable that
MSVC also fails on.


  Commit: c4e517f59c086eafe2eb61d23197820f05be799c
      https://github.com/llvm/llvm-project/commit/c4e517f59c086eafe2eb61d23197820f05be799c
  Author: Jun Wang <jwang86 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/Sema/Sema.h
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
    M clang/test/CodeGenOpenCL/amdgpu-attrs.cl
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/SemaCUDA/amdgpu-attrs.cu
    M llvm/docs/AMDGPUUsage.rst
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    A llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-workgroups.ll
    A llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-workgroups_error_check.ll

  Log Message:
  -----------
  [AMDGPU] Adding the amdgpu_num_work_groups function attribute (#79035)

A new function attribute named amdgpu_num_work_groups is added. This
attribute, which consists of three integers, allows programmers to let
the compiler know the number of workgroups to be launched in each of the
three dimensions and do optimizations based on that information.

---------

Co-authored-by: Jun Wang <jun.wang7 at amd.com>


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

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll

  Log Message:
  -----------
  [X86] getFauxShuffleMask - recognise CONCAT(SUB0, SUB1) style patterns

Handles the INSERT_SUBVECTOR(INSERT_SUBVECTOR(UNDEF,SUB0,0),SUB1,N) pattern

Currently limited to v8i64/v8f64 cases as only AVX512 has decent cross lane 2-input shuffles, the plan is to relax this as I deal with some regressions


  Commit: f1ca2a09671e4d4acc2bea362b39268ed7883b6d
      https://github.com/llvm/llvm-project/commit/f1ca2a09671e4d4acc2bea362b39268ed7883b6d
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    M lld/test/ELF/compress-sections-err.s
    A lld/test/ELF/compress-sections-special.s
    A lld/test/ELF/compress-sections.s
    A lld/test/ELF/linkerscript/compress-sections.s

  Log Message:
  -----------
  [ELF] Add --compress-section to compress matched non-SHF_ALLOC sections

--compress-sections <section-glib>=[none|zlib|zstd] is similar to
--compress-debug-sections but applies to broader sections without the
SHF_ALLOC flag. lld will report an error if a SHF_ALLOC section is
matched. An interesting use case is to compress `.strtab`/`.symtab`,
which consume a significant portion of the file size (15.1% for a
release build of Clang).

An older revision is available at https://reviews.llvm.org/D154641 .
This patch focuses on non-allocated sections for safety. Moving
`maybeCompress` as D154641 does not handle STT_SECTION symbols for
`-r --compress-debug-sections=zlib` (see `relocatable-section-symbol.s`
from #66804).

Since different output sections may use different compression
algorithms, we need CompressedData::type to generalize
config->compressDebugSections.

GNU ld feature request: https://sourceware.org/bugzilla/show_bug.cgi?id=27452

Link: https://discourse.llvm.org/t/rfc-compress-arbitrary-sections-with-ld-lld-compress-sections/71674

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


  Commit: 536e0ebaaa842471ae91bbda4f8cc1821690861e
      https://github.com/llvm/llvm-project/commit/536e0ebaaa842471ae91bbda4f8cc1821690861e
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member-2.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member.cpp

  Log Message:
  -----------
  Remove XFAIL from tests passing on green dragon


  Commit: 42ecccfe346daf342b6c46a6a471ba5ed99b1139
      https://github.com/llvm/llvm-project/commit/42ecccfe346daf342b6c46a6a471ba5ed99b1139
  Author: amilendra <amilendra.kodithuwakku at arm.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [libcxx] Fix incorrect type in the has-1024-bit-atomics feature test (#84904)


  Commit: a843f26a77dee7900891b6748d43cf8d4e423bfe
      https://github.com/llvm/llvm-project/commit/a843f26a77dee7900891b6748d43cf8d4e423bfe
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [NFC] SLVectorizer comparator refactoring that preserves behavior (#84966)

Spinning off from #79321 / 35f4592 - looked like the comparator could be
simplified & made more clear/less risk of leaving hidden bugs.


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

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll

  Log Message:
  -----------
  [InstCombine] Add test for detecting `(x ^ -x)` as a ~Mask; NFC


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

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll

  Log Message:
  -----------
  [InstCombine] Detect `(x ^ -x)` as a ~Mask

Proof: https://alive2.llvm.org/ce/z/TAFmPw

This is a lemma for clearing up some of the regressions that #84688
causes.

Closes #84868


  Commit: 9ac03158987802706110ef465c4b6a7553cc4b86
      https://github.com/llvm/llvm-project/commit/9ac03158987802706110ef465c4b6a7553cc4b86
  Author: David Blaikie <dblaikie at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  Add comment to assert from a843f26


  Commit: f5334f5da5166ac26fb24ca44669b3d425f0d131
      https://github.com/llvm/llvm-project/commit/f5334f5da5166ac26fb24ca44669b3d425f0d131
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [OpenMP] Add debug checks for divide by zero (#83300)


  Commit: 3303be63fc2ac196568b03f58c146655e19183f6
      https://github.com/llvm/llvm-project/commit/3303be63fc2ac196568b03f58c146655e19183f6
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h

  Log Message:
  -----------
  [OpenMP] Make sure mask is set to nullptr (#83299)


  Commit: 6272500e0b1456a87256f0c8659fdc86cfe3ef9a
      https://github.com/llvm/llvm-project/commit/6272500e0b1456a87256f0c8659fdc86cfe3ef9a
  Author: Jonathan Peyton <jonathan.l.peyton at intel.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_utility.cpp

  Log Message:
  -----------
  [OpenMP] Remove unused logical/physical CPUID information (#83298)


  Commit: 7c83d1bd612783634aae33baf8765ecfdcc5cd0d
      https://github.com/llvm/llvm-project/commit/7c83d1bd612783634aae33baf8765ecfdcc5cd0d
  Author: Han-Chung Wang <hanhan0912 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 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:
  -----------
  [mlir][vector] Use inferRankReducedResultType for subview type inference. (#84395)

Fixes https://github.com/openxla/iree/issues/16475


  Commit: 45219702e77f6f834ea2dfe2a68b140e59f7e0e2
      https://github.com/llvm/llvm-project/commit/45219702e77f6f834ea2dfe2a68b140e59f7e0e2
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/code-model-elf.ll

  Log Message:
  -----------
  [test][X86] Precommit test for large data threshold and i1 global


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

  Changed paths:
    M clang/include/clang/InstallAPI/Context.h
    M clang/include/clang/InstallAPI/Frontend.h
    A clang/include/clang/InstallAPI/FrontendRecords.h
    A clang/include/clang/InstallAPI/MachO.h
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/Options.h

  Log Message:
  -----------
  [InstallAPI] Break up headers and add common header for TextAPI types (#84960)

Before it gets too unwieldy, add a common header for all MachO types
that are used across InstallAPI. Also, break up the types in
`InstallAPI/Frontend`. This both avoids circular dependencies and is
logically easier to maintain as more functionality gets added.


  Commit: 6bbb73b4cbc89b7291a8088aaa635814a216fbf6
      https://github.com/llvm/llvm-project/commit/6bbb73b4cbc89b7291a8088aaa635814a216fbf6
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/test/CodeGen/X86/code-model-elf.ll

  Log Message:
  -----------
  [X86] Fix determining if globals with size <8 bits are large (#84975)

Previously any global under 8 bits would accidentally be considered 0
sized, which is considered a large global.


  Commit: 6095f8bbc410d2f8b926a32ba969d507f7343949
      https://github.com/llvm/llvm-project/commit/6095f8bbc410d2f8b926a32ba969d507f7343949
  Author: Justin Lebar <justin.lebar at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  Get rid of noisy debug log in verifyOpAndAdjustFlags. (#84677)

This debug log adds noise to a large fraction of *other* debug logs when
you run with -debug, because it prints "Verifying operation: blah blah\n"
whenever those other debug logs dump an op.

You can use -debug-only to get around this, but sometimes -debug really
is what's called for!


  Commit: 97fb91ee665660036f8beffd064b44c6fbbf1b73
      https://github.com/llvm/llvm-project/commit/97fb91ee665660036f8beffd064b44c6fbbf1b73
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with non-profitable alternate vectorized
instructions.


  Commit: 2377beba8d10ce1092db7f8ddd5b10a2c0d3bfd1
      https://github.com/llvm/llvm-project/commit/2377beba8d10ce1092db7f8ddd5b10a2c0d3bfd1
  Author: Daniel Thornburgh <dthorn at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/cmake/caches/Fuchsia.cmake

  Log Message:
  -----------
  [Fuchsia] Add LLDB_TEST_USE_VENDOR_PACKAGES to boostrap passthrough


  Commit: 54f631d11640732af0dc9c2aa53af4e118d9fe36
      https://github.com/llvm/llvm-project/commit/54f631d11640732af0dc9c2aa53af4e118d9fe36
  Author: S. Bharadwaj Yadavalli <Bharadwaj.Yadavalli at microsoft.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    A llvm/test/CodeGen/DirectX/exp2_error.ll
    M llvm/test/CodeGen/DirectX/frac.ll
    A llvm/test/CodeGen/DirectX/frac_error.ll
    A llvm/test/CodeGen/DirectX/round_error.ll
    M llvm/test/CodeGen/DirectX/sin.ll
    A llvm/test/CodeGen/DirectX/sin_error.ll
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  [DirectX][NFC] Model precise overload type specification of DXIL Ops (#83917)

Implement an abstraction to specify precise overload types supported by
DXIL ops. These overload types are typically a subset of LLVM
intrinsics.

Implement the corresponding changes in DXILEmitter backend.

Add tests to verify expected errors for unsupported overload types at
code generation time.

Add tests to check for correct overload error output.


  Commit: e9492ccae085b5feb850ff17a96fe8211f7f6d7d
      https://github.com/llvm/llvm-project/commit/e9492ccae085b5feb850ff17a96fe8211f7f6d7d
  Author: Jason Eckhardt <jeckhardt at nvidia.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/utils/TableGen/DecoderEmitter.cpp

  Log Message:
  -----------
  [TableGen] DecoderEmitter clean-ups and modernization. (#84832)

The decoder emitter is showing some signs of age. This patch makes a few
kinds of clean-ups:
- Use ranged-for more widely, including using enumerate() for those
loops maintaining a loop index along with the items.
- Reduce the number of arguments to fieldFromInsn (removes an out
reference parameter: CodingStandards). The insn_t argument to insnWithID
can/should probably be removed soon too since modern C++ allows us to
return a local container without a copy.
- Use raw strings for the large emitted code segments. This enhances
both readability and modifiability.


  Commit: 498b7d2f86b4bceb381e66b093670c7ec4bc6cc4
      https://github.com/llvm/llvm-project/commit/498b7d2f86b4bceb381e66b093670c7ec4bc6cc4
  Author: Changpeng Fang <changpeng.fang at amd.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/DSInstructions.td

  Log Message:
  -----------
  AMDGPU: Copy TSFlags from Pseudo to DS_Real (#84977)

We need TSFalgs from pseudo to real.


  Commit: 1a6ec906fb3781c2fc98979ec37a2a76479b0b08
      https://github.com/llvm/llvm-project/commit/1a6ec906fb3781c2fc98979ec37a2a76479b0b08
  Author: Daniel Paoliello <danpao at microsoft.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/test/tools/llvm-dlltool/arm64ec.test
    M llvm/test/tools/llvm-lib/arm64ec-implib.test

  Log Message:
  -----------
  [Arm64EC] Copy import descriptors to the EC Map (#84834)

As noted in <https://github.com/llvm/llvm-project/pull/78537>, MSVC
places import descriptors in both the EC and regular map - that PR moved
the descriptors to ONLY the regular map, however this causes linking
errors when linking as Arm64EC:

```
bcryptprimitives.lib(bcryptprimitives.dll) : error LNK2001: unresolved external symbol __IMPORT_DESCRIPTOR_bcryptprimitives (EC Symbol)
```

This change copies import descriptors from the regular map to the EC
map, which fixes this linking error.


  Commit: d73c2d5df21735805a1f46a85790db64c0615e1c
      https://github.com/llvm/llvm-project/commit/d73c2d5df21735805a1f46a85790db64c0615e1c
  Author: Stefan Gränitz <stefan.graenitz at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp

  Log Message:
  -----------
  Fix unittest after #84460: only applicable if the platform supports JIT


  Commit: 76f3a084e77991cffbb8108959457ffd75f8e9c8
      https://github.com/llvm/llvm-project/commit/76f3a084e77991cffbb8108959457ffd75f8e9c8
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/docs/GettingStarted.rst

  Log Message:
  -----------
  Update GettingStarted.rst doc with negative refspec to filter user branches (#75015)

This allows to keep fetching release branches as well.


  Commit: beb47e78be6a819b6501f99302c1c4c1ae84b90e
      https://github.com/llvm/llvm-project/commit/beb47e78be6a819b6501f99302c1c4c1ae84b90e
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/test/CodeCompletion/ordinary-name.c

  Log Message:
  -----------
  [clang][CodeCompletion] Allow debuggers to code-complete reserved identifiers (#84891)


  Commit: 88bf64097e453deca73c91ec7de1af7eebe296a9
      https://github.com/llvm/llvm-project/commit/88bf64097e453deca73c91ec7de1af7eebe296a9
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/test/API/commands/expression/completion/Makefile
    M lldb/test/API/commands/expression/completion/TestExprCompletion.py
    M lldb/test/API/commands/expression/completion/main.cpp
    A lldb/test/API/commands/expression/completion/sys/reserved.h

  Log Message:
  -----------
  [lldb][test] TestExprCompletion.py: add tests for completion of reserved identifiers (#84890)


  Commit: 47625e47db1d8fef6936ef48103e9aeb1fa3d328
      https://github.com/llvm/llvm-project/commit/47625e47db1d8fef6936ef48103e9aeb1fa3d328
  Author: Dave Clausen <daveclausen at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
    A compiler-rt/test/tsan/compare_exchange_acquire_fence.cpp

  Log Message:
  -----------
  Fix race in the implementation of __tsan_acquire() (#84923)

`__tsan::Acquire()`, which is called by `__tsan_acquire()`, has a
performance optimization which attempts to avoid acquiring the atomic
variable's mutex if the variable has no associated memory model state.

However, if the atomic variable was recently written to by a
`compare_exchange_weak/strong` on another thread, the memory model state
may be created *after* the atomic variable is updated. This is a data
race, and can cause the thread calling `Acquire()` to not realize that
the atomic variable was previously written to by another thread.

Specifically, if you have code that writes to an atomic variable using
`compare_exchange_weak/strong`, and then in another thread you read the
value using a relaxed load, followed by an
`atomic_thread_fence(memory_order_acquire)`, followed by a call to
`__tsan_acquire()`, TSAN may not realize that the store happened before
the fence, and so it will complain about any other variables you access
from both threads if the thread-safety of those accesses depended on the
happens-before relationship between the store and the fence.

This change eliminates the unsafe optimization in `Acquire()`. Now,
`Acquire()` acquires the mutex before checking for the existence of the
memory model state.


  Commit: fd32e744a58fe61b4bd6acfa1d501bc1d6c1d96f
      https://github.com/llvm/llvm-project/commit/fd32e744a58fe61b4bd6acfa1d501bc1d6c1d96f
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    A bolt/test/X86/linux-pci-fixup.s

  Log Message:
  -----------
  [BOLT] Add support for Linux kernel PCI fixup section (#84982)

.pci_fixup section contains a table with entries allowing to invoke a
fixup hook whenever a problem is encountered with a PCI device. The
hookup code typically points to the start of a function. As we are not
relocating functions in the kernel (at least not yet), verify this
assumption while reading the table and ignore any functions with a fixup
code in the middle.


  Commit: 422d240dc9b4b36f505c43e6fe650af4f4cf4f98
      https://github.com/llvm/llvm-project/commit/422d240dc9b4b36f505c43e6fe650af4f4cf4f98
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member-2.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member.cpp

  Log Message:
  -----------
  Relax tests to also work with newer versions of lldb.

- result variables are optional
- static members may print their values
- public/protected shows up in ptype output


  Commit: 418f0066ebfcde8cd72d33cc103fc1c3e36a1205
      https://github.com/llvm/llvm-project/commit/418f0066ebfcde8cd72d33cc103fc1c3e36a1205
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/test_debuginfo.pl

  Log Message:
  -----------
  Modernize llgdb script and make it easier to debug.


  Commit: 65f07b804c2c05cf49bd043f2a6e9a0020198165
      https://github.com/llvm/llvm-project/commit/65f07b804c2c05cf49bd043f2a6e9a0020198165
  Author: anbbna <117081688+anbbna at users.noreply.github.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/Mips/Mips32r6InstrFormats.td
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/lib/Target/Mips/MipsScheduleGeneric.td
    A llvm/test/MC/Mips/mips32/nal.s
    A llvm/test/MC/Mips/mips32r6/nal.s

  Log Message:
  -----------
  [MIPS] Introduce NAL instruction support for Mipsr6 and prer6 (#84429)

NAL is an assembly idiom on Pre-R6 instruction sets (which is
implemented in binutils), or an actual instruction on Release 6
instruction set, and is used to read the PC, due to the nature of the
MIPS architecture.

Since we can't read the PC directly, on pre-R6 we use a always-not-taken
Branch and Link operation to the address of the next instruction, which
effectively writes the address to $31, thus PC is read with offset +8.

MIPS Release 6 removed the conventional Branch and Link instructions,
but kept NAL as an actual instruction for compatibility on the assembly
level. The instruction has the same encoding of the pre-R6 ones, and
with the same behavior: PC + 8 -> $31.


  Commit: 8003f553a01a9a2a7eb09fe07e88f1ba9ee7d3a7
      https://github.com/llvm/llvm-project/commit/8003f553a01a9a2a7eb09fe07e88f1ba9ee7d3a7
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

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

This reverts commit aefad27096bba513f06162fac2763089578f3de4.

This relands commit 6bbe8a296ee91754d423c59c35727eaa624f7140.

This patch was casuing build failures on non-Linux platforms due to the
default implementations for the functions not being updated. This ended
up causing out-of-line definition errors. Fixed for the relanding.


  Commit: 1c3b15e9f5bc671e40bcf5d3475f5425466754ce
      https://github.com/llvm/llvm-project/commit/1c3b15e9f5bc671e40bcf5d3475f5425466754ce
  Author: Aiden Grossman <agrossman154 at yahoo.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [llvm-exegesis] Use LLVM Support to get thread ID

This patch switches from manually using the Linux syscall to get the
current thread ID to using the relevant LLVM Support libraries that
abstract over the low level system details.


  Commit: 94e27c265a9aeb3659175ecee81a68d1763e0180
      https://github.com/llvm/llvm-project/commit/94e27c265a9aeb3659175ecee81a68d1763e0180
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/test/Dialect/SparseTensor/codegen.mlir
    M mlir/test/Dialect/SparseTensor/constant_index_map.mlir
    M mlir/test/Dialect/SparseTensor/conversion.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir
    M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_broadcast.mlir
    M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
    M mlir/test/Dialect/SparseTensor/sparse_index.mlir
    M mlir/test/Dialect/SparseTensor/sparse_out.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reinterpret_map.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_tensor_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_transpose.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir

  Log Message:
  -----------
  [mlir][sparse] reuse tensor.insert operation to insert elements into … (#84987)

…a sparse tensor.


  Commit: 64111831ed46b9e82b8626356c087ce2202f029b
      https://github.com/llvm/llvm-project/commit/64111831ed46b9e82b8626356c087ce2202f029b
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp

  Log Message:
  -----------
  Relax test to work with newer versions of lldb


  Commit: bb5921e2a2da4a87016e623deb8c2eaed7f1f5a8
      https://github.com/llvm/llvm-project/commit/bb5921e2a2da4a87016e623deb8c2eaed7f1f5a8
  Author: Petr Hosek <phosek at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

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

  Log Message:
  -----------
  [libc] Include FP_* macros in math.h (#84996)

These are used unconditionally by libc++ math.h.

This is related to issue #84879.


  Commit: accfbf4e4959957db0993a15bab7316001131df3
      https://github.com/llvm/llvm-project/commit/accfbf4e4959957db0993a15bab7316001131df3
  Author: Zahi Moudallal <128723247+zahimoud at users.noreply.github.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/test/Target/LLVMIR/rocdl.mlir

  Log Message:
  -----------
  [MLIR][ROCDL] Add BallotOp and lit test (#84856)


  Commit: e2468bf16a0c1f63a39aa417c15c03ebd77fab9e
      https://github.com/llvm/llvm-project/commit/e2468bf16a0c1f63a39aa417c15c03ebd77fab9e
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm

  Log Message:
  -----------
  [lldb][debugserver] Update flags past to app launch request

rdar://117421999


  Commit: 2f400a2fd77b44d34281792aca84c42e149095e7
      https://github.com/llvm/llvm-project/commit/2f400a2fd77b44d34281792aca84c42e149095e7
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    A llvm/test/MachineVerifier/test_g_vscale.mir

  Log Message:
  -----------
  [GISEL] Add G_VSCALE instruction (#84542)


  Commit: f467cc9caf37fcf6b3523271f977585c39372d55
      https://github.com/llvm/llvm-project/commit/f467cc9caf37fcf6b3523271f977585c39372d55
  Author: Dave Clausen <daveclausen at gmail.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M compiler-rt/test/tsan/compare_exchange_acquire_fence.cpp

  Log Message:
  -----------
  [tsan] Add missing link option to tsan test after #84923

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


  Commit: 2aacb56e8361213c1bd69c2ceafdea3aa0ca9125
      https://github.com/llvm/llvm-project/commit/2aacb56e8361213c1bd69c2ceafdea3aa0ca9125
  Author: 4ast <alexei.starovoitov at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/test/Preprocessor/bpf-predefined-macros.c
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/BPF/BPF.h
    A llvm/lib/Target/BPF/BPFASpaceCastSimplifyPass.cpp
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/CMakeLists.txt
    A llvm/test/CodeGen/BPF/addr-space-auto-casts.ll
    A llvm/test/CodeGen/BPF/addr-space-cast.ll
    A llvm/test/CodeGen/BPF/addr-space-gep-chain.ll
    A llvm/test/CodeGen/BPF/addr-space-globals.ll
    A llvm/test/CodeGen/BPF/addr-space-globals2.ll
    A llvm/test/CodeGen/BPF/addr-space-phi.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-1.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-2.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-3.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-4.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-5.ll
    M llvm/test/CodeGen/BPF/assembler-disassembler.s

  Log Message:
  -----------
  BPF address space insn (#84410)

This commit aims to support BPF arena kernel side
[feature](https://lore.kernel.org/bpf/20240209040608.98927-1-alexei.starovoitov@gmail.com/):
- arena is a memory region accessible from both BPF program and
userspace;
- base pointers for this memory region differ between kernel and user
spaces;
- `dst_reg = addr_space_cast(src_reg, dst_addr_space, src_addr_space)`
translates src_reg, a pointer in src_addr_space to dst_reg, equivalent
pointer in dst_addr_space, {src,dst}_addr_space are immediate constants;
- number 0 is assigned to kernel address space;
- number 1 is assigned to user address space.

On the LLVM side, the goal is to make load and store operations on arena
pointers "transparent" for BPF programs:
- assume that pointers with non-zero address space are pointers to
  arena memory;
- assume that arena is identified by address space number;
- assume that address space zero corresponds to kernel address space;
- assume that every BPF-side load or store from arena is done via
pointer in user address space, thus convert base pointers using
`addr_space_cast(src_reg, 0, 1)`;

Only load, store, cmpxchg and atomicrmw IR instructions are handled by
this transformation.

For example, the following C code:

```c
   #define __as __attribute__((address_space(1)))
   void copy(int __as *from, int __as *to) { *to = *from; }
```

Compiled to the following IR:

```llvm
    define void @copy(ptr addrspace(1) %from, ptr addrspace(1) %to) {
    entry:
      %0 = load i32, ptr addrspace(1) %from, align 4
      store i32 %0, ptr addrspace(1) %to, align 4
      ret void
    }
```

Is transformed to:

```llvm
    %to2 = addrspacecast ptr addrspace(1) %to to ptr     ;; !
    %from1 = addrspacecast ptr addrspace(1) %from to ptr ;; !
    %0 = load i32, ptr %from1, align 4, !tbaa !3
    store i32 %0, ptr %to2, align 4, !tbaa !3
    ret void
```

And compiled as:

```asm
    r2 = addr_space_cast(r2, 0, 1)
    r1 = addr_space_cast(r1, 0, 1)
    r1 = *(u32 *)(r1 + 0)
    *(u32 *)(r2 + 0) = r1
    exit
```

Co-authored-by: Eduard Zingerman <eddyz87 at gmail.com>


  Commit: d014708a217beaef04f9533d311c68bda71a52f7
      https://github.com/llvm/llvm-project/commit/d014708a217beaef04f9533d311c68bda71a52f7
  Author: Roger Ferrer Ibáñez <roger.ferrer at bsc.es>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp

  Log Message:
  -----------
  [llvm][Mips] Use a Target ISD opcode for PseudoD_SELECT (#84294)

The Mips target uses two TargetOpcode enumerators called
`PseudoD_SELECT_I` and `PseudoD_SELECT_I64`. A SDAG node is created
using these enumerators which is manually selected in
`MipsSEISelDAGToDAG.cpp` and ultimately expanded in
`EmitInstrWithCustomInserter` in `MipsISelLowering.cpp`.

This is not causing any upstream build to fail at the moment but it is
not guaranteed that these enumerators do not clash with Target ISD nodes
(i.e. those in the `MipsISD` namespace). We have seen this happening in
our downstream builds in which `Mips::PseudoD_SELECT_I` ends having the
same integer value as `MipsISD::VEXTRACT_ZEXT_ELT`. This confuses the
function `trySelect` in `MipsSEISelDAGToDAG.cpp` and causes a crash in 3
tests.

This change adds a new Target ISD opcode for these two cases and uses
them for the SDAG nodes. No test is included because this is a potential
error in the future not one that can be demonstrated in the current
codebase.


  Commit: 97c0cad388e5d3f5089a05001149ea7eeabbd777
      https://github.com/llvm/llvm-project/commit/97c0cad388e5d3f5089a05001149ea7eeabbd777
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [gn build] Port 2aacb56e8361


  Commit: 8bda5657332c7a94900d3eb2891d2b86e60b0e68
      https://github.com/llvm/llvm-project/commit/8bda5657332c7a94900d3eb2891d2b86e60b0e68
  Author: Qizhi Hu <836744285 at qq.com>
  Date:   2024-03-13 (Wed, 13 Mar 2024)

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

  Log Message:
  -----------
  [Clang][Sema] Allow access to a public template alias declaration that refers to friend's private nested type (#83847)

This patch attempts to fix
https://github.com/llvm/llvm-project/issues/25708
Current access check missed qualifier(`NestedNameSpecifier`) in friend
class checking. Add it to `Records` of `EffectiveContext` by changing
the `DeclContext` makes `MatchesFriend` work.

Co-authored-by: huqizhi <836744285 at qq.com>


  Commit: 0fae4530e8476328f9a19b3ea4338b3a1e2187a8
      https://github.com/llvm/llvm-project/commit/0fae4530e8476328f9a19b3ea4338b3a1e2187a8
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  [LangRef] Fix mistake in example (#84849)


  Commit: c088665fce8ac0c64cd07aa41526fcf6d1a2a1d6
      https://github.com/llvm/llvm-project/commit/c088665fce8ac0c64cd07aa41526fcf6d1a2a1d6
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-03-12 (Tue, 12 Mar 2024)

  Changed paths:
    M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
    A bolt/test/X86/linux-pci-fixup.s
    M clang/cmake/caches/Fuchsia.cmake
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/ASTMatchers/ASTMatchers.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttrDocs.td
    M clang/include/clang/InstallAPI/Context.h
    M clang/include/clang/InstallAPI/Frontend.h
    A clang/include/clang/InstallAPI/FrontendRecords.h
    A clang/include/clang/InstallAPI/MachO.h
    M clang/include/clang/Interpreter/Interpreter.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/Basic/Attributes.cpp
    M clang/lib/Basic/Targets/BPF.cpp
    M clang/lib/CodeGen/CGAtomic.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/Targets/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/InstallAPI/Frontend.cpp
    M clang/lib/InstallAPI/Visitor.cpp
    M clang/lib/Interpreter/Interpreter.cpp
    M clang/lib/Parse/ParseDeclCXX.cpp
    M clang/lib/Sema/SemaCodeComplete.cpp
    M clang/lib/Sema/SemaDeclAttr.cpp
    M clang/lib/Sema/SemaOverload.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/test/AST/Interp/complex.c
    A clang/test/ClangScanDeps/working-directory-option.c
    M clang/test/CodeCompletion/ordinary-name.c
    A clang/test/CodeGen/SystemZ/atomic_fp_load_store.c
    M clang/test/CodeGen/atomic.c
    M clang/test/CodeGen/c11atomics-ios.c
    M clang/test/CodeGenCUDA/amdgpu-kernel-attrs.cu
    M clang/test/CodeGenOpenCL/amdgpu-attrs.cl
    M clang/test/Driver/range.c
    M clang/test/Misc/pragma-attribute-supported-attributes-list.test
    M clang/test/OpenMP/amdgcn_target_device_vla.cpp
    M clang/test/OpenMP/amdgpu_target_with_aligned_attribute.c
    M clang/test/OpenMP/atomic_read_codegen.c
    M clang/test/OpenMP/atomic_write_codegen.c
    A clang/test/OpenMP/attr-assume.cpp
    M clang/test/OpenMP/bug60602.cpp
    M clang/test/OpenMP/distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/metadirective_device_arch_codegen.cpp
    M clang/test/OpenMP/nvptx_SPMD_codegen.cpp
    M clang/test/OpenMP/nvptx_distribute_parallel_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_generic_mode_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/nvptx_target_teams_generic_loop_generic_mode_codegen.cpp
    M clang/test/OpenMP/reduction_implicit_map.cpp
    M clang/test/OpenMP/target_ompx_dyn_cgroup_mem_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_order_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/target_teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_if_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_order_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_reduction_codegen.cpp
    M clang/test/OpenMP/target_teams_generic_loop_uses_allocators_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_copyin_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_reduction_task_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_collapse_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_dist_schedule_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_firstprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_if_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_lastprivate_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_num_threads_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_private_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_proc_bind_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_reduction_codegen.cpp
    M clang/test/OpenMP/teams_distribute_parallel_for_simd_schedule_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen-1.cpp
    M clang/test/OpenMP/teams_generic_loop_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_collapse_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_private_codegen.cpp
    M clang/test/OpenMP/teams_generic_loop_reduction_codegen.cpp
    M clang/test/Preprocessor/bpf-predefined-macros.c
    A clang/test/Sema/enum-constant-type.cpp
    M clang/test/Sema/warn-compare-enum-types-mismatch.c
    M clang/test/SemaCUDA/amdgpu-attrs.cu
    A clang/test/SemaCXX/overload-bitint.cpp
    A clang/test/SemaTemplate/PR25708.cpp
    M clang/tools/clang-installapi/ClangInstallAPI.cpp
    M clang/tools/clang-installapi/Options.h
    M clang/unittests/ASTMatchers/ASTMatchersTest.h
    M clang/unittests/ASTMatchers/ASTMatchersTraversalTest.cpp
    M clang/unittests/Interpreter/CMakeLists.txt
    M clang/unittests/Interpreter/InterpreterExtensionsTest.cpp
    M cmake/Modules/CMakePolicy.cmake
    M compiler-rt/cmake/builtin-config-ix.cmake
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/tsan/rtl/tsan_rtl_mutex.cpp
    A compiler-rt/test/tsan/compare_exchange_acquire_fence.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/forward-declare-class.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member-2.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/static-member.cpp
    M cross-project-tests/debuginfo-tests/llgdb-tests/test_debuginfo.pl
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/HLFIR/HLFIROps.td
    M flang/include/flang/Parser/char-block.h
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/runtime/buffer.h
    M flang/runtime/temporary-stack.cpp
    M flang/test/HLFIR/element-addr.fir
    M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
    A flang/test/Lower/Intrinsics/sizeof.f90
    A flang/test/Lower/OpenMP/threadprivate-host-association-2.f90
    A flang/test/Lower/OpenMP/threadprivate-host-association.f90
    M libc/docs/c23.rst
    M libc/docs/stdbit.rst
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/include/llvm-libc-macros/stdbit-macros.h
    M libc/spec/stdc.td
    M libc/src/__support/CMakeLists.txt
    M libc/src/__support/CPP/bit.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/GPU/utils.h
    M libc/src/__support/math_extras.h
    M libc/src/stdbit/CMakeLists.txt
    M libc/src/stdbit/stdc_count_zeros_uc.cpp
    M libc/src/stdbit/stdc_count_zeros_ui.cpp
    M libc/src/stdbit/stdc_count_zeros_ul.cpp
    M libc/src/stdbit/stdc_count_zeros_ull.cpp
    M libc/src/stdbit/stdc_count_zeros_us.cpp
    M libc/src/stdbit/stdc_first_leading_one_uc.cpp
    M libc/src/stdbit/stdc_first_leading_one_ui.cpp
    M libc/src/stdbit/stdc_first_leading_one_ul.cpp
    M libc/src/stdbit/stdc_first_leading_one_ull.cpp
    M libc/src/stdbit/stdc_first_leading_one_us.cpp
    M libc/src/stdbit/stdc_first_leading_zero_uc.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ui.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ul.cpp
    M libc/src/stdbit/stdc_first_leading_zero_ull.cpp
    M libc/src/stdbit/stdc_first_leading_zero_us.cpp
    M libc/src/stdbit/stdc_first_trailing_one_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_one_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_one_us.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_uc.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ui.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ul.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_ull.cpp
    M libc/src/stdbit/stdc_first_trailing_zero_us.cpp
    M libc/test/include/stdbit_test.cpp
    M libc/test/integration/src/__support/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/CMakeLists.txt
    A libc/test/integration/src/__support/GPU/scan_reduce.cpp
    M libc/test/src/__support/CMakeLists.txt
    M libc/test/src/__support/CPP/bit_test.cpp
    M libc/test/src/__support/integer_to_string_test.cpp
    M libc/test/src/__support/math_extras_test.cpp
    M libcxx/include/__hash_table
    M libcxx/include/__iterator/bounded_iter.h
    M libcxx/include/ios
    M libcxx/src/ios.cpp
    M libcxx/src/tzdb.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.map/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.map/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multimap/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multimap/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.multiset/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.multiset/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.dereference.pass.cpp
    A libcxx/test/libcxx/containers/unord/unord.set/assert.local_iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.iterator.increment.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.dereference.pass.cpp
    R libcxx/test/libcxx/containers/unord/unord.set/debug.local_iterator.increment.pass.cpp
    A libcxx/test/libcxx/containers/views/views.span/assert.iterator-indexing.pass.cpp
    R libcxx/test/libcxx/containers/views/views.span/debug.iterator-indexing.pass.cpp
    A libcxx/test/libcxx/input.output/iostreams.base/ios.base/ios.base.cons/dtor.uninitialized.pass.cpp
    M libcxx/test/libcxx/iterators/bounded_iter/dereference.pass.cpp
    A libcxx/test/libcxx/strings/string.view/string.view.iterators/assert.iterator-indexing.pass.cpp
    R libcxx/test/libcxx/strings/string.view/string.view.iterators/debug.iterator-indexing.pass.cpp
    M libcxx/test/libcxx/time/time.zone/time.zone.db/rules.pass.cpp
    M libcxx/utils/ci/Dockerfile
    M libcxx/utils/libcxx/test/features.py
    M lld/ELF/Arch/RISCV.cpp
    M lld/ELF/Config.h
    M lld/ELF/Driver.cpp
    M lld/ELF/Options.td
    M lld/ELF/OutputSections.cpp
    M lld/ELF/OutputSections.h
    M lld/docs/ReleaseNotes.rst
    M lld/docs/ld.lld.1
    M lld/test/ELF/compress-sections-err.s
    A lld/test/ELF/compress-sections-special.s
    A lld/test/ELF/compress-sections.s
    A lld/test/ELF/linkerscript/compress-sections.s
    M lldb/include/lldb/Utility/ConstString.h
    M lldb/source/Core/Mangled.cpp
    M lldb/source/Symbol/Symtab.cpp
    M lldb/test/API/commands/expression/completion/Makefile
    M lldb/test/API/commands/expression/completion/TestExprCompletion.py
    M lldb/test/API/commands/expression/completion/main.cpp
    A lldb/test/API/commands/expression/completion/sys/reserved.h
    M lldb/test/API/functionalities/data-formatter/builtin-formats/TestBuiltinFormats.py
    M lldb/tools/debugserver/source/MacOSX/MachProcess.mm
    M lldb/tools/debugserver/source/RNBSocket.cpp
    M lldb/unittests/SymbolFile/PDB/SymbolFilePDBTests.cpp
    M llvm/cmake/modules/HandleLLVMOptions.cmake
    M llvm/cmake/modules/TableGen.cmake
    M llvm/docs/AMDGPUUsage.rst
    M llvm/docs/CMake.rst
    M llvm/docs/GettingStarted.rst
    M llvm/docs/GlobalISel/GenericOpcode.rst
    M llvm/docs/LangRef.rst
    M llvm/docs/RemoveDIsDebugInfo.md
    M llvm/include/llvm/ADT/APInt.h
    M llvm/include/llvm/Analysis/DominanceFrontier.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/BasicBlock.h
    M llvm/include/llvm/IR/DIBuilder.h
    M llvm/include/llvm/IR/DebugProgramInstruction.h
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/Instruction.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/Object/COFFImportFile.h
    M llvm/include/llvm/Support/KnownBits.h
    M llvm/include/llvm/Support/TargetOpcodes.def
    M llvm/include/llvm/Target/GenericOpcodes.td
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/AsmParser/LLParser.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MachineVerifier.cpp
    M llvm/lib/CodeGen/SelectOptimize.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IR/AsmWriter.cpp
    M llvm/lib/IR/BasicBlock.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DebugInfo.cpp
    M llvm/lib/IR/DebugProgramInstruction.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/LLVMContextImpl.h
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Object/ArchiveWriter.cpp
    M llvm/lib/Object/COFFImportFile.cpp
    M llvm/lib/Passes/PassBuilderPipelines.cpp
    M llvm/lib/Support/AutoConvert.cpp
    M llvm/lib/Support/KnownBits.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUHSAMetadataStreamer.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUSubtarget.h
    M llvm/lib/Target/AMDGPU/BUFInstructions.td
    M llvm/lib/Target/AMDGPU/DSInstructions.td
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.cpp
    M llvm/lib/Target/AMDGPU/Utils/AMDGPUBaseInfo.h
    M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
    M llvm/lib/Target/BPF/BPF.h
    A llvm/lib/Target/BPF/BPFASpaceCastSimplifyPass.cpp
    M llvm/lib/Target/BPF/BPFCheckAndAdjustIR.cpp
    M llvm/lib/Target/BPF/BPFInstrInfo.td
    M llvm/lib/Target/BPF/BPFTargetMachine.cpp
    M llvm/lib/Target/BPF/CMakeLists.txt
    M llvm/lib/Target/DirectX/DXIL.td
    M llvm/lib/Target/DirectX/DXILOpBuilder.cpp
    M llvm/lib/Target/Mips/Mips32r6InstrFormats.td
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.h
    M llvm/lib/Target/Mips/MipsInstrInfo.td
    M llvm/lib/Target/Mips/MipsSEISelDAGToDAG.cpp
    M llvm/lib/Target/Mips/MipsScheduleGeneric.td
    M llvm/lib/Target/TargetMachine.cpp
    M llvm/lib/Target/X86/X86.td
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Transforms/Coroutines/CoroFrame.cpp
    M llvm/lib/Transforms/Coroutines/CoroSplit.cpp
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/IROutliner.cpp
    M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
    M llvm/lib/Transforms/IPO/MergeFunctions.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Scalar/ADCE.cpp
    M llvm/lib/Transforms/Scalar/CallSiteSplitting.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LoopSimplifyCFG.cpp
    M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
    M llvm/lib/Transforms/Scalar/SROA.cpp
    M llvm/lib/Transforms/Scalar/SimpleLoopUnswitch.cpp
    M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/CodeExtractor.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
    M llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/PromoteMemoryToRegister.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Utils/ValueMapper.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/loops-with-indirect-reads-and-writes.ll
    M llvm/test/Analysis/LoopAccessAnalysis/underlying-object-loop-varying-phi.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-build-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/select-shufflevec-undef-mask-elt.mir
    M llvm/test/CodeGen/AArch64/aarch64-bif-gen.ll
    M llvm/test/CodeGen/AArch64/aarch64-bit-gen.ll
    M llvm/test/CodeGen/AArch64/abs.ll
    M llvm/test/CodeGen/AArch64/arm64-dup.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-copy.ll
    M llvm/test/CodeGen/AArch64/bitcast.ll
    M llvm/test/CodeGen/AArch64/bswap.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/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/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/fsincos.ll
    M llvm/test/CodeGen/AArch64/fsqrt.ll
    M llvm/test/CodeGen/AArch64/icmp.ll
    M llvm/test/CodeGen/AArch64/insertextract.ll
    M llvm/test/CodeGen/AArch64/itofp.ll
    M llvm/test/CodeGen/AArch64/llvm.exp10.ll
    M llvm/test/CodeGen/AArch64/load.ll
    M llvm/test/CodeGen/AArch64/sext.ll
    M llvm/test/CodeGen/AArch64/shift.ll
    M llvm/test/CodeGen/AArch64/shufflevector.ll
    M llvm/test/CodeGen/AArch64/xtn.ll
    M llvm/test/CodeGen/AArch64/zext.ll
    A llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-workgroups.ll
    A llvm/test/CodeGen/AMDGPU/attr-amdgpu-num-workgroups_error_check.ll
    M llvm/test/CodeGen/AMDGPU/lds-run-twice-absolute-md.ll
    M llvm/test/CodeGen/AMDGPU/lds-run-twice.ll
    M llvm/test/CodeGen/AMDGPU/mai-hazards-gfx940.mir
    A llvm/test/CodeGen/BPF/addr-space-auto-casts.ll
    A llvm/test/CodeGen/BPF/addr-space-cast.ll
    A llvm/test/CodeGen/BPF/addr-space-gep-chain.ll
    A llvm/test/CodeGen/BPF/addr-space-globals.ll
    A llvm/test/CodeGen/BPF/addr-space-globals2.ll
    A llvm/test/CodeGen/BPF/addr-space-phi.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-1.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-2.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-3.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-4.ll
    A llvm/test/CodeGen/BPF/addr-space-simplify-5.ll
    M llvm/test/CodeGen/BPF/assembler-disassembler.s
    A llvm/test/CodeGen/DirectX/exp2_error.ll
    M llvm/test/CodeGen/DirectX/frac.ll
    A llvm/test/CodeGen/DirectX/frac_error.ll
    A llvm/test/CodeGen/DirectX/round_error.ll
    M llvm/test/CodeGen/DirectX/sin.ll
    A llvm/test/CodeGen/DirectX/sin_error.ll
    A llvm/test/CodeGen/RISCV/zcmp-additional-stack.ll
    M llvm/test/CodeGen/X86/bypass-slow-division-tune.ll
    M llvm/test/CodeGen/X86/code-model-elf.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-8.ll
    M llvm/test/CodeGen/X86/vector-interleaved-store-i64-stride-4.ll
    M llvm/test/MC/AMDGPU/gfx10_asm_mubuf.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx10_mubuf.txt
    A llvm/test/MC/Disassembler/X86/apx/ctest.txt
    A llvm/test/MC/Mips/mips32/nal.s
    A llvm/test/MC/Mips/mips32r6/nal.s
    A llvm/test/MC/X86/apx/ctest-att.s
    A llvm/test/MC/X86/apx/ctest-intel.s
    A llvm/test/MachineVerifier/test_g_vscale.mir
    A llvm/test/ThinLTO/X86/summary-matching.ll
    M llvm/test/Transforms/ArgumentPromotion/aliasing-and-non-aliasing-loads-with-clobber.ll
    M llvm/test/Transforms/InstCombine/exp2-1.ll
    M llvm/test/Transforms/InstCombine/icmp-and-lowbit-mask.ll
    M llvm/test/Transforms/InstCombine/icmp-range.ll
    A llvm/test/Transforms/LoopStrengthReduce/pr84709.ll
    A llvm/test/Transforms/LowerMatrixIntrinsics/multiply-fused-lifetime-ends.ll
    A llvm/test/Transforms/SLPVectorizer/alternate-non-profitable.ll
    M llvm/test/tools/llvm-dlltool/arm64ec.test
    M llvm/test/tools/llvm-lib/arm64ec-implib.test
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.h
    M llvm/tools/llvm-reduce/deltas/ReduceDbgRecords.cpp
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/IR/BasicBlockDbgInfoTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/IR/ValueTest.cpp
    M llvm/unittests/Support/KnownBitsTest.cpp
    M llvm/unittests/Transforms/Utils/DebugifyTest.cpp
    M llvm/unittests/Transforms/Utils/LocalTest.cpp
    M llvm/unittests/tools/llvm-exegesis/X86/SubprocessMemoryTest.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/DecoderEmitter.cpp
    M llvm/utils/gn/secondary/clang/unittests/Interpreter/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/BPF/BUILD.gn
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/LLVMIR/ROCDLOps.td
    M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorOps.td
    M mlir/include/mlir/Dialect/Tensor/IR/TensorOps.td
    M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
    M mlir/include/mlir/Tools/lsp-server-support/SourceMgrUtils.h
    M mlir/lib/Conversion/ArithToEmitC/ArithToEmitC.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefOps.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/BufferizableOpInterfaceImpl.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseReinterpretMap.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorTransforms.cpp
    M mlir/lib/IR/AsmPrinter.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Conversion/ArithToEmitC/arith-to-emitc.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    M mlir/test/Dialect/MemRef/canonicalize.mlir
    M mlir/test/Dialect/MemRef/invalid.mlir
    M mlir/test/Dialect/SparseTensor/codegen.mlir
    M mlir/test/Dialect/SparseTensor/constant_index_map.mlir
    M mlir/test/Dialect/SparseTensor/conversion.mlir
    M mlir/test/Dialect/SparseTensor/invalid.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip.mlir
    M mlir/test/Dialect/SparseTensor/sparse_2d.mlir
    M mlir/test/Dialect/SparseTensor/sparse_broadcast.mlir
    M mlir/test/Dialect/SparseTensor/sparse_conv_2d_slice_based.mlir
    M mlir/test/Dialect/SparseTensor/sparse_fp_ops.mlir
    M mlir/test/Dialect/SparseTensor/sparse_index.mlir
    M mlir/test/Dialect/SparseTensor/sparse_out.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reinterpret_map.mlir
    M mlir/test/Dialect/SparseTensor/sparse_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_tensor_reshape.mlir
    M mlir/test/Dialect/SparseTensor/sparse_transpose.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Tensor/invalid.mlir
    M mlir/test/Dialect/Vector/vector-transfer-collapse-inner-most-dims.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_1d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_2d.mlir
    M mlir/test/Integration/Dialect/SparseTensor/CPU/sparse_insert_3d.mlir
    A mlir/test/Target/Cpp/conditional.mlir
    M mlir/test/Target/LLVMIR/rocdl.mlir
    M openmp/libomptarget/DeviceRTL/src/Mapping.cpp
    M openmp/runtime/src/kmp.h
    M openmp/runtime/src/kmp_affinity.cpp
    M openmp/runtime/src/kmp_sched.cpp
    M openmp/runtime/src/kmp_utility.cpp
    M utils/bazel/llvm-project-overlay/clang/unittests/BUILD.bazel

  Log Message:
  -----------
  [𝘀𝗽𝗿] changes introduced through rebase

Created using spr 1.3.4

[skip ci]


Compare: https://github.com/llvm/llvm-project/compare/ca66593ce4c3...c088665fce8a

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