[all-commits] [llvm/llvm-project] 088980: [libc] Fix warning on 'extern "C" int main' in tes...

Fangrui Song via All-commits all-commits at lists.llvm.org
Tue Aug 13 16:56:55 PDT 2024


  Branch: refs/heads/users/MaskRay/spr/support-restrict-managedstatic-threadpoolexecutor-to-windows
  Home:   https://github.com/llvm/llvm-project
  Commit: 0889809c706fd926b786bc2f8852646a17d7e21c
      https://github.com/llvm/llvm-project/commit/0889809c706fd926b786bc2f8852646a17d7e21c
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

  Changed paths:
    M libc/test/UnitTest/LibcTestMain.cpp

  Log Message:
  -----------
  [libc] Fix warning on 'extern "C" int main' in test suite (#102973)

Summary:
According to the C++ standard, The main function shall not be declared
with a linkage-specification. after some changes in
https://github.com/llvm/llvm-project/pull/101853 this started emitting
warnings when building / testing the C library. This source file is
shared with the overlay tests as well as the full build tests. The full
build tests are compiled with `-ffreestanding`, as are all the startup /
integration files. The standard says freestanding environment are all
implementation defined, so this is valid in those cases. This patch
simply prevents adding the linkage when we are compiling unit tests,
which are hosted. This is a continuation on
https://github.com/llvm/llvm-project/pull/102825.


  Commit: bfbd4cc88ccb3de71010f1166142ae8412db6ca3
      https://github.com/llvm/llvm-project/commit/bfbd4cc88ccb3de71010f1166142ae8412db6ca3
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [X86,MC,test] Add enc/dec tests for ccmpbe (#102883)

This is also pre-commit test for #102284


  Commit: 887f7002b65f7376c7a5004535bd08c95bdaa8f8
      https://github.com/llvm/llvm-project/commit/887f7002b65f7376c7a5004535bd08c95bdaa8f8
  Author: Connie <60797237+connieyzhu at users.noreply.github.com>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

  Changed paths:
    M bolt/test/X86/encoding-validation.s
    M bolt/test/X86/gotpcrelx.s
    M bolt/test/X86/icf-jump-tables.test
    M bolt/test/X86/indirect-goto-pie.test
    M bolt/test/X86/jump-table-func-entry.s
    M bolt/test/X86/keep-nops.s
    M bolt/test/X86/linux-bug-table.s
    M bolt/test/X86/linux-orc.s
    M bolt/test/X86/linux-pci-fixup.s
    M bolt/test/X86/linux-smp-locks.s
    M bolt/test/X86/linux-static-calls.s
    M bolt/test/X86/linux-static-keys.s
    M bolt/test/X86/pt_gnu_relro.s
    M bolt/test/X86/unclaimed-jt-entries.s
    M bolt/test/X86/vararg.test
    M bolt/test/runtime/X86/unclaimed-jt-entries.s

  Log Message:
  -----------
  [NFC][bolt][test] Change '|&' to '2>&1 |' for lit internal shell support (#102402)

This patches changes all references to '|&' in bolt tests to instead use
the '2>&1 |' syntax for better consistency across testing and so that
lit's internal shell can be used to run these tests. This addresses a
suggestion made in the comments of this RFC:
https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179.

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


  Commit: 80525dfcde5bf8aae6ab6b0810124ba502de6096
      https://github.com/llvm/llvm-project/commit/80525dfcde5bf8aae6ab6b0810124ba502de6096
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Headers/CMakeLists.txt
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_device.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_host.h
    M clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/test/CodeGenCUDA/Inputs/cuda.h
    A clang/test/CodeGenCUDA/offload_via_llvm.cu
    A clang/test/Driver/cuda-via-liboffload.cu
    M offload/include/Shared/APITypes.h
    M offload/include/omptarget.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/CMakeLists.txt
    A offload/src/KernelLanguage/API.cpp
    M offload/src/exports
    M offload/test/lit.cfg
    A offload/test/offloading/CUDA/basic_launch.cu
    A offload/test/offloading/CUDA/basic_launch_blocks_and_threads.cu
    A offload/test/offloading/CUDA/basic_launch_multi_arg.cu
    A offload/test/offloading/CUDA/kernel_tu.cu.inc
    A offload/test/offloading/CUDA/launch_tu.cu

  Log Message:
  -----------
  [Offload][CUDA] Allow CUDA kernels to use LLVM/Offload (#94549)

Through the new `-foffload-via-llvm` flag, CUDA kernels can now be
lowered to the LLVM/Offload API. On the Clang side, this is simply done
by using the OpenMP offload toolchain and emitting calls to `llvm*`
functions to orchestrate the kernel launch rather than `cuda*`
functions. These `llvm*` functions are implemented on top of the
existing LLVM/Offload API.

As we are about to redefine the Offload API, this wil help us in the
design process as a second offload language.

We do not support any CUDA APIs yet, however, we could:
  https://www.osti.gov/servlets/purl/1892137

For proper host execution we need to resurrect/rebase
  https://tianshilei.me/wp-content/uploads/2021/12/llpp-2021.pdf
(which was designed for debugging).

```
❯❯❯ cat test.cu
extern "C" {
void *llvm_omp_target_alloc_shared(size_t Size, int DeviceNum);
void llvm_omp_target_free_shared(void *DevicePtr, int DeviceNum);
}

__global__ void square(int *A) { *A = 42; }

int main(int argc, char **argv) {
  int DevNo = 0;
  int *Ptr = reinterpret_cast<int *>(llvm_omp_target_alloc_shared(4, DevNo));
  *Ptr = 7;
  printf("Ptr %p, *Ptr %i\n", Ptr, *Ptr);
  square<<<1, 1>>>(Ptr);
  printf("Ptr %p, *Ptr %i\n", Ptr, *Ptr);
  llvm_omp_target_free_shared(Ptr, DevNo);
}

❯❯❯ clang++ test.cu -O3 -o test123 -foffload-via-llvm --offload-arch=native

❯❯❯ llvm-objdump --offloading test123

test123:        file format elf64-x86-64

OFFLOADING IMAGE [0]:
kind            elf
arch            gfx90a
triple          amdgcn-amd-amdhsa
producer        openmp

❯❯❯ LIBOMPTARGET_INFO=16 ./test123
Ptr 0x155448ac8000, *Ptr 7
Ptr 0x155448ac8000, *Ptr 42
```


  Commit: f8f34c7e4914ce9e90453e902e2e03f129119fb6
      https://github.com/llvm/llvm-project/commit/f8f34c7e4914ce9e90453e902e2e03f129119fb6
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [gn build] Port 80525dfcde5b


  Commit: 75c7bca740935a0cca462e28475dd6b046a6872c
      https://github.com/llvm/llvm-project/commit/75c7bca740935a0cca462e28475dd6b046a6872c
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp

  Log Message:
  -----------
  [DataLayout] Remove constructor accepting a pointer to Module (#102841)

The constructor initializes `*this` with `M->getDataLayout()`, which
is effectively the same as calling the copy constructor.
There does not seem to be a case where a copy would be necessary.

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


  Commit: f1fe45106572204f36e82ded2b921b9984ec32e5
      https://github.com/llvm/llvm-project/commit/f1fe45106572204f36e82ded2b921b9984ec32e5
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

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

  Log Message:
  -----------
  [bazel] Upgrade to 7.3.0 (#102991)

Most importantly this rc has a change that we had to revert for
previously


  Commit: 7951673d408ee64744d0b924a49db78e8243d876
      https://github.com/llvm/llvm-project/commit/7951673d408ee64744d0b924a49db78e8243d876
  Author: Brian Cain <bcain at quicinc.com>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

  Changed paths:
    M libcxx/include/__memory/inout_ptr.h
    M libcxx/include/__memory/out_ptr.h
    M libcxx/test/libcxx/system_reserved_names.gen.py

  Log Message:
  -----------
  [libc++] Use a different smart ptr type alias (#102089)

The `_SP` type is used by some C libraries and this alias could conflict
with it.


  Commit: d990cc4568f45c28d1d5ac86125935628c76efc8
      https://github.com/llvm/llvm-project/commit/d990cc4568f45c28d1d5ac86125935628c76efc8
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp

  Log Message:
  -----------
  [clang-format] Correctly handle C# attribute on auto property (#102921)

Fixes #101487.


  Commit: 17db3313c75120fd8415529723eb96cbad399338
      https://github.com/llvm/llvm-project/commit/17db3313c75120fd8415529723eb96cbad399338
  Author: Enna1 <xumingjie.enna1 at bytedance.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/test/AST/atomic-expr.cpp

  Log Message:
  -----------
  [ASTDump] TextNodeDumper learned to dump builtin name for AtomicExpr (#102748)

In 4198576157bfd0d08c08b784220d6132b709ae2c, we add support for dumping
builtin name for AtomicExpr in JSON dump. This change syncs
`TextNodeDumper` with `JSONNodeDumper`, makes `TextNodeDumper` learned
to dump builtin name for AtomicExpr.


  Commit: 70cf58e6c193a63f66028ae340a30c9dc181f460
      https://github.com/llvm/llvm-project/commit/70cf58e6c193a63f66028ae340a30c9dc181f460
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll

  Log Message:
  -----------
  [SLP][REVEC] Make SLP vectorize shufflevector. (#102489)

Add getShufflevectorNumGroups to vectorize shufflevector.

Current getShufflevectorNumGroups can only vectorize limited pattern
(e.g., the masks of shufflevector use the elements of the source in
order).

In addition, ReuseShuffleIndices and ReorderIndices are not supported.


  Commit: 3f9c9aceddf5f6dc736ee39bb2088fd3ce884a08
      https://github.com/llvm/llvm-project/commit/3f9c9aceddf5f6dc736ee39bb2088fd3ce884a08
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

  Changed paths:
    M offload/test/offloading/CUDA/basic_launch.cu
    M offload/test/offloading/CUDA/basic_launch_blocks_and_threads.cu
    M offload/test/offloading/CUDA/basic_launch_multi_arg.cu
    M offload/test/offloading/CUDA/launch_tu.cu

  Log Message:
  -----------
  [Offload] Add the right paths to the CUDA lit tests (#102997)


  Commit: a27f40e5d9636b0853e8de0b95d72261f8d34696
      https://github.com/llvm/llvm-project/commit/a27f40e5d9636b0853e8de0b95d72261f8d34696
  Author: Longsheng Mou <moulongsheng at huawei.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/test/CodeGenCXX/x86_64-vaarg.cpp

  Log Message:
  -----------
  [X86_64] Fix empty field error in vaarg of C++. (#101639)

Such struct types:
```
struct {
  struct{} a;
  long long b;
};

stuct {
  struct{} a;
  double b;
};
```
For such structures, Lo is NoClass and Hi is Integer/SSE. And when this
structure argument is passed, the high part is passed at offset 8 in
memory. So we should do special handling for these types in
EmitVAArg.Fix https://github.com/llvm/llvm-project/issues/79790 and fix
https://github.com/llvm/llvm-project/issues/86371.


  Commit: b4b0c0230648abb600040e1dc1c1a7ad72b68dde
      https://github.com/llvm/llvm-project/commit/b4b0c0230648abb600040e1dc1c1a7ad72b68dde
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [SLP][REVEC] Make tryToReduce and related functions support vector instructions. (#102327)


  Commit: 136e5f4850fb40b1c2be2da5e2032ab3d85a493e
      https://github.com/llvm/llvm-project/commit/136e5f4850fb40b1c2be2da5e2032ab3d85a493e
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

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

  Log Message:
  -----------
  [NFC][Support] Create helper function to parse bool (#102818)

Create a helper template function to parse bool, to eliminate code
duplication.


  Commit: c772f5d53a75f2d5d0e8eb8c09c2d6c8d0fb1255
      https://github.com/llvm/llvm-project/commit/c772f5d53a75f2d5d0e8eb8c09c2d6c8d0fb1255
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    A llvm/test/CodeGen/RISCV/rvv/memcpy-crash-zvl32b.ll

  Log Message:
  -----------
  [RISCV] Disable fixed vectors in getOptimalMemOpType if minimum VLEN is 32. (#102974)

This is needed to match #102405 which disabled fixed to scalable vector
lowering for VLEN=32.

Fixes #102566 and #102568.


  Commit: b8fc97fdc107433da90c0bf9f9e8f7dd505f08a5
      https://github.com/llvm/llvm-project/commit/b8fc97fdc107433da90c0bf9f9e8f7dd505f08a5
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/TableGen/TGLexer.cpp

  Log Message:
  -----------
  [NFC][TableGen] Refactor preprocessor directive handling (#102967)

- Make `PreprocessorDirs` array constexpr, move its definition outside
the anonymous namespace, and make it static.
- Change `Word` field to a StringRef.
- Simplify `prepIsDirective` to use StringRef comparison and early
`continue` per LLVM coding standards.
- Use C++17 structured bindings to iterate over the array.


  Commit: 367e99e6c2d2ed026f9e038a540cf6047f0d1661
      https://github.com/llvm/llvm-project/commit/367e99e6c2d2ed026f9e038a540cf6047f0d1661
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/test/AST/Interp/constexpr-frame-describe.cpp

  Log Message:
  -----------
  Revert "Revert "[clang][Interp] Improve "in call to" call argument printing"" (#102786)

Reverts llvm/llvm-project#102785


  Commit: 7c3641121009147aba0ea45962bd69385bd838b1
      https://github.com/llvm/llvm-project/commit/7c3641121009147aba0ea45962bd69385bd838b1
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

  Changed paths:
    M flang/include/flang/Evaluate/tools.h
    M flang/test/Lower/CUDA/cuda-program-global.cuf

  Log Message:
  -----------
  [flang][cuda] Do not lower PINNED variable in main program as global (#102996)

Similar to #102512. Do not lower PINNED variable descriptors in program
unit as globals but keep them local.


  Commit: d4dfeb373e95b09ef86865cb33cae21213488afe
      https://github.com/llvm/llvm-project/commit/d4dfeb373e95b09ef86865cb33cae21213488afe
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    M clang/lib/AST/Interp/Interp.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/new-delete.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Compile field+base destruction into class dtor func (#102871)


  Commit: b68df879c64ac9bb17ce6cc09d5ad86e803a3211
      https://github.com/llvm/llvm-project/commit/b68df879c64ac9bb17ce6cc09d5ad86e803a3211
  Author: Rahul Joshi <rjoshi at nvidia.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/TableGen/TGLexer.cpp

  Log Message:
  -----------
  [TableGen] Fix build failure by using int type for NextChar (#103000)

Fixes an issue in https://github.com/llvm/llvm-project/pull/102967, 
which inddvertently changed the type of `NextChar` from int to char,
causing ppc64le build failures.


  Commit: 3c5509d9ad25ee49aa68ab0c60d73d9587635b62
      https://github.com/llvm/llvm-project/commit/3c5509d9ad25ee49aa68ab0c60d73d9587635b62
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-12 (Mon, 12 Aug 2024)

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

  Log Message:
  -----------
  [flang] Use llvm::is_contained (NFC) (#102999)


  Commit: 2c62d08bda98bab743fc86c9ccc40304949566d6
      https://github.com/llvm/llvm-project/commit/2c62d08bda98bab743fc86c9ccc40304949566d6
  Author: Freddy Ye <freddy.ye at intel.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    M llvm/test/MC/X86/apx/ccmp-att.s
    M llvm/test/MC/X86/apx/ccmp-intel.s
    M llvm/test/MC/X86/apx/ctest-att.s
    M llvm/test/MC/X86/apx/ctest-intel.s
    M llvm/test/MC/X86/apx/setzucc-att.s
    M llvm/test/MC/X86/apx/setzucc-intel.s
    M llvm/test/MC/X86/cmpccxadd-att-alias.s
    M llvm/test/MC/X86/cmpccxadd-intel-alias.s

  Log Message:
  -----------
  [X86][MC] Add assembly alias for CCMP, CTEST, SETZUCC, CMPCCXADD (#102284)


  Commit: aa03327a463ac4d538127e3fc03476a5f42b2bb1
      https://github.com/llvm/llvm-project/commit/aa03327a463ac4d538127e3fc03476a5f42b2bb1
  Author: Mészáros Gergely <gergely.meszaros at intel.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/test/CodeGen/X86/combine-concatvectors.ll

  Log Message:
  -----------
  [X86][AVX] Add missing X86ISD::VBROADCAST(v2i64 -> v4i64) isel pattern for AVX1 targets (#102853)

An internal bug revealed that this form can be formed from existing
combines, and then fail to select. Use the same pattern as v2f64 ->
v4f64 (the instructions are moving bits around the actual type does not
matter here).


  Commit: 3b9f183958c00d2dfe9f91ffdabad9628f2d01d3
      https://github.com/llvm/llvm-project/commit/3b9f183958c00d2dfe9f91ffdabad9628f2d01d3
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp

  Log Message:
  -----------
  [AMDGPU] Use llvm::any_of, llvm::all_of, and llvm::none_of (NFC) (#103007)


  Commit: 2d53f0aab7851b09e8773eb1ca8bd1aa85d20d4b
      https://github.com/llvm/llvm-project/commit/2d53f0aab7851b09e8773eb1ca8bd1aa85d20d4b
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/Interp/Compiler.cpp
    A clang/lib/AST/Interp/CompilerComplex.cpp

  Log Message:
  -----------
  [clang][Interp][NFC] Move _Complex compiler code to separate file (#103004)


  Commit: f5ba3f6740ff13c46da6d3306e39b026f2d15c5a
      https://github.com/llvm/llvm-project/commit/f5ba3f6740ff13c46da6d3306e39b026f2d15c5a
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

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


  Commit: 7030280329c3a723a42304e92f9c207acb8ea731
      https://github.com/llvm/llvm-project/commit/7030280329c3a723a42304e92f9c207acb8ea731
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-32b.mlir
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir

  Log Message:
  -----------
  [mlir][GPU] Improve `gpu.module` op implementation (#102866)

- Replace hand-written parser/printer with auto-generated assembly
format.
- Remove implicit `gpu.module_end` terminator and use the `NoTerminator`
trait instead. (Same as `builtin.module`.)
- Turn the region into a graph region. (Same as `builtin.module`.)


  Commit: 86ef9ee60015c582b14ecfaedda415e671578b4b
      https://github.com/llvm/llvm-project/commit/86ef9ee60015c582b14ecfaedda415e671578b4b
  Author: Abinaya Saravanan <quic_asaravan at quicinc.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/Hexagon/HexagonMask.cpp
    A llvm/test/CodeGen/Hexagon/mask-instr.ll

  Log Message:
  -----------
  [HEXAGON] Enable Utilize Mask Instruction Pass only if the Arch (#102880)

version is greater than v66

No support for mask instruction before arch version v66


  Commit: 2913e71865dfc063a47ddfaf1e2ce07763f69614
      https://github.com/llvm/llvm-project/commit/2913e71865dfc063a47ddfaf1e2ce07763f69614
  Author: Pablo Antonio Martinez <pablo.antonio.martinez at huawei.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M mlir/test/Dialect/Vector/vector-transfer-unroll.mlir

  Log Message:
  -----------
  [mlir][vector] Refactor vector-transfer-unroll.mlir (NFC) (#102593)

Overview of changes:

- All memref input arguments are re-named to %mem.
- All vector input arguments are re-named to %vec.
- LIT variables are update to be consistent with input arguments.
- Renamed all output arguments as %res.
- Unified identation of `FileCheck` commands
- Separated tests (previously there was a big test containing a couple of tests)


  Commit: 2ab910c08c4ed43d6fd9eb2ef9b3ff52e0293cf9
      https://github.com/llvm/llvm-project/commit/2ab910c08c4ed43d6fd9eb2ef9b3ff52e0293cf9
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    A llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll

  Log Message:
  -----------
  [LV] Check pointer user are in loop when checking for uniform pointers.

Widening decisions are not set for users outside the loop. Avoid
crashing by only calling isVectorizedMemAccessUse for users in the loop.

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


  Commit: 85b113c381d14d69bb6f1386488308859f74feaf
      https://github.com/llvm/llvm-project/commit/85b113c381d14d69bb6f1386488308859f74feaf
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/docs/StandardCPlusPlusModules.rst

  Log Message:
  -----------
  [Doc] [C++20] [Modules] Clarify the reachability of internal partition units (#102572)

Motivated by https://github.com/llvm/llvm-project/issues/101348

Although I don't want the tool's doc to explain the standard's wording,
the wording itself has some unspecified thing. So I feel it will be
helpful to make it clear. At least it may help us receive less invalid
issue reports.


  Commit: b8bf14eecfc71cfc2d6931c2d95bc5af21d5e4a3
      https://github.com/llvm/llvm-project/commit/b8bf14eecfc71cfc2d6931c2d95bc5af21d5e4a3
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir

  Log Message:
  -----------
  [mlir][LLVMIR] Check number of elements in `mlir.constant` verifier (#102906)

Check that the number of elements in the result type and the attribute
of an `llvm.mlir.constant` op matches. Also fix a broken test where that
was not the case.


  Commit: 334a366ba792adb41ccf43457b65ac88aa37f178
      https://github.com/llvm/llvm-project/commit/334a366ba792adb41ccf43457b65ac88aa37f178
  Author: Amara Emerson <amara at apple.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/sme-darwin-no-sve-vg.ll

  Log Message:
  -----------
  [AArch64][Darwin][SME] Don't try to save VG to the stack for unwinding.

On Darwin we don't have any hardware that has SVE support, only SME.
Therefore we don't need to save VG for unwinders and can safely omit it.

This also fixes crashes introduced since this feature landed since Darwin's
compact unwind code can't handle the presence of VG anyway.

rdar://131072344


  Commit: 306b9c7b48ade28ed10e5926b6d9f5e3acab3968
      https://github.com/llvm/llvm-project/commit/306b9c7b48ade28ed10e5926b6d9f5e3acab3968
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp

  Log Message:
  -----------
  [SCEV] Handle more add/addrec mixes in computeConstantDifference() (#101999)

computeConstantDifference() can currently look through addrecs with
identical steps, and then through adds with identical operands (apart
from constants).

However, it fails to handle minor variations, such as two nested add
recs, or an outer add with an inner addrec (rather than the other way
around).

This patch supports these cases by adding a loop over the
simplifications, limited to a small number of iterations. The motivation
is the same as in #101339, to make
computeConstantDifference() powerful enough to replace existing uses of
`dyn_cast<SCEVConstant>(getMinusSCEV())` with it. Though as the IR test
diff shows, other callers may also benefit.


  Commit: e0ad56b7359be7fddf858c8be7b118f5be906c33
      https://github.com/llvm/llvm-project/commit/e0ad56b7359be7fddf858c8be7b118f5be906c33
  Author: Lawrence Benson <github at lawben.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    A llvm/test/CodeGen/AArch64/sve-vector-compress.ll

  Log Message:
  -----------
  [AArch64] Add lowering for `@llvm.experimental.vector.compress` (#101015)

This is a follow-up to #92289 that adds custom lowering of the new
`@llvm.experimental.vector.compress` intrinsic on AArch64 with SVE
instructions.

Some vectors have a `compact` instruction that they can be lowered to.


  Commit: b7ebb67b86888de05419e07a38b932344ac9c7a7
      https://github.com/llvm/llvm-project/commit/b7ebb67b86888de05419e07a38b932344ac9c7a7
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [SCEV] Fix -Wrange-loop-construct (NFC)

/llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp:12009:21:
 error: loop variable '[S, Mul]' creates a copy from type 'const value_type' (aka 'const llvm::detail::DenseMapPair<const llvm::SCEV *, int>') [-Werror,-Wrange-loop-construct]
    for (const auto [S, Mul] : Multiplicity) {
                    ^
/llvm-project/llvm/lib/Analysis/ScalarEvolution.cpp:12009:10:
 note: use reference type 'const value_type &' (aka 'const llvm::detail::DenseMapPair<const llvm::SCEV *, int> &') to prevent copying
    for (const auto [S, Mul] : Multiplicity) {
         ^~~~~~~~~~~~~~~~~~~~~
                    &


  Commit: 71d2de8ecd793bd1a1ea51b61d22c233029b3fe8
      https://github.com/llvm/llvm-project/commit/71d2de8ecd793bd1a1ea51b61d22c233029b3fe8
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/cttz.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/pr89877.ll
    M llvm/test/CodeGen/X86/pr90847.ll

  Log Message:
  -----------
  [X86] Promote cttz_i32(x) -> cttz_i64((i64)x | (1 << 32)) (#102900)

On 64bit targets we can promote i32 CTTZ nodes to i64 CTTZ_ZERO_UNDEF by setting the 32nd bit.

#57811 also queried about whether we should use BTS instead of MOVABS+OR to avoid a i64 immediate - I'm willing to tweak the DAGToDAG isel peephole for these cases if reviewers think it worthwhile. But most recent CPUs can actually handle MOVABS faster than BTS/C/R.......

Fixes #57811


  Commit: f9b15a96c6c855fc81e63133d0a3fa778dd98809
      https://github.com/llvm/llvm-project/commit/f9b15a96c6c855fc81e63133d0a3fa778dd98809
  Author: Hans <hans at hanshq.net>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [cmake] Document and suggest LLVM_ENABLE_PDB (#102887)

As suggested in #101533. @rnk added the flag in
b97ff922a9eeea6efbf12deba907848e5002cc76


  Commit: 346a1c51616da51597b7c555766f9487c0afb993
      https://github.com/llvm/llvm-project/commit/346a1c51616da51597b7c555766f9487c0afb993
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/CodeGen/X86/cttz.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/pr89877.ll
    M llvm/test/CodeGen/X86/pr90847.ll

  Log Message:
  -----------
  Revert "[X86] Promote cttz_i32(x) -> cttz_i64((i64)x | (1 << 32))" (#103030)

Reverts llvm/llvm-project#102900 - missed a analysis cost model test change


  Commit: 93f5c61d04fbef877dd9ac74511bb76093cc66cf
      https://github.com/llvm/llvm-project/commit/93f5c61d04fbef877dd9ac74511bb76093cc66cf
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/lib/Serialization/ASTReaderDecl.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Extract the functionality of merging decls from ASTReaderDecl (#103022)

Currently we're merging the decls in ASTReaderDecl. But it is not so
convinient if we want to merge things in ASTReader.

This patch extract the funcitonality of merging decls from ASTReaderDecl
to a new class, ASTReaderMerger. Then it will be easier to merge decls
in ASTReader.

This may help the readability slightly too.


  Commit: 5ce47a5813506e08daddc1e3d59b06f7a452c300
      https://github.com/llvm/llvm-project/commit/5ce47a5813506e08daddc1e3d59b06f7a452c300
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Support/GenericDomTree.h
    M llvm/lib/Analysis/TypeMetadataUtils.cpp
    M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/AlignmentFromAssumptions/domtree-crash.ll
    A llvm/test/Transforms/SLPVectorizer/X86/const-in-different-functions.ll

  Log Message:
  -----------
  Reland "[Support] Assert that DomTree nodes share parent" (#102782)

A dominance query of a block that is in a different function is
ill-defined, so assert that getNode() is only called for blocks that are
in the same function.

There are three cases, where this behavior did occur. LoopFuse didn't
explicitly do this, but didn't invalidate the SCEV block dispositions,
leaving dangling pointers to free'ed basic blocks behind, causing
use-after-free. We do, however, want to be able to dereference basic
blocks inside the dominator tree, so that we can refer to them by a
number stored inside the basic block.

Reverts #102780
Reland #101198
Fixes #102784

Co-authored-by: Alexis Engelke <engelke at in.tum.de>


  Commit: a9636b7f60f283926c66e96c036f5b5d9e57c026
      https://github.com/llvm/llvm-project/commit/a9636b7f60f283926c66e96c036f5b5d9e57c026
  Author: Benjamin Chetioui <3920784+bchetioui at users.noreply.github.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M mlir/include/mlir/IR/StorageUniquerSupport.h

  Log Message:
  -----------
  [mlir][StorageUniquer] Restore old signature for default implementaion of verifyInvariants. (#103023)

PR #102326 changed the prototype of the default implementation of verify
to include emitErrorFn.

This breaks automatic derivation in consumer attributes, such as
https://github.com/tensorflow/runtime/blob/60277ba976739502e45ad26585e071568fa44af1/include/tfrt/core_runtime/opdefs/attributes.h#L53.

This PR simply restores the signature to what it was prior to PR
#102326.


  Commit: 3fa946a8442e1b8d4fdbdc9b9b7e8c12a0f77dcc
      https://github.com/llvm/llvm-project/commit/3fa946a8442e1b8d4fdbdc9b9b7e8c12a0f77dcc
  Author: deadalnix <deadalnix at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp

  Log Message:
  -----------
  [DI] Have createClassType create a class type. (#102624)

I was wondering why my use of createClassType was generating structure
reccords, and it turns out the code is wrong (or for some reason i don't
understand the intended use of the API).

clang itself does not use that part of the API, so this flew under the
radar.


  Commit: 2b077ede083b4185f51a2fe648a27e4c85352a2f
      https://github.com/llvm/llvm-project/commit/2b077ede083b4185f51a2fe648a27e4c85352a2f
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/MC/MCObjectFileInfo.cpp

  Log Message:
  -----------
  [MC] Avoid useless triple copy (#103026)

Copying a triple is cheap, but not free, so let's not do that if there's
no reason to do so. Trivial cleanup.


  Commit: 8fc3a7974701f12f46f3f7c1f967001b0cb22847
      https://github.com/llvm/llvm-project/commit/8fc3a7974701f12f46f3f7c1f967001b0cb22847
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [IR] Add block number traits to CFG (#102758)

This enables the use of the more efficient dominator tree node access.


  Commit: 64d9713637ab98e2b65c9c4317a50ddba0ba0dbc
      https://github.com/llvm/llvm-project/commit/64d9713637ab98e2b65c9c4317a50ddba0ba0dbc
  Author: kadir çetinkaya <kadircet at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
    M clang-tools-extra/include-cleaner/lib/Types.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
    M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
    M clang-tools-extra/include-cleaner/unittests/IncludeSpellerTest.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp

  Log Message:
  -----------
  [include-cleaner] Unify symlink handling (#102615)

We were using tryGetRealPathName in certain places, which resolves
symlinks (sometimes). This was resulting in discrepancies in behavior,
depending on how a file was first reached.

This path migrates all usages of tryGetRealPathName to regular getName
instead.

This implies one backward incompatible change for header-filtering. Our
ignore-header option used to filter against suffixes of absolute paths,
whereas now filter can receive working-directory relative paths in some
cases, possibly braking existing filters.
Chances of really braking users is pretty low:
- We'll still filter against absolute paths when header is outside the
  working directory (e.g. /usr/bin/include/some/linux/header.h.)
- Most projects run builds in a working directory that's nested inside
  the repository, hence relative paths still contain all the segments
  relative to repository root and anything else is unlikely to be
  meaningful. e.g. if a header is in
  `$HOME/work/llvm-project/clang-tools-extra/header.h` with builds being
  run in `$home/work/llvm-project/build`, we'll still filter against
  `../clang-tools-extra/header.h` which has all the useful segments as a
  suffix.
- This is also a change in how we handle symlinks, but this is aligned
  with what we do in rest of our tools (clangd, tidy checks etc.). We
  tend to not resolve any symlinks for the file.


  Commit: b7863d13df2ec51fe0966f2de011965c0322c8b6
      https://github.com/llvm/llvm-project/commit/b7863d13df2ec51fe0966f2de011965c0322c8b6
  Author: qazwsxedcrfvtg14 <qazwsxedcrfvtg14 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [mlir] Fix misleading comment for type trait (#103041)

We are using `has_initialize` to check the class has `initialize`
function instead of the `getOperationName` function.


  Commit: 103cdd45fcdb8024f73f43bddf1764e26bfa0053
      https://github.com/llvm/llvm-project/commit/103cdd45fcdb8024f73f43bddf1764e26bfa0053
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    A clang/test/SemaCXX/matrix-index-operator-sign-conversion.cpp

  Log Message:
  -----------
  [Matrix] Add test showing unintended implicit sign conversion warning.


  Commit: 778a1f29fc29bb184634eae14db1b39f70b7bc45
      https://github.com/llvm/llvm-project/commit/778a1f29fc29bb184634eae14db1b39f70b7bc45
  Author: Kadir Cetinkaya <kadircet at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp

  Log Message:
  -----------
  [include-cleaner] Fix windows buildbots after 64d9713637ab9


  Commit: 875b551de73e1b38cd40b2d39d9144c6fd0b27ec
      https://github.com/llvm/llvm-project/commit/875b551de73e1b38cd40b2d39d9144c6fd0b27ec
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [SLP][REVEC] Make computeMinimumValueSizes and collectValuesToDemote support vector instructions. (#103005)


  Commit: d550ada5ab6cd6e49de71ac4c9aa27ced4c11de0
      https://github.com/llvm/llvm-project/commit/d550ada5ab6cd6e49de71ac4c9aa27ced4c11de0
  Author: Jacek Caban <jacek at codeweavers.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll

  Log Message:
  -----------
  [CodeGen][ARM64EC] Define hybrid_patchable EXP thunk symbol as a function. (#102898)

This is needed for MSVC link.exe to generate redirection metadata for hybrid patchable thunks.


  Commit: dc8c217db6329f03a116ef63dafa6de02913d311
      https://github.com/llvm/llvm-project/commit/dc8c217db6329f03a116ef63dafa6de02913d311
  Author: Egor Zhdan <e_zhdan at apple.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [APINotes] Support C++ tag conformances to Swift protocols

This allows adding a Clang attribute
`swift_attr("conforms_to:ModuleName.ProtocolName")` to C++ structs via
API Notes.

The Swift compiler respects this attribute when importing C++ types into
Swift by automatically declaring the C++ type as a conforming type to
the given Swift protocol.

rdar://131388824


  Commit: ed7ad0a1a0584f90a211ca5a87bc46968e169e5d
      https://github.com/llvm/llvm-project/commit/ed7ad0a1a0584f90a211ca5a87bc46968e169e5d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
    M llvm/test/Analysis/CostModel/X86/cttz-latency.ll
    M llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
    M llvm/test/CodeGen/X86/cttz.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/pr89877.ll
    M llvm/test/CodeGen/X86/pr90847.ll

  Log Message:
  -----------
  [X86] Promote cttz_i32(x) -> cttz_i64((i64)x | (1 << 32)) (#102900) (REAPPLIED)

On 64bit targets we can promote i32 CTTZ nodes to i64 CTTZ_ZERO_UNDEF by setting the 32nd bit.

#57811 also queried about whether we should use BTS instead of MOVABS+OR to avoid a i64 immediate - I'm willing to tweak the DAGToDAG isel peephole for these cases if reviewers think it worthwhile. But most recent CPUs can actually handle MOVABS faster than BTS/C/R.......

Reapplied with missing costmodel changes - the cost tables can probably be improved in a follow up patch.

Fixes #57811


  Commit: 4197386dbde3a59e6b3133604b7a0ae10eb4ed74
      https://github.com/llvm/llvm-project/commit/4197386dbde3a59e6b3133604b7a0ae10eb4ed74
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
    M llvm/test/CodeGen/AArch64/sve-fcmp.ll
    M llvm/test/CodeGen/AArch64/sve-fp-int-min-max.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [LLVM][SelectionDAG] Remove scalable vector restriction from poison analysis. (#102504)

The following functions have an early exit for scalable vectors:
  SelectionDAG::canCreateUndefOrPoison
  SelectionDAG:isGuaranteedNotToBeUndefOrPoison
    
The implementations of these don't look to be sensitive to the
vector type other than some uses of demanded elts analysis that
doesn't fully support scalable types.  That said the initial
calculation demands all elements and so I've followed the same
scheme as used by TargetLowering::SimplifyDemandedBits.


  Commit: 2256d00a1445e751f20040cb4292aa325dd83c8e
      https://github.com/llvm/llvm-project/commit/2256d00a1445e751f20040cb4292aa325dd83c8e
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [SLP][REVEC] Use VL.front()->getType() as ScalarTy. (#102437)

VL.front()->getType() may be FixedVectorType when revec is enabled.

Fix "Expected item in MinBWs.".


  Commit: b4edfc19202cf44f8b49d2a953113b167395b595
      https://github.com/llvm/llvm-project/commit/b4edfc19202cf44f8b49d2a953113b167395b595
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll

  Log Message:
  -----------
  [LTO] Run ObjCARCContractPass according to the callgraph (#103034)

This matches other IR codegen passes and avoids a Dominator Tree
Construction in AMDGPU O2/O3 builds.


  Commit: f0f5afe9685c2085a4ca51eeb40262f1def61377
      https://github.com/llvm/llvm-project/commit/f0f5afe9685c2085a4ca51eeb40262f1def61377
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir

  Log Message:
  -----------
  [mlir][vector] Add more tests for ConvertVectorToLLVM (3/n) (#102854)

Adds tests with scalable vectors for the Vector-To-LLVM conversion pass.
Covers the following Ops:
  * vector.extractelement
  * vector.extract

I have also renamed some function names from `@extract_element{}` to
`@extractelement{}` - that's to make a clearer distinction between
tests for `vector.extractelement` (tested by `@extractelement{}`) and
`vector.extract` (tested by `@extract_element{}`).


  Commit: 53c41f95db3ab3f4a5d4562fd76f7f4115c52bad
      https://github.com/llvm/llvm-project/commit/53c41f95db3ab3f4a5d4562fd76f7f4115c52bad
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [MemoryBuiltins] Use getAllOnesValue()

Split out from https://github.com/llvm/llvm-project/pull/80309.


  Commit: 4d97ad59f9ef4a26a52be8ff9bfcfa58d5039eb4
      https://github.com/llvm/llvm-project/commit/4d97ad59f9ef4a26a52be8ff9bfcfa58d5039eb4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [InstCombine] Use APInt::getSplat()

Split off from https://github.com/llvm/llvm-project/pull/80309.


  Commit: 7990a7e58f0656f752178f22a767c6250b6aa8dc
      https://github.com/llvm/llvm-project/commit/7990a7e58f0656f752178f22a767c6250b6aa8dc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [IndVars] Use getSigned() in FP transform

This transform is working on signed integer, so this is the
logically correct API.

Split off from https://github.com/llvm/llvm-project/pull/80309.


  Commit: adb4cfe0b61859eb0911b34c6f27eb5925cb9d94
      https://github.com/llvm/llvm-project/commit/adb4cfe0b61859eb0911b34c6f27eb5925cb9d94
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [InstCombine] Use getAllOnesValue()

Split off from https://github.com/llvm/llvm-project/pull/80309.


  Commit: 5c3a0fa7e5ad0b3de7c6a76c6637e63890709e97
      https://github.com/llvm/llvm-project/commit/5c3a0fa7e5ad0b3de7c6a76c6637e63890709e97
  Author: Tobias Stadler <mail at stadler-tobias.de>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp

  Log Message:
  -----------
  [GlobalISel] IRTranslator: Use RAIIMFObsDelInstaller (#102379)

Similar to #102156.

runOnMachineFunction() installs the Observer correctly manually.

finishPendingPhis() doesn't install into the MF, but this currently
can't cause issues because DILocationVerifier doesn't care about changed
instructions.

Switch to RAIIMFObsDelInstaller in both places for consistency.


  Commit: 6aad4918e8d65bdebd30de3fe06b1e2f3c9e525b
      https://github.com/llvm/llvm-project/commit/6aad4918e8d65bdebd30de3fe06b1e2f3c9e525b
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [SLP][REVEC] Make MinBWs support vector instructions. (#103049)

If ScalarTy is FixedVectorType, it should remain as FixedVectorType.


  Commit: b53fe2ca8c4d56be42d98c4ef5a183f90b3fb628
      https://github.com/llvm/llvm-project/commit/b53fe2ca8c4d56be42d98c4ef5a183f90b3fb628
  Author: Rainer Orth <ro at gcc.gnu.org>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M flang/test/Evaluate/fold-out_of_range.f90

  Log Message:
  -----------
  [flang][test] Restrict Evaluate/fold-out_of_range.f90 to x86_64 (#102890)

`Flang :: Evaluate/fold-out_of_range.f90` currently `FAIL`s on
Linux/sparc64. This seems to be the same issue that led to disabling the
test on Solaris in 27549ee989d7e0803d41c206cf636f0b689210f1. In fact,
the generic Solaris disablement was over-eager: the test `PASS`es just
fine on Solaris/amd64.

Since the use of `REAL*10` makes the test x86-specific, this patch
actually implements that requirement.

Tested on `sparc64-unknown-linux-gnu`, `sparcv9-sun-solaris2.11`,
`amd64-pc-solaris2.11`, and `x86_64-pc-linux-gnu`.


  Commit: f117f0a746177bdc8b5f658e6da84cd02909aff1
      https://github.com/llvm/llvm-project/commit/f117f0a746177bdc8b5f658e6da84cd02909aff1
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    A libcxx/utils/synchronize_csv_status_files.py

  Log Message:
  -----------
  [libc++] Add a script to synchronize status-tracking CSVs with Github issues (#101704)

This script can be run manually to synchronize the CSV files that we use
to track Standards Conformance with the Github issues that track our
implementation of LWG issues and papers.


  Commit: 40897638837fdc5d64d8932fd892f3b9a687ee84
      https://github.com/llvm/llvm-project/commit/40897638837fdc5d64d8932fd892f3b9a687ee84
  Author: Amy Kwan <amy.kwan1 at ibm.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalMerge.cpp
    A llvm/test/Transforms/GlobalMerge/private-global.ll

  Log Message:
  -----------
  [GlobalMerge] Update the GlobalMerge pass to merge private global variables. (#101222)

This patch updates the GlobalMerge pass to be able to handle private
global variables, which is required for a follow-up PowerPC specific
GlobalMerge patch to merge internal and private globals.

A new LIT test is also added to exhibit the ability to merge private
globals.


  Commit: 5dbec8c6ce473352cac2d89d6a5b81f65182df59
      https://github.com/llvm/llvm-project/commit/5dbec8c6ce473352cac2d89d6a5b81f65182df59
  Author: xusheng <xusheng at vector35.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/test/API/functionalities/gdb_remote_client/TestStopPCs.py

  Log Message:
  -----------
  [lldb] Claim to support swbreak and hwbreak packets when debugging a gdbremote (#102873)

This fixes https://github.com/llvm/llvm-project/issues/56125 and
https://github.com/vadimcn/codelldb/issues/666, as well as the
downstream issue in our binary ninja debugger:
https://github.com/Vector35/debugger/issues/535

Basically, lldb does not claim to support the `swbreak` packet so the
gdbserver would not use it. As a result, the gdbserver always sends the
unmodified program counter value which, on systems like x86, causes the
program counter to be off-by-one (or otherwise wrong). For reference,
the lldb-server always sends the modified program counter value so it
works perfectly with lldb.

https://sourceware.org/gdb/current/onlinedocs/gdb.html/Stop-Reply-Packets.html#swbreak-stop-reason

No new code is added to add support `swbreak`, since the way lldb works
already expects the remote to have adjusted the program counter. The
change just lets the gdbserver know that lldb supports it, so that it
will send the adjusted program counter.

To test this PR, you can use lldb to connect to a gdbserver running on
e.g., Ubuntu 22.04, and see the program counter is off-by-one without
the patch. With the patch, things work as expected


  Commit: f807c5e492878240fe6d7be23b930c78c4e62eba
      https://github.com/llvm/llvm-project/commit/f807c5e492878240fe6d7be23b930c78c4e62eba
  Author: J. Ryan Stinnett <jryans at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
    A llvm/test/tools/llvm-dwarfdump/X86/DW_OP_implicit_pointer.yaml

  Log Message:
  -----------
  [DebugInfo] Add expression decoding for `DW_OP_implicit_pointer` (#102923)

This allows `llvm-dwarfdump` to decode the DWARF 5 opcode
`DW_OP_implicit_pointer` (0xa0). GCC makes use of this opcode in recent
versions. LLVM contains some (unfinished) support as well. With existing
usage in the ecosystem, adding decoding support here seems reasonable.


  Commit: f364b2ee22209e4072c39a153b3385806974f8b0
      https://github.com/llvm/llvm-project/commit/f364b2ee22209e4072c39a153b3385806974f8b0
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/lib/Analysis/MemorySSA.cpp
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/GlobalStatus.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

  Log Message:
  -----------
  [LLVM] Don't peek through bitcast on pointers and gep with zero indices. NFC. (#102889)

Since we are using opaque pointers now, we don't need to peek through
bitcast on pointers and gep with zero indices.


  Commit: 560ed8ce3d21d5291546a946ee00ec602e11579c
      https://github.com/llvm/llvm-project/commit/560ed8ce3d21d5291546a946ee00ec602e11579c
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/math/index.rst
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    A libc/src/math/expm1f16.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/expf16.cpp
    A libc/src/math/generic/expm1f16.cpp
    M libc/src/math/generic/expxf16.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/expm1f16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/expm1f16_test.cpp

  Log Message:
  -----------
  [libc][math][c23] Add expm1f16 C23 math function (#102387)

Part of #95250.


  Commit: d97df40f346ee6761c3ea9cc6c60e9ee8225a6fc
      https://github.com/llvm/llvm-project/commit/d97df40f346ee6761c3ea9cc6c60e9ee8225a6fc
  Author: Krzysztof Drewniak <Krzysztof.Drewniak at amd.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td

  Log Message:
  -----------
  [mlir][AMDGPU] Relax restrictions on raw_buffer_load (#102229)

The buffer load operation might temporarily admit "illegal" types, like
i4, or types not yet known to the rewrite pattern (like f8E5M2) and then
be rewritten to legal types before lowering to LLVM. This patch removes
the verifier restriction that prevents this pattern. This harmonizes the
definition of `amdgpu.raw_buffer_load` with the definition of
`amdgpu.raw_buffer_store`.


  Commit: ac26c661ead4c5fb05d13c7d07a706f2a305970a
      https://github.com/llvm/llvm-project/commit/ac26c661ead4c5fb05d13c7d07a706f2a305970a
  Author: Daniel Kiss <daniel.kiss at arm.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [compiler-rt][SME] Correct .variant_pcs directives. (#103047)


  Commit: d385485450652dd75e0946d543c6bb4e0f3abf68
      https://github.com/llvm/llvm-project/commit/d385485450652dd75e0946d543c6bb4e0f3abf68
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll

  Log Message:
  -----------
  [SCEV] Autogenerate a test for ease of upcoming update


  Commit: 0f28aa632cde6fa085060383998f98ed7f8fb814
      https://github.com/llvm/llvm-project/commit/0f28aa632cde6fa085060383998f98ed7f8fb814
  Author: Lei Wang <wlei at fb.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-missing-probe.prof
    A llvm/test/Transforms/SampleProfile/pseudo-probe-missing-probe.ll

  Log Message:
  -----------
  [CSSPGO] Return error_code for missing probe profile (#102085)

We should undo this https://reviews.llvm.org/D102007 after undoing
https://reviews.llvm.org/D104477 to use missing probe to represent
unknown count, zero count and unknown count are different to profile
inference.

It only affects post-inline(linker) pipeline(with
`--overwrite-existing-weights` on ) and flow-sensitive FDO.


  Commit: b89853b50459112a9c270616b350e25cc07671bf
      https://github.com/llvm/llvm-project/commit/b89853b50459112a9c270616b350e25cc07671bf
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [LLVM] Fix whitespace issues in VPBlendRecipe::execute.


  Commit: 4371c79d45e8fca88957eaac42da1211c830b076
      https://github.com/llvm/llvm-project/commit/4371c79d45e8fca88957eaac42da1211c830b076
  Author: Schrodinger ZHU Yifan <yifanzhu at rochester.edu>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/include/CMakeLists.txt
    A libc/include/elf.h.def
    A libc/include/link.h.def
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/elf-macros.h
    M libc/include/llvm-libc-macros/link-macros.h
    A libc/newhdrgen/yaml/elf.yaml
    A libc/newhdrgen/yaml/link.yaml

  Log Message:
  -----------
  [libc] Reapply ELF/LINK header changes (#102765)

This is based on @izaakschroeder previous patch but I only select macro
definitions for now. We need these definitions for VDSO work, which has
been delayed for a very long time.

Co-authored-by: Izaak Schroeder <izaak.schroeder at gmail.com>


  Commit: 03d51019d0c50a9a573a0d7c0848bb424cb21a18
      https://github.com/llvm/llvm-project/commit/03d51019d0c50a9a573a0d7c0848bb424cb21a18
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M compiler-rt/test/fuzzer/fork-sigusr.test
    M compiler-rt/test/fuzzer/merge-sigusr.test
    M compiler-rt/test/fuzzer/sigint.test
    M compiler-rt/test/fuzzer/sigusr.test

  Log Message:
  -----------
  Add REQUIRES: shell to Tests Requiring Full Shell Functionality with lit Internal Shell  (#102988)

This patch adds the `REQUIRES: shell` directive to compiler-rt's fuzzer
tests that require full shell functionality when using the lit internal
shell. These tests depend on features such as background processes,
signal handling, and session management, which are not supported by
lit's internal shell. The addition of this directive ensures that these
tests are only executed in environments that provide the necessary shell
capabilities.

**Details of the Change:**
The following considerations were addressed:
- **Background Processes (`&`):** The tests run commands in the
background using the `&` operator, which allows the shell to execute
commands concurrently without waiting for each one to finish. In a
standard Unix-like shell, this is a common feature that facilitates
multitasking. However, lit's internal shell does not fully support
background job control, which can lead to unpredictable behavior or test
failures. Without proper handling of background processes, subsequent
commands that depend on the status of these processes may not function
correctly.
- **Signal Handling (`kill -SIGUSR1`, `kill -SIGUSR2`, `kill
-SIGINT`):** These tests involve sending specific signals like
`SIGUSR1`, `SIGUSR2`, and `SIGINT` to running processes. These signals
are used to trigger certain behaviors in the processes, such as pausing,
resuming, or terminating. However, lit's internal shell may not handle
these signals properly—it might not send the signal correctly, or the
process might not respond as it should. This could lead to the test
failing, not because the process is incorrect, but because the shell
didn't manage the signals as required.
- **Session Management (`setsid`):** The tests use `setsid` to create
new sessions, detaching processes from their controlling terminal and
isolating them into their own process groups. However, the internal
shell in lit does not support session management features like `setsid`,
this can't correctly isolate and manage processes as required by these
tests.

This change is relevant for enabling the lit internal shell by default,
as outlined in [[RFC] Enabling the Lit Internal Shell by
Default](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)


  Commit: 1ae507d1091377f560c1f458487472da1730e1be
      https://github.com/llvm/llvm-project/commit/1ae507d1091377f560c1f458487472da1730e1be
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll

  Log Message:
  -----------
  AMDGPU: Do not create phi user for atomicrmw with no uses (#103061)


  Commit: 17dc43d623281cc7169c80574ac5058aa0f78b56
      https://github.com/llvm/llvm-project/commit/17dc43d623281cc7169c80574ac5058aa0f78b56
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Lex/HeaderSearch.cpp

  Log Message:
  -----------
  [clang] Stop adjusting the module cache path (#102540)

This patch stops adjustments of the module cache path beyond what is
done in `ParseHeaderSearchArgs` (making it absolute and removing dots).
This enables more efficient implementation of the caching VFS in
https://github.com/llvm/llvm-project/pull/88800.


  Commit: 55323ca6c8b9d21d85591f3499b299b62463321f
      https://github.com/llvm/llvm-project/commit/55323ca6c8b9d21d85591f3499b299b62463321f
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp

  Log Message:
  -----------
  [clang][deps] Only bypass scanning VFS for the module cache (#88800)

The scanning VFS doesn't cache stat failures of paths with no extension.
This was originally implemented to avoid caching the non-existence of
the modules cache directory that the modular scanner will eventually
create if it does not exist.

However, this prevents caching of the non-existence of all directories
and notably also header files from the standard C++ library, which can
lead to sub-par performance.

This patch adds an API to the scanning VFS that allows clients to
configure path prefix for which to bypass the scanning VFS and use the
underlying VFS directly.


  Commit: 2d7a2c1212d3539a59afec7e998af8caaa7ea1c0
      https://github.com/llvm/llvm-project/commit/2d7a2c1212d3539a59afec7e998af8caaa7ea1c0
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp

  Log Message:
  -----------
  AtomicExpand: Refactor atomic instruction handling (#102914)

Move the processing of an instruction into a helper function. Also
avoid redundant checking for all types of atomic instructions.
Including the assert, it was effectively performing the same check
3 times.


  Commit: 246f345152e933aa40fd20929b59b5c8ef04ce38
      https://github.com/llvm/llvm-project/commit/246f345152e933aa40fd20929b59b5c8ef04ce38
  Author: Han-Kuan Chen <hankuan.chen at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [SLP][REVEC] Make CastInst support vector instructions. (#103216)


  Commit: ba400539e2880274bde7d70244269a82347dca31
      https://github.com/llvm/llvm-project/commit/ba400539e2880274bde7d70244269a82347dca31
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/test/Interpreter/const.cpp

  Log Message:
  -----------
  [Interp] Mark the test unsupported with Asan (#102859)

It's very flaky recently.

10 bulds are OK, then 3 failed:
https://lab.llvm.org/buildbot/#/builders/52/builds/1524
https://lab.llvm.org/buildbot/#/builders/52/builds/1525
https://lab.llvm.org/buildbot/#/builders/52/builds/1526
then 3 OK
https://lab.llvm.org/buildbot/#/builders/52/builds/1531
https://lab.llvm.org/buildbot/#/builders/52/builds/1532
then 2 green again

We need to stop to spam blame list by disabling the test,
and investigate later if Asan is valuable for the test.

Issue #102858


  Commit: fa9f6b58285b86de794f956daa7f4027e2fc6baa
      https://github.com/llvm/llvm-project/commit/fa9f6b58285b86de794f956daa7f4027e2fc6baa
  Author: SpencerAbson <Spencer.Abson at arm.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll

  Log Message:
  -----------
  [AArch64][NEON] Add famax/famin codegen patterns (#103027)

- min(abs(a), abs(b)) -> famin(a, b), max(abs(a), abs(b))-> famax(a, b)

- Changes to LLVM
    - llvm/lib/Target/AArch64InstrInfo.td
	    - Add pattern for NEON types
     - +llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll
	    - Add tests with and without +faminmax flag.


  Commit: 277ca48f2f2ab78290c0702d45b6db54a32c99cf
      https://github.com/llvm/llvm-project/commit/277ca48f2f2ab78290c0702d45b6db54a32c99cf
  Author: David Green <david.green at arm.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    R llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-uaddlv.mir
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-across.ll

  Log Message:
  -----------
  [AArch64] Additional saddlv store tests. NFC

The select-intrinsic-uaddlv.mir test now lower via G_SADDLV / G_UADDLV so is no
longer needed.


  Commit: 248e88523518ae66a20d02bd3636cd0a15453958
      https://github.com/llvm/llvm-project/commit/248e88523518ae66a20d02bd3636cd0a15453958
  Author: Mosè Giordano <mose at gnu.org>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/timing.h

  Log Message:
  -----------
  [compiler-rt] Define `__STDC_FORMAT_MACROS` to ensure `PRId64` is available (#102980)

In
https://github.com/JuliaPackaging/Yggdrasil/pull/9246#issuecomment-2284894139
we ran into
```
[20:54:03] [ 65%] Building CXX object lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o
[20:54:03] cd /workspace/srcdir/compiler-rt-17.0.6.src/build/lib/scudo/standalone && /opt/bin/x86_64-linux-gnu-libgfortran5-cxx11/x86_64-linux-gnu-g++ --sysroot=/opt/x86_64-linux-gnu/x86_64-linux-gnu/sys-root/  -I/workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/../.. -I/workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/include -Wall -Wno-unused-parameter -O3 -DNDEBUG -m64 -Werror=conversion -Wall -Wextra -pedantic -g -nostdinc++ -fvisibility=hidden -fno-exceptions -Wno-pedantic -fno-lto -O3 -fno-omit-frame-pointer -DGWP_ASAN_HOOKS -std=c++17 -MD -MT lib/scudo/standalone/CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o -MF CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o.d -o CMakeFiles/RTScudoStandalone.x86_64.dir/timing.cpp.o -c /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.cpp
[...]
[20:54:03] In file included from /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.cpp:9:
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h: In member function ‘void scudo::TimingManager::printImpl(scudo::ScopedString&, scudo::u32, scudo::u32)’:
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:182:21: error: expected ‘)’ before ‘PRId64’
[20:54:03]      Str.append("%14" PRId64 ".%" PRId64 "(ns) %-11s", Integral, Fraction, " ");
[20:54:03]                ~     ^~~~~~~
[20:54:03]                      )
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:182:16: warning: conversion lacks type at end of format [-Wformat=]
[20:54:03]      Str.append("%14" PRId64 ".%" PRId64 "(ns) %-11s", Integral, Fraction, " ");
[20:54:03]                 ^~~~~
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:182:16: warning: too many arguments for format [-Wformat-extra-args]
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:186:23: error: expected ‘)’ before ‘PRId64’
[20:54:03]      Str.append("%s (%" PRId64 ")\n", Timers[HandleId].Name, Occurrence);
[20:54:03]                ~       ^~~~~~~
[20:54:03]                        )
[20:54:03] /workspace/srcdir/compiler-rt-17.0.6.src/lib/scudo/standalone/timing.h:186:16: warning: spurious trailing ‘%’ in format [-Wformat=]
[20:54:03]      Str.append("%s (%" PRId64 ")\n", Timers[HandleId].Name, Occurrence);
[20:54:03]                 ^~~~~~~
```
when compiling compiler-rt with GCC 8. This was resolved by defining
`__STDC_FORMAT_MACROS`.


  Commit: afd42fb3038904e8c09c0fb735e713bc052ec0e4
      https://github.com/llvm/llvm-project/commit/afd42fb3038904e8c09c0fb735e713bc052ec0e4
  Author: Brox Chen <broxigarchen at outlook.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt

  Log Message:
  -----------
  [AMDGPU][True16][CodeGen] Support AND/OR/XOR and LDEXP True16 format (#102620)

Support AND/OR/XOR true16 and LDEXP true/fake16 format.

These instructions are previously implemented with fake16 profile.
Fixing the implementation.

Added a RA hint so that when using 16bit register in a 32bit
instruction, try to use the register directly without an extra 16bit
move

---------

Co-authored-by: guochen2 <guochen2 at amd.com>


  Commit: dcc27ea41ebc7244a10f15114f60f5e8d6b93b34
      https://github.com/llvm/llvm-project/commit/dcc27ea41ebc7244a10f15114f60f5e8d6b93b34
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/test/Driver/linker-wrapper.c
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M offload/test/api/omp_dynamic_shared_memory_amdgpu.c
    M offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
    M offload/test/offloading/bug51781.c
    M offload/test/offloading/bug51982.c

  Log Message:
  -----------
  [LinkerWrapper] Always pass `-flto` if the linker supports it (#102972)

Summary;
Now that we use the linker to do LTO / device linking, we need to inform
the `clang` invocation to use `-flto` so it forwards arguments like
`-On` correctly.


  Commit: b4c4c799ab084f0bbd975e724384684b3ee4facb
      https://github.com/llvm/llvm-project/commit/b4c4c799ab084f0bbd975e724384684b3ee4facb
  Author: OverMighty <its.overmighty at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/expxf16.h

  Log Message:
  -----------
  [libc][math] Fix missing LIBC_INLINE on exp_range_reduction() function (#103305)

See Buildbot failure:
https://lab.llvm.org/buildbot/#/builders/73/builds/3669.


  Commit: 7e236136ab2896dee12bbe96d5994bb65c326e9f
      https://github.com/llvm/llvm-project/commit/7e236136ab2896dee12bbe96d5994bb65c326e9f
  Author: Adrian Prantl <aprantl at apple.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py

  Log Message:
  -----------
  [lldb] Skip libcxx tests with older versions of clang


  Commit: 80c51fad3b683c8c9ee4c26aa41eda2f78a29627
      https://github.com/llvm/llvm-project/commit/80c51fad3b683c8c9ee4c26aa41eda2f78a29627
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll
    M llvm/test/Transforms/AtomicExpand/ARM/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/ARM/cmpxchg-weak.ll
    M llvm/test/Transforms/AtomicExpand/Hexagon/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-xchg-fp.ll

  Log Message:
  -----------
  AtomicExpand: Regenerate baseline checks (#103063)


  Commit: a9604cd3212beb6cdb41a79f248723140ab9939d
      https://github.com/llvm/llvm-project/commit/a9604cd3212beb6cdb41a79f248723140ab9939d
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
    A llvm/unittests/Support/DynamicLibrary/DynamicLibraryTests.exports

  Log Message:
  -----------
  [CMake] Fix DynamicLibraryTests exports symbol when plugins are enabled (#102941)

Exporting symbols from tools directory never worked with
`LLVM_EXPORT_SYMBOLS_FOR_PLUGINS=On`. When that options is on, only
symbols from the static library is linked is exported due to the export
symbols computation script. DynamicLibraryTests needs to export a symbol
from the tools/executable directory, so update it to use export list
instead.


  Commit: f0ef1d3bae02cd7623e87e759db19432717f51bf
      https://github.com/llvm/llvm-project/commit/f0ef1d3bae02cd7623e87e759db19432717f51bf
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp

  Log Message:
  -----------
  [CompilerRT][Darwin] Silence the warnings for deprecated APIs (#102977)

Silence deprecated API warnings in compiler-rt on Darwin platforms.


  Commit: b1aa0b0b88a0bca2553f8c6d6c52ec3b7205064b
      https://github.com/llvm/llvm-project/commit/b1aa0b0b88a0bca2553f8c6d6c52ec3b7205064b
  Author: Sergei Barannikov <barannikov88 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/unittests/IR/DataLayoutTest.cpp

  Log Message:
  -----------
  [DataLayout] Remove `clear` and `reset` methods (NFC) (#102993)

`clear` was never necessary as it is always called on a fresh instance
of the class or just before freeing an instance's memory. `reset` is
effectively the same as the constructor.

Pull Reuquest: https://github.com/llvm/llvm-project/pull/102993


  Commit: dbe8a10c06be56d9a2a45a08ce8c95c5f0b1c21c
      https://github.com/llvm/llvm-project/commit/dbe8a10c06be56d9a2a45a08ce8c95c5f0b1c21c
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/CodeGen/TypePromotion.cpp

  Log Message:
  -----------
  [TypePromotion] Use return value from SmallPtrSet::insert to avoid a call to SmallPtrSet::count. NFC (#103008)


  Commit: f58f92c2138ed0b3e802d0c45ba3652e72e208c4
      https://github.com/llvm/llvm-project/commit/f58f92c2138ed0b3e802d0c45ba3652e72e208c4
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

  Log Message:
  -----------
  [SelectionDAG] Move SelectionDAG::getAllOnesConstant out of line. NFC (#102995)

This function has to get the scalar size and create an APInt. I don't
think it belongs inline.


  Commit: 00a4042212898a26e43ba0c13ad69677e65f271b
      https://github.com/llvm/llvm-project/commit/00a4042212898a26e43ba0c13ad69677e65f271b
  Author: vporpo <vporpodas at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp

  Log Message:
  -----------
  [SandboxIR] Implement AtomicCmpXchgInst (#102710)

This patch implements sandboxir::AtomicCmpXchgInst which mirrors
llvm::AtomiCmpXchgInst.


  Commit: 494eec0255d0e270ed877e960843177759f0ee73
      https://github.com/llvm/llvm-project/commit/494eec0255d0e270ed877e960843177759f0ee73
  Author: Igor Kudrin <ikudrin at accesssoftek.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp

  Log Message:
  -----------
  [lldb][NFCI] Simplify ProcessElfCore::GetAuxvData() (#102263)

There is no need to clone the content and set extraction properties
because `m_auxv` is already in the required form.


  Commit: 6807ca8e937e6949af838995964613fab2fbe0dc
      https://github.com/llvm/llvm-project/commit/6807ca8e937e6949af838995964613fab2fbe0dc
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/test/ThinLTO/X86/ctxprof.ll

  Log Message:
  -----------
  [nfc][ctx_prof] Use one flag for the "use" scenario (#103377)

No need to have two flags, one for the thinlink and one for compilation.


  Commit: edded8d7b5cb310524494cca317dd3582234b56f
      https://github.com/llvm/llvm-project/commit/edded8d7b5cb310524494cca317dd3582234b56f
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
    R llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-unsafe-fp-atomics.ll

  Log Message:
  -----------
  AMDGPU: Stop handling legacy amdgpu-unsafe-fp-atomics attribute (#101699)

This is now autoupgraded to annotate atomicrmw instructions in
old bitcode.


  Commit: 661dda9df13c65ce021407bb726b558c7a414731
      https://github.com/llvm/llvm-project/commit/661dda9df13c65ce021407bb726b558c7a414731
  Author: Yitzhak Mandelbaum <ymand at users.noreply.github.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/lib/Sema/SemaTemplate.cpp
    A clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp

  Log Message:
  -----------
  [clang] Add frontend flag to enable support for broken external resugarers (#103219)

Forked from https://github.com/llvm/llvm-project/pull/102510 by
[mizvekov](https://github.com/mizvekov). Changes are captured as a fixup
commit.

There are some external projects that can't rely on our own sugar
propagation for templated entities, because they need to resugar types
which only exist within their framework, and so are entirely invisible
to our internal tooling.

This new flag is meant to prevent our transforms from removing any
Subst*
nodes.

For this, this is wired only to template type alias subsititutions.

Note that our AST does represent enough information to correctly
resugar template type alias, so any users of this are limited in their 
capacity to reconstruct the parameter substitutions fully.

---------

Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>


  Commit: 2c8bd4a729a042ed823547ea0eacad429c50d7bf
      https://github.com/llvm/llvm-project/commit/2c8bd4a729a042ed823547ea0eacad429c50d7bf
  Author: Helena Kotas <hekotas at microsoft.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/test/CodeGenHLSL/export.hlsl

  Log Message:
  -----------
  [HLSL] Mark exported functions with "hlsl.export" attribute (#102275)

Marks exported functions with `"hlsl.export"` attribute. This
information will be later used by DXILFinalizeLinkage pass (coming soon)
to determine which functions should have internal linkage in the final
DXIL code.

Related to #llvm/llvm-project#92071


  Commit: 0aa22dcd2f6ec5f46b8ef18fee88066463734935
      https://github.com/llvm/llvm-project/commit/0aa22dcd2f6ec5f46b8ef18fee88066463734935
  Author: Tulio Magno Quites Machado Filho <tuliom at redhat.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M openmp/runtime/src/z_Linux_asm.S

  Log Message:
  -----------
  [OpenMP][AArch64] Fix branch protection in microtasks (#102317)

Start __kmp_invoke_microtask with PACBTI in order to identify the
function as a valid branch target. Before returning, SP is
authenticated.
Also add the BTI and PAC markers to z_Linux_asm.S.

With this patch, libomp.so can now be generated with DT_AARCH64_BTI_PLT
when built with -mbranch-protection=standard.

The implementation is based on the code available in compiler-rt.


  Commit: ae466a61d39454d9f311e2e4b624e256bbd5d18b
      https://github.com/llvm/llvm-project/commit/ae466a61d39454d9f311e2e4b624e256bbd5d18b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/ValueTypes.h
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/lib/CodeGen/ValueTypes.cpp

  Log Message:
  -----------
  [SelectionDAG] Add getFltSemantics to MVT and EVT. NFC

This will be used to replace SelectionDAG::EVTToAPFloatSemantics

A similar method exists in IR's Type class.


  Commit: 51bad732dc78d777b5dc25fd840f00b61110e4f2
      https://github.com/llvm/llvm-project/commit/51bad732dc78d777b5dc25fd840f00b61110e4f2
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp

  Log Message:
  -----------
  [SelectionDAG] Replace EVTToAPFloatSemantics with MVT/EVT::getFltSemantics. (#103001)


  Commit: 5b40a05d8f2872e4822fd5ff18383fbd5944f511
      https://github.com/llvm/llvm-project/commit/5b40a05d8f2872e4822fd5ff18383fbd5944f511
  Author: Alexis Engelke <engelke at in.tum.de>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    A llvm/test/Transforms/InstCombine/phi-int-users.ll

  Log Message:
  -----------
  [InstCombine] Don't look at ConstantData users

When looking at PHI operand for combining, only look at instructions and
arguments. The loop later iteraters over Arg's users, which is not
useful if Arg is a constant -- it's users are not meaningful and might
be in different functions, which causes problems for the dominates()
query.

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


  Commit: 28050e1b0b9da6d9c24ba20e8c70cf90b8135f49
      https://github.com/llvm/llvm-project/commit/28050e1b0b9da6d9c24ba20e8c70cf90b8135f49
  Author: Michael Buch <michaelbuch12 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h

  Log Message:
  -----------
  [lldb][DWARFASTParser] Don't pass CompilerType by non-const reference in the DWARFASTParserClang APIs (#103245)

The `CompilerType` is just a wrapper around two pointers, and there is
no usage of the `CompilerType` where those are expected to change
underneath the caller.

To make the interface more straightforward to reason about, this patch
changes all instances of `CompilerType&` to `const CompilerType&` around
the `DWARFASTParserClang` APIs.

We could probably pass these by-value, but all other APIs don't, and
this patch just makes the parameter passing convention consistent with
the rest of the file.


  Commit: ee2359968fa307ef45254c816e14df33374168cd
      https://github.com/llvm/llvm-project/commit/ee2359968fa307ef45254c816e14df33374168cd
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp

  Log Message:
  -----------
  [clang-format] Fix annotation of braces enclosing stringification (#102998)

Fixes #102937.


  Commit: 1ccd7ab8b6fa3ae80aaa2e3130242d1d96bbc540
      https://github.com/llvm/llvm-project/commit/1ccd7ab8b6fa3ae80aaa2e3130242d1d96bbc540
  Author: Snehasish Kumar <snehasishk at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp

  Log Message:
  -----------
  Enhance TLI detection of __size_returning_new lib funcs. (#102391)

Previously the return types of __size_returning_new variants were not
validated based on their members. This patch checks the members
manually, also generalizes the size_t checks to be based on the module
instead of being hardcoded. 

As requested in followup comment on
https://github.com/llvm/llvm-project/pull/101564.


  Commit: ad6558c334e5f6cd4b5c7e6d3ffe8d5158c540b0
      https://github.com/llvm/llvm-project/commit/ad6558c334e5f6cd4b5c7e6d3ffe8d5158c540b0
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/runtimes/CMakeLists.txt

  Log Message:
  -----------
  [runtimes] Fix not correctly searching target builtins directories (#103311)

Summary:
Enabling `compiler-rt` only worked previously if we had it in the
default target. This is because we didn't extract the path carefully.
This patch fixes that by getting the correct path and appending it,
instead of just the project name.


  Commit: 29e51f827bb61af23fb3de4c90a1fad1bb70a04a
      https://github.com/llvm/llvm-project/commit/29e51f827bb61af23fb3de4c90a1fad1bb70a04a
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/test/std/utilities/memory/unique.ptr/iterator_concept_conformance.compile.pass.cpp
    R libcxx/test/std/utilities/memory/unique.ptr/noexcept_operator_star.compile.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.single.pass.cpp

  Log Message:
  -----------
  [libc++] Simplify the implementation of LWG2762 (noexcept for unique_ptr) (#102032)

I had originally made some comments in https://reviews.llvm.org/D128214
that were followed when we implemented LWG2762. I don't understand why I
made these comments anymore, but either way it seems like I was wrong
since using `unique_ptr<void>::operator*` should be ill-formed. All
other implementations also make that ill-formed.


  Commit: 7ec9fa03739db63b31d4d66e477afb964ddf690b
      https://github.com/llvm/llvm-project/commit/7ec9fa03739db63b31d4d66e477afb964ddf690b
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [RISCV][GISel] Group the vector load/store legalizer actions together.


  Commit: e80bc777749331e9519575f416c342f7626dd14d
      https://github.com/llvm/llvm-project/commit/e80bc777749331e9519575f416c342f7626dd14d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx14Issues.csv
    M libcxx/docs/Status/Cxx14Papers.csv
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv

  Log Message:
  -----------
  [libc++] Normalize how we track the meeting at which a paper of LWG issue was voted

This uses the same values as we use in the Github project that tracks
Standards conformance.


  Commit: 29314b4b2720d6c14931832f3ca715981abed340
      https://github.com/llvm/llvm-project/commit/29314b4b2720d6c14931832f3ca715981abed340
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
    R llvm/unittests/Support/DynamicLibrary/DynamicLibraryTests.exports

  Log Message:
  -----------
  Revert "[CMake] Fix DynamicLibraryTests exports symbol when plugins are enabled (#102941)"

This reverts commit a9604cd3212beb6cdb41a79f248723140ab9939d.

The export list in unit-tests will break sanitizer build since that
requires more symbols than listed in the export file.


  Commit: 99c5615f5f1cae5368a2c10cd6482e7d6b3b4921
      https://github.com/llvm/llvm-project/commit/99c5615f5f1cae5368a2c10cd6482e7d6b3b4921
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv

  Log Message:
  -----------
  [libc++][NFC] Add missing separators in status-tracking CSV files


  Commit: 3bda18e48285d666d8b18e34605a1a0fd3636099
      https://github.com/llvm/llvm-project/commit/3bda18e48285d666d8b18e34605a1a0fd3636099
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [libc++] Add status-tracking CSV file update to git-blame-ignore-revs


  Commit: 6cd37eb5deb4400e16a7ce3760abe175a8476eff
      https://github.com/llvm/llvm-project/commit/6cd37eb5deb4400e16a7ce3760abe175a8476eff
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [libc] Fix `INFINITY` being defined as a double (#103445)

Summary:
If the implementation supports floating-point infinities, the macro
INFINITY expands to constant expression of type float which evaluates to
positive or unsigned infinity.

Currently this is a double, this makes it a float.


  Commit: 101acff2e5df21378b5764660afc0ec84ce6a1a6
      https://github.com/llvm/llvm-project/commit/101acff2e5df21378b5764660afc0ec84ce6a1a6
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M libc/include/time.h.def
    M libc/include/uchar.h.def
    M libc/newhdrgen/yaml/time.yaml
    M libc/newhdrgen/yaml/uchar.yaml
    M libc/spec/stdc.td

  Log Message:
  -----------
  [libc] Define 'size_t' in `time.h` and `uchar.h` (#103441)

Summary:
The standard says the following: The <time.h> header shall define the
clock_t, size_t, time_t, types as described in <sys/types.h>. I couldn't
find one for `uchar.h` but it needs it once we define things like
`mbrtoc8`.


  Commit: ff12c0061b7dbb8a82681a0e02a513bb84b1d143
      https://github.com/llvm/llvm-project/commit/ff12c0061b7dbb8a82681a0e02a513bb84b1d143
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M offload/include/device.h
    M offload/src/PluginManager.cpp
    M offload/src/interface.cpp
    M offload/src/omptarget.cpp
    M offload/src/private.h
    A offload/test/offloading/ctor_dtor_api.cpp
    A offload/test/offloading/ctor_dtor_lazy.cpp

  Log Message:
  -----------
  [Offload] Ensure to load images when the device is used (#103002)

When we use the device, e.g., with an API that interacts with it, we
need to ensure the image is loaded and the constructors are executed.
Two tests are included to verify we 1) load images and run constructors
when needed, and 2) we do so lazily only if the device is actually used.

---------

Co-authored-by: Joseph Huber <huberjn at outlook.com>


  Commit: 5ae9faa538d100ab38f6f4f99c924de0e4270272
      https://github.com/llvm/llvm-project/commit/5ae9faa538d100ab38f6f4f99c924de0e4270272
  Author: Alastair Houghton <ahoughton at apple.com>
  Date:   2024-08-14 (Wed, 14 Aug 2024)

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

  Log Message:
  -----------
  [Object][x86-64] Add support for `R_X86_64_GLOB_DAT` relocations. (#103029)

Add support for `R_X86_64_GLOB_DAT` relocations to the relocation
resolver.

rdar://133510292


  Commit: ac6e1fd0c089043fe60bd0040ba3cad884f00206
      https://github.com/llvm/llvm-project/commit/ac6e1fd0c089043fe60bd0040ba3cad884f00206
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/RISCV/cast.ll

  Log Message:
  -----------
  [RISCV][TTI] Cost non-power-of-two size changing casts (#101047)

For a cast with src and destination size being unequal, we were costing
the cast as if it were being scalarized, when in fact we can often
promote such cases to a wider legal type.

Note that for casts with equal size (i.e. bitcast, some fp<->i, and
ptrtoint) the generic logic in BasicTTI already assumed promotion. It
just doesn't handle the cast where source and destination are both
promoted to non-equal types.

This is analogous to d3fd28a, but with the same reasoning applied to
casts instead.


  Commit: c4cba6aa3d3967ee1953161dc26b0c5d9465a0cc
      https://github.com/llvm/llvm-project/commit/c4cba6aa3d3967ee1953161dc26b0c5d9465a0cc
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [bazel] Add support for tblgen-lsp-server (#103478)


  Commit: 643a2080ec028bd7674206e0f97cbc7d0f132f99
      https://github.com/llvm/llvm-project/commit/643a2080ec028bd7674206e0f97cbc7d0f132f99
  Author: Harini0924 <79345568+Harini0924 at users.noreply.github.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M compiler-rt/test/dfsan/custom.cpp
    M compiler-rt/test/dfsan/flags.c
    M compiler-rt/test/dfsan/fork.cpp
    M compiler-rt/test/dfsan/origin_limit.c
    M compiler-rt/test/msan/Linux/sendmsg.cpp
    M compiler-rt/test/msan/chained_origin_empty_stack.cpp
    M compiler-rt/test/msan/chained_origin_limits.cpp
    M compiler-rt/test/msan/coverage-levels.cpp
    M compiler-rt/test/msan/dtor-member.cpp
    M compiler-rt/test/msan/fork.cpp
    M compiler-rt/test/msan/interception_sigaction_test.cpp
    M compiler-rt/test/msan/memcmp_test.cpp
    M compiler-rt/test/msan/msan_check_mem_is_initialized.cpp
    M compiler-rt/test/msan/poison_in_free.cpp
    M compiler-rt/test/msan/print_stats.cpp
    M compiler-rt/test/msan/recover-dso.cpp
    M compiler-rt/test/msan/recover.cpp
    M compiler-rt/test/msan/release_origin.c
    M compiler-rt/test/msan/strcmp.c
    M compiler-rt/test/msan/strndup.cpp
    M compiler-rt/test/profile/Linux/instrprof-comdat.test
    M compiler-rt/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cpp
    M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp
    M compiler-rt/test/xray/TestCases/Posix/arg1-arg0-logging.cpp
    M compiler-rt/test/xray/TestCases/Posix/arg1-logger.cpp
    M compiler-rt/test/xray/TestCases/Posix/arg1-logging-implicit-this.cpp
    M compiler-rt/test/xray/TestCases/Posix/argv0-log-file-name.cpp
    M compiler-rt/test/xray/TestCases/Posix/coverage-sample.cpp
    M compiler-rt/test/xray/TestCases/Posix/fdr-reinit.cpp
    M compiler-rt/test/xray/TestCases/Posix/fixedsize-logging.cpp
    M compiler-rt/test/xray/TestCases/Posix/func-id-utils.cpp
    M compiler-rt/test/xray/TestCases/Posix/optional-inmemory-log.cpp
    M compiler-rt/test/xray/TestCases/Posix/patching-unpatching.cpp
    M compiler-rt/test/xray/TestCases/Posix/pic_test.cpp
    M compiler-rt/test/xray/TestCases/Posix/typed-event-logging.cpp

  Log Message:
  -----------
  [llvm-lit] Fix error in compiler-rt tests when using lit internal shell with env (#102069)

When running tests in compiler-rt using the lit internal shell with the
following command:
```
LIT_USE_INTERNAL_SHELL=1 ninja check-compiler-rt
```
one common error that occurs is:
```
'XRAY_OPTIONS=patch_premain=false:verbosity=1': command not found
```
This error, along with over 50 similar "environment variable not found"
errors, appears across 35 files in complier-rt. These errors happen
because the environment variables are not being set correctly when the
internal shell is used, leading to commands failing due to unrecognized
environment variables.

This patch addresses the issue by using the `env` command to properly
set the environment variables before running the tests. By explicitly
setting the environment variables through `env`, the internal shell can
correctly interpret and apply them, allowing the tests to pass.
fixes: #102395 
[link to
RFC](https://discourse.llvm.org/t/rfc-enabling-the-lit-internal-shell-by-default/80179)


  Commit: 1b2d11de938af899c74eacc0218304576fe6052b
      https://github.com/llvm/llvm-project/commit/1b2d11de938af899c74eacc0218304576fe6052b
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M clang/include/clang/Basic/Builtins.td
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    M clang/lib/Sema/SemaHLSL.cpp
    A clang/test/CodeGenHLSL/builtins/normalize.hlsl
    A clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    A llvm/test/CodeGen/DirectX/normalize.ll
    A llvm/test/CodeGen/DirectX/normalize_error.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/normalize.ll

  Log Message:
  -----------
  Add normalize builtins and normalize HLSL function to DirectX and SPIR-V backend (#102683)

This PR adds the normalize intrinsic and an HLSL function that uses it.
The SPIRV backend is also implemented.

Used https://github.com/llvm/llvm-project/pull/101256 as a reference,
along with https://github.com/llvm/llvm-project/pull/102243
Fixes https://github.com/llvm/llvm-project/issues/99139


  Commit: 2596464dcd7563cb4f54ef794334fa87438cc324
      https://github.com/llvm/llvm-project/commit/2596464dcd7563cb4f54ef794334fa87438cc324
  Author: Steven Wu <stevenwu at apple.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt

  Log Message:
  -----------
  [CMake] Re-land #102671 after the flaky test is disabled

Reland #102671 after the other attempted fixes are all flawed in some
build configurations. The previous try for the same commit was breaking
a flaky tests under ASAN which is not marked as unsupported. This fix
should be good to go now.

Fixes AIX bot for DynamicLibraryTests failure.


  Commit: bde4ffe7521421cfa891c7d6e526566920326b3f
      https://github.com/llvm/llvm-project/commit/bde4ffe7521421cfa891c7d6e526566920326b3f
  Author: David Benjamin <davidben at google.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/FuzzerDictionary.h
    M compiler-rt/lib/fuzzer/FuzzerLoop.cpp

  Log Message:
  -----------
  Don't pass null pointers to memcmp and memcpy in libFuzzer (#96775)

In C, it is UB to call `memcmp(NULL, NULL, 0)`, `memcpy(NULL, NULL, 0)`,
etc. Unfortunately, `(NULL, 0)` is the natural representation of an
empty sequence of objects and extremely common in real world code. As a
result, all C code, and C++ code which calls into C functions, must
carefully guard all calls to `memcpy`.

This is a serious, real world usability issue in C and should be fixed
in the language (see #49459). In the meantime, pay the cost of the extra
branch to avoid tripping UBSan in libFuzzer. Once the usability problem
in C has been fixed, these checks can be removed.

Fixes #96772


  Commit: 914a846e2979dc33f41e747b9b8d726424b4d92f
      https://github.com/llvm/llvm-project/commit/914a846e2979dc33f41e747b9b8d726424b4d92f
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [RISCV][GISel] Don't custom legalize load/store of vector of pointers if ELEN < XLEN. (#101565)

We need to have elements than can hold a pointer sized element.
    
No test because it crashes in LowerLoad or LowerStore now which
needs to be addressed separately.

I also reordered things so all the vector load/store stuff is together.


  Commit: b719ab4eef634f24605ca7ccd4874338c34e05bd
      https://github.com/llvm/llvm-project/commit/b719ab4eef634f24605ca7ccd4874338c34e05bd
  Author: Andrea Faulds <andrea.faulds at amd.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    R mlir/include/mlir/Dialect/SPIRV/IR/SPIRVJointMatrixOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
    M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
    R mlir/lib/Dialect/SPIRV/IR/JointMatrixOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
    M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
    M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
    R mlir/test/Dialect/SPIRV/IR/joint-matrix-ops.mlir
    R mlir/test/Target/SPIRV/joint-matrix-ops.mlir

  Log Message:
  -----------
  [mlir][spirv] Drop support for SPV_INTEL_joint_matrix (#102332)

This was a "preview" extension, never formalized, that has now been
supplanted by SPV_KHR_cooperative_matrix.


  Commit: 5bb379f6f0ed17873a2f500361921f98c112108a
      https://github.com/llvm/llvm-project/commit/5bb379f6f0ed17873a2f500361921f98c112108a
  Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

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

  Log Message:
  -----------
  [flang][cuda] Fix allocation of descriptor for cray pointer (#103474)

The cray pointee descriptor with device attribute was not allocated with
cuf.alloc so it leads to error on deallocation with cuf.free.


  Commit: 4a3705799fa019509998e567b71cf33595213f35
      https://github.com/llvm/llvm-project/commit/4a3705799fa019509998e567b71cf33595213f35
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-08-13 (Tue, 13 Aug 2024)

  Changed paths:
    M .git-blame-ignore-revs
    M bolt/test/X86/encoding-validation.s
    M bolt/test/X86/gotpcrelx.s
    M bolt/test/X86/icf-jump-tables.test
    M bolt/test/X86/indirect-goto-pie.test
    M bolt/test/X86/jump-table-func-entry.s
    M bolt/test/X86/keep-nops.s
    M bolt/test/X86/linux-bug-table.s
    M bolt/test/X86/linux-orc.s
    M bolt/test/X86/linux-pci-fixup.s
    M bolt/test/X86/linux-smp-locks.s
    M bolt/test/X86/linux-static-calls.s
    M bolt/test/X86/linux-static-keys.s
    M bolt/test/X86/pt_gnu_relro.s
    M bolt/test/X86/unclaimed-jt-entries.s
    M bolt/test/X86/vararg.test
    M bolt/test/runtime/X86/unclaimed-jt-entries.s
    M clang-tools-extra/include-cleaner/include/clang-include-cleaner/Types.h
    M clang-tools-extra/include-cleaner/lib/Analysis.cpp
    M clang-tools-extra/include-cleaner/lib/HTMLReport.cpp
    M clang-tools-extra/include-cleaner/lib/Types.cpp
    M clang-tools-extra/include-cleaner/tool/IncludeCleaner.cpp
    M clang-tools-extra/include-cleaner/unittests/AnalysisTest.cpp
    M clang-tools-extra/include-cleaner/unittests/IncludeSpellerTest.cpp
    M clang-tools-extra/include-cleaner/unittests/RecordTest.cpp
    M clang/docs/APINotes.rst
    M clang/docs/StandardCPlusPlusModules.rst
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/Redeclarable.h
    M clang/include/clang/AST/TextNodeDumper.h
    M clang/include/clang/Basic/Builtins.td
    M clang/include/clang/Basic/LangOptions.def
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h
    M clang/lib/APINotes/APINotesFormat.h
    M clang/lib/APINotes/APINotesReader.cpp
    M clang/lib/APINotes/APINotesWriter.cpp
    M clang/lib/APINotes/APINotesYAMLCompiler.cpp
    M clang/lib/AST/CMakeLists.txt
    M clang/lib/AST/Interp/Compiler.cpp
    M clang/lib/AST/Interp/Compiler.h
    A clang/lib/AST/Interp/CompilerComplex.cpp
    M clang/lib/AST/Interp/Interp.cpp
    M clang/lib/AST/Interp/InterpFrame.cpp
    M clang/lib/AST/TextNodeDumper.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCUDANV.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenTBAA.cpp
    M clang/lib/CodeGen/Targets/X86.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Cuda.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Headers/CMakeLists.txt
    M clang/lib/Headers/hlsl/hlsl_intrinsics.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_device.h
    A clang/lib/Headers/llvm_offload_wrappers/__llvm_offload_host.h
    M clang/lib/Headers/openmp_wrappers/__clang_openmp_device_functions.h
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaCUDA.cpp
    M clang/lib/Sema/SemaHLSL.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/swift-import-as.cpp
    M clang/test/AST/Interp/constexpr-frame-describe.cpp
    M clang/test/AST/Interp/cxx20.cpp
    M clang/test/AST/Interp/new-delete.cpp
    M clang/test/AST/Interp/records.cpp
    A clang/test/AST/ast-dump-retain-subst-template-type-parm-type-ast-nodes.cpp
    M clang/test/AST/atomic-expr.cpp
    M clang/test/CodeGenCUDA/Inputs/cuda.h
    A clang/test/CodeGenCUDA/offload_via_llvm.cu
    M clang/test/CodeGenCXX/x86_64-vaarg.cpp
    A clang/test/CodeGenHLSL/builtins/normalize.hlsl
    M clang/test/CodeGenHLSL/export.hlsl
    A clang/test/Driver/cuda-via-liboffload.cu
    M clang/test/Driver/linker-wrapper.c
    M clang/test/Interpreter/const.cpp
    A clang/test/SemaCXX/matrix-index-operator-sign-conversion.cpp
    A clang/test/SemaHLSL/BuiltIns/normalize-errors.hlsl
    M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
    M clang/unittests/Format/FormatTestCSharp.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/Tooling/DependencyScanning/DependencyScanningFilesystemTest.cpp
    M compiler-rt/lib/builtins/aarch64/sme-abi.S
    M compiler-rt/lib/fuzzer/FuzzerDictionary.h
    M compiler-rt/lib/fuzzer/FuzzerLoop.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_mac.cpp
    M compiler-rt/lib/scudo/standalone/timing.h
    M compiler-rt/lib/tsan/rtl/tsan_interceptors_mac.cpp
    M compiler-rt/test/dfsan/custom.cpp
    M compiler-rt/test/dfsan/flags.c
    M compiler-rt/test/dfsan/fork.cpp
    M compiler-rt/test/dfsan/origin_limit.c
    M compiler-rt/test/fuzzer/fork-sigusr.test
    M compiler-rt/test/fuzzer/merge-sigusr.test
    M compiler-rt/test/fuzzer/sigint.test
    M compiler-rt/test/fuzzer/sigusr.test
    M compiler-rt/test/msan/Linux/sendmsg.cpp
    M compiler-rt/test/msan/chained_origin_empty_stack.cpp
    M compiler-rt/test/msan/chained_origin_limits.cpp
    M compiler-rt/test/msan/coverage-levels.cpp
    M compiler-rt/test/msan/dtor-member.cpp
    M compiler-rt/test/msan/fork.cpp
    M compiler-rt/test/msan/interception_sigaction_test.cpp
    M compiler-rt/test/msan/memcmp_test.cpp
    M compiler-rt/test/msan/msan_check_mem_is_initialized.cpp
    M compiler-rt/test/msan/poison_in_free.cpp
    M compiler-rt/test/msan/print_stats.cpp
    M compiler-rt/test/msan/recover-dso.cpp
    M compiler-rt/test/msan/recover.cpp
    M compiler-rt/test/msan/release_origin.c
    M compiler-rt/test/msan/strcmp.c
    M compiler-rt/test/msan/strndup.cpp
    M compiler-rt/test/profile/Linux/instrprof-comdat.test
    M compiler-rt/test/sanitizer_common/TestCases/Linux/signal_segv_handler.cpp
    M compiler-rt/test/ubsan/TestCases/Misc/Linux/static-link.cpp
    M compiler-rt/test/xray/TestCases/Posix/arg1-arg0-logging.cpp
    M compiler-rt/test/xray/TestCases/Posix/arg1-logger.cpp
    M compiler-rt/test/xray/TestCases/Posix/arg1-logging-implicit-this.cpp
    M compiler-rt/test/xray/TestCases/Posix/argv0-log-file-name.cpp
    M compiler-rt/test/xray/TestCases/Posix/coverage-sample.cpp
    M compiler-rt/test/xray/TestCases/Posix/fdr-reinit.cpp
    M compiler-rt/test/xray/TestCases/Posix/fixedsize-logging.cpp
    M compiler-rt/test/xray/TestCases/Posix/func-id-utils.cpp
    M compiler-rt/test/xray/TestCases/Posix/optional-inmemory-log.cpp
    M compiler-rt/test/xray/TestCases/Posix/patching-unpatching.cpp
    M compiler-rt/test/xray/TestCases/Posix/pic_test.cpp
    M compiler-rt/test/xray/TestCases/Posix/typed-event-logging.cpp
    M flang/include/flang/Evaluate/tools.h
    M flang/include/flang/Optimizer/Builder/FIRBuilder.h
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/test/Evaluate/fold-out_of_range.f90
    M flang/test/Lower/CUDA/cuda-data-attribute.cuf
    M flang/test/Lower/CUDA/cuda-program-global.cuf
    M libc/config/linux/aarch64/headers.txt
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/config/linux/x86_64/headers.txt
    M libc/docs/math/index.rst
    M libc/include/CMakeLists.txt
    A libc/include/elf.h.def
    A libc/include/link.h.def
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/elf-macros.h
    M libc/include/llvm-libc-macros/link-macros.h
    M libc/include/llvm-libc-macros/math-macros.h
    M libc/include/time.h.def
    M libc/include/uchar.h.def
    A libc/newhdrgen/yaml/elf.yaml
    A libc/newhdrgen/yaml/link.yaml
    M libc/newhdrgen/yaml/time.yaml
    M libc/newhdrgen/yaml/uchar.yaml
    M libc/spec/stdc.td
    M libc/src/math/CMakeLists.txt
    A libc/src/math/expm1f16.h
    M libc/src/math/generic/CMakeLists.txt
    M libc/src/math/generic/expf16.cpp
    A libc/src/math/generic/expm1f16.cpp
    M libc/src/math/generic/expxf16.h
    M libc/test/UnitTest/FPMatcher.h
    M libc/test/UnitTest/LibcTestMain.cpp
    M libc/test/src/math/CMakeLists.txt
    A libc/test/src/math/expm1f16_test.cpp
    M libc/test/src/math/smoke/CMakeLists.txt
    A libc/test/src/math/smoke/expm1f16_test.cpp
    M libcxx/docs/Status/Cxx14Issues.csv
    M libcxx/docs/Status/Cxx14Papers.csv
    M libcxx/docs/Status/Cxx17Issues.csv
    M libcxx/docs/Status/Cxx17Papers.csv
    M libcxx/docs/Status/Cxx20Issues.csv
    M libcxx/docs/Status/Cxx20Papers.csv
    M libcxx/docs/Status/Cxx23Issues.csv
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/Cxx2cPapers.csv
    M libcxx/include/__memory/inout_ptr.h
    M libcxx/include/__memory/out_ptr.h
    M libcxx/include/__memory/unique_ptr.h
    M libcxx/test/libcxx/system_reserved_names.gen.py
    M libcxx/test/std/utilities/memory/unique.ptr/iterator_concept_conformance.compile.pass.cpp
    R libcxx/test/std/utilities/memory/unique.ptr/noexcept_operator_star.compile.pass.cpp
    M libcxx/test/std/utilities/smartptr/unique.ptr/unique.ptr.class/unique.ptr.observers/dereference.single.pass.cpp
    A libcxx/utils/synchronize_csv_status_files.py
    M lldb/source/Plugins/Process/elf-core/ProcessElfCore.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationClient.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/Process/gdb-remote/ProcessGDBRemote.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParser.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
    M lldb/test/API/commands/expression/import-std-module/shared_ptr/TestSharedPtrFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/weak_ptr-dbg-info-content/TestDbgInfoContentWeakPtrFromStdModule.py
    M lldb/test/API/commands/expression/import-std-module/weak_ptr/TestWeakPtrFromStdModule.py
    M lldb/test/API/functionalities/gdb_remote_client/TestStopPCs.py
    M llvm/cmake/modules/AddLLVM.cmake
    M llvm/docs/CMake.rst
    M llvm/include/llvm/Analysis/TargetLibraryInfo.def
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/ValueTypes.h
    M llvm/include/llvm/CodeGenTypes/MachineValueType.h
    M llvm/include/llvm/IR/CFG.h
    M llvm/include/llvm/IR/DataLayout.h
    M llvm/include/llvm/IR/IntrinsicsDirectX.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/include/llvm/SandboxIR/SandboxIR.h
    M llvm/include/llvm/SandboxIR/SandboxIRValues.def
    M llvm/include/llvm/Support/GenericDomTree.h
    M llvm/include/llvm/Transforms/Utils/SampleProfileLoaderBaseImpl.h
    M llvm/lib/Analysis/InlineCost.cpp
    M llvm/lib/Analysis/MemoryBuiltins.cpp
    M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
    M llvm/lib/Analysis/MemorySSA.cpp
    M llvm/lib/Analysis/ScalarEvolution.cpp
    M llvm/lib/Analysis/TargetLibraryInfo.cpp
    M llvm/lib/Analysis/TypeMetadataUtils.cpp
    M llvm/lib/CodeGen/AssignmentTrackingAnalysis.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalMerge.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/TargetPassConfig.cpp
    M llvm/lib/CodeGen/TypePromotion.cpp
    M llvm/lib/CodeGen/ValueTypes.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFDebugLoc.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFExpression.cpp
    M llvm/lib/FuzzMutate/RandomIRBuilder.cpp
    M llvm/lib/IR/DIBuilder.cpp
    M llvm/lib/IR/DataLayout.cpp
    M llvm/lib/IR/Module.cpp
    M llvm/lib/MC/MCObjectFileInfo.cpp
    M llvm/lib/Object/RelocationResolver.cpp
    M llvm/lib/SandboxIR/SandboxIR.cpp
    M llvm/lib/Support/CommandLine.cpp
    M llvm/lib/Support/Parallel.cpp
    M llvm/lib/TableGen/TGLexer.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AMDGPU/AMDGPUCallLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUIGroupLP.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
    M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/VOP1Instructions.td
    M llvm/lib/Target/AMDGPU/VOP2Instructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/Hexagon/HexagonMask.cpp
    M llvm/lib/Target/NVPTX/NVPTXLowerArgs.cpp
    M llvm/lib/Target/RISCV/GISel/RISCVLegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrAsmAlias.td
    M llvm/lib/Target/X86/X86InstrSSE.td
    M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
    M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
    M llvm/lib/Transforms/IPO/FunctionImport.cpp
    M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
    M llvm/lib/Transforms/IPO/GlobalOpt.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombinePHI.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Scalar/AlignmentFromAssumptions.cpp
    M llvm/lib/Transforms/Scalar/IndVarSimplify.cpp
    M llvm/lib/Transforms/Scalar/LoopFuse.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/GlobalStatus.cpp
    M llvm/lib/Transforms/Utils/InlineFunction.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
    M llvm/runtimes/CMakeLists.txt
    M llvm/test/Analysis/CostModel/RISCV/cast.ll
    M llvm/test/Analysis/CostModel/X86/cttz-codesize.ll
    M llvm/test/Analysis/CostModel/X86/cttz-latency.ll
    M llvm/test/Analysis/CostModel/X86/cttz-sizelatency.ll
    M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
    M llvm/test/Analysis/ScalarEvolution/different-loops-recs.ll
    R llvm/test/CodeGen/AArch64/GlobalISel/select-intrinsic-uaddlv.mir
    A llvm/test/CodeGen/AArch64/aarch64-neon-faminmax.ll
    M llvm/test/CodeGen/AArch64/aarch64-neon-vector-insert-uaddlv.ll
    M llvm/test/CodeGen/AArch64/arm64-neon-across.ll
    M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/intrinsic-cttz-elts-sve.ll
    A llvm/test/CodeGen/AArch64/sme-darwin-no-sve-vg.ll
    M llvm/test/CodeGen/AArch64/sve-fcmp.ll
    M llvm/test/CodeGen/AArch64/sve-fp-int-min-max.ll
    A llvm/test/CodeGen/AArch64/sve-vector-compress.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-no-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/global-atomic-fadd.f32-rtn.ll
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-fceil.s16.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/inst-select-ffloor.s16.mir
    M llvm/test/CodeGen/AMDGPU/bf16.ll
    M llvm/test/CodeGen/AMDGPU/fadd.f16.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fadd.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmax.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_scan_fmin.ll
    M llvm/test/CodeGen/AMDGPU/llc-pipeline.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ceil.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.floor.f16.ll
    M llvm/test/CodeGen/AMDGPU/llvm.ldexp.ll
    A llvm/test/CodeGen/DirectX/normalize.ll
    A llvm/test/CodeGen/DirectX/normalize_error.ll
    A llvm/test/CodeGen/Hexagon/mask-instr.ll
    A llvm/test/CodeGen/RISCV/rvv/memcpy-crash-zvl32b.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/normalize.ll
    M llvm/test/CodeGen/X86/combine-concatvectors.ll
    M llvm/test/CodeGen/X86/cttz.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/pr89877.ll
    M llvm/test/CodeGen/X86/pr90847.ll
    M llvm/test/MC/Disassembler/AMDGPU/gfx11_dasm_vop2.txt
    M llvm/test/MC/Disassembler/X86/apx/ccmp.txt
    M llvm/test/MC/X86/apx/ccmp-att.s
    M llvm/test/MC/X86/apx/ccmp-intel.s
    M llvm/test/MC/X86/apx/ctest-att.s
    M llvm/test/MC/X86/apx/ctest-intel.s
    M llvm/test/MC/X86/apx/setzucc-att.s
    M llvm/test/MC/X86/apx/setzucc-intel.s
    M llvm/test/MC/X86/cmpccxadd-att-alias.s
    M llvm/test/MC/X86/cmpccxadd-intel-alias.s
    M llvm/test/ThinLTO/X86/ctxprof.ll
    A llvm/test/Transforms/AlignmentFromAssumptions/domtree-crash.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/expand-atomicrmw-xchg-fp.ll
    M llvm/test/Transforms/AtomicExpand/AArch64/pcsections.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd-flat-specialization.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-rmw-fadd.ll
    M llvm/test/Transforms/AtomicExpand/ARM/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/ARM/cmpxchg-weak.ll
    M llvm/test/Transforms/AtomicExpand/Hexagon/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/PowerPC/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/RISCV/atomicrmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-rmw-fp.ll
    M llvm/test/Transforms/AtomicExpand/X86/expand-atomic-xchg-fp.ll
    A llvm/test/Transforms/GlobalMerge/private-global.ll
    R llvm/test/Transforms/Inline/AMDGPU/inline-amdgpu-unsafe-fp-atomics.ll
    A llvm/test/Transforms/InstCombine/phi-int-users.ll
    A llvm/test/Transforms/LoopVectorize/X86/gep-use-outside-loop.ll
    M llvm/test/Transforms/LoopVectorize/skeleton-lcssa-crash.ll
    A llvm/test/Transforms/SLPVectorizer/X86/const-in-different-functions.ll
    A llvm/test/Transforms/SLPVectorizer/revec-shufflevector.ll
    M llvm/test/Transforms/SLPVectorizer/revec.ll
    A llvm/test/Transforms/SampleProfile/Inputs/pseudo-probe-missing-probe.prof
    A llvm/test/Transforms/SampleProfile/pseudo-probe-missing-probe.ll
    A llvm/test/tools/llvm-dwarfdump/X86/DW_OP_implicit_pointer.yaml
    M llvm/unittests/Analysis/ScalarEvolutionTest.cpp
    M llvm/unittests/Analysis/TargetLibraryInfoTest.cpp
    M llvm/unittests/IR/DataLayoutTest.cpp
    M llvm/unittests/IR/DebugInfoTest.cpp
    M llvm/unittests/IR/IRBuilderTest.cpp
    M llvm/unittests/SandboxIR/SandboxIRTest.cpp
    M llvm/unittests/SandboxIR/TrackerTest.cpp
    M llvm/unittests/Support/DynamicLibrary/CMakeLists.txt
    M llvm/utils/gn/secondary/clang/lib/AST/BUILD.gn
    M llvm/utils/gn/secondary/clang/lib/Headers/BUILD.gn
    M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
    M mlir/include/mlir/Dialect/GPU/IR/GPUDialect.h
    M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVAttributes.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
    R mlir/include/mlir/Dialect/SPIRV/IR/SPIRVJointMatrixOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVOps.td
    M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVTypes.h
    M mlir/include/mlir/IR/PatternMatch.h
    M mlir/include/mlir/IR/StorageUniquerSupport.h
    M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
    M mlir/lib/Conversion/GPUToROCDL/LowerGpuOpsToROCDLOps.cpp
    M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
    M mlir/lib/Dialect/GPU/IR/GPUDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/SPIRV/IR/CMakeLists.txt
    M mlir/lib/Dialect/SPIRV/IR/CastOps.cpp
    R mlir/lib/Dialect/SPIRV/IR/JointMatrixOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVOps.cpp
    M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
    M mlir/lib/Target/SPIRV/Deserialization/DeserializeOps.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
    M mlir/lib/Target/SPIRV/Deserialization/Deserializer.h
    M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm-32b.mlir
    M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    R mlir/test/Dialect/SPIRV/IR/joint-matrix-ops.mlir
    M mlir/test/Dialect/Vector/vector-transfer-unroll.mlir
    M mlir/test/Target/LLVMIR/llvmir.mlir
    R mlir/test/Target/SPIRV/joint-matrix-ops.mlir
    M offload/include/Shared/APITypes.h
    M offload/include/device.h
    M offload/include/omptarget.h
    M offload/plugins-nextgen/common/src/PluginInterface.cpp
    M offload/src/CMakeLists.txt
    A offload/src/KernelLanguage/API.cpp
    M offload/src/PluginManager.cpp
    M offload/src/exports
    M offload/src/interface.cpp
    M offload/src/omptarget.cpp
    M offload/src/private.h
    M offload/test/api/omp_dynamic_shared_memory_amdgpu.c
    M offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
    M offload/test/lit.cfg
    A offload/test/offloading/CUDA/basic_launch.cu
    A offload/test/offloading/CUDA/basic_launch_blocks_and_threads.cu
    A offload/test/offloading/CUDA/basic_launch_multi_arg.cu
    A offload/test/offloading/CUDA/kernel_tu.cu.inc
    A offload/test/offloading/CUDA/launch_tu.cu
    M offload/test/offloading/bug51781.c
    M offload/test/offloading/bug51982.c
    A offload/test/offloading/ctor_dtor_api.cpp
    A offload/test/offloading/ctor_dtor_lazy.cpp
    M openmp/runtime/src/z_Linux_asm.S
    M utils/bazel/.bazelrc
    M utils/bazel/.bazelversion
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel

  Log Message:
  -----------
  terminated => destroyed

Created using spr 1.3.5-bogner


Compare: https://github.com/llvm/llvm-project/compare/096f5ca2e30a...4a3705799fa0

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