[all-commits] [llvm/llvm-project] c4c54a: [SPIRV][HLSL] map lerp to Fmix (#88976)

Alexey Bataev via All-commits all-commits at lists.llvm.org
Mon Apr 29 10:01:45 PDT 2024


  Branch: refs/heads/users/alexey-bataev/spr/slpimprove-reordering-for-consts-splats-and-ops-from-same-nodes-improved-analysis-1
  Home:   https://github.com/llvm/llvm-project
  Commit: c4c54af569f7c17bc89ae73c3e5c5c4be0a586b9
      https://github.com/llvm/llvm-project/commit/c4c54af569f7c17bc89ae73c3e5c5c4be0a586b9
  Author: Farzon Lotfi <1802579+farzonl at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll

  Log Message:
  -----------
  [SPIRV][HLSL] map lerp to Fmix (#88976)

- `clang/lib/CodeGen/CGBuiltin.cpp` - switch to using
`getLerpIntrinsic()` to abstract backend intrinsic
- `clang/lib/CodeGen/CGHLSLRuntime.h` - add `getLerpIntrinsic()` 
- `llvm/include/llvm/IR/IntrinsicsSPIRV.td` - add SPIRV intrinsic for
lerp
- `llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp` - add mapping of
HLSL's lerp to GLSL's Fmix.

resolves #88940


  Commit: b6628c24ef017138b8d6eb288e94c141e7c846b0
      https://github.com/llvm/llvm-project/commit/b6628c24ef017138b8d6eb288e94c141e7c846b0
  Author: Sirraide <aeternalmail at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/SemaCXX/static-assert-cxx26.cpp

  Log Message:
  -----------
  [Clang] Fix crash on invalid size in user-defined `static_assert` message (#89420)

This addresses two problems observed in #89407 wrt user-defined
`static_assert` messages:

1. In `Expr::EvaluateCharRangeAsString`, we were calling `getExtValue()`
instead of `getZExtValue()`, which would assert if a negative or very
large number was returned from `size()`.
2. If the value could not be converted to `std::size_t`, attempting to
diagnose that would crash because `ext_cce_narrowing` was missing two
`%select` cases.

This fixes #89407.


  Commit: 330d8983d25d08580fc1642fea48b2473f47a9da
      https://github.com/llvm/llvm-project/commit/330d8983d25d08580fc1642fea48b2473f47a9da
  Author: Johannes Doerfert <johannes at jdoerfert.de>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/CMakeLists.txt
    A offload/CMakeLists.txt
    A offload/DeviceRTL/CMakeLists.txt
    A offload/DeviceRTL/include/Allocator.h
    A offload/DeviceRTL/include/Configuration.h
    A offload/DeviceRTL/include/Debug.h
    A offload/DeviceRTL/include/Interface.h
    A offload/DeviceRTL/include/LibC.h
    A offload/DeviceRTL/include/Mapping.h
    A offload/DeviceRTL/include/State.h
    A offload/DeviceRTL/include/Synchronization.h
    A offload/DeviceRTL/include/Types.h
    A offload/DeviceRTL/include/Utils.h
    A offload/DeviceRTL/include/generated_microtask_cases.gen
    A offload/DeviceRTL/src/Allocator.cpp
    A offload/DeviceRTL/src/Configuration.cpp
    A offload/DeviceRTL/src/Debug.cpp
    A offload/DeviceRTL/src/Kernel.cpp
    A offload/DeviceRTL/src/LibC.cpp
    A offload/DeviceRTL/src/Mapping.cpp
    A offload/DeviceRTL/src/Misc.cpp
    A offload/DeviceRTL/src/Parallelism.cpp
    A offload/DeviceRTL/src/Reduction.cpp
    A offload/DeviceRTL/src/State.cpp
    A offload/DeviceRTL/src/Stub.cpp
    A offload/DeviceRTL/src/Synchronization.cpp
    A offload/DeviceRTL/src/Tasking.cpp
    A offload/DeviceRTL/src/Utils.cpp
    A offload/DeviceRTL/src/Workshare.cpp
    A offload/DeviceRTL/src/exports
    A offload/README.txt
    A offload/cmake/Modules/LibomptargetGetDependencies.cmake
    A offload/cmake/Modules/LibomptargetUtils.cmake
    A offload/cmake/OpenMPTesting.cmake
    A offload/docs/declare_target_indirect.md
    A offload/include/DeviceImage.h
    A offload/include/ExclusiveAccess.h
    A offload/include/OffloadEntry.h
    A offload/include/OffloadPolicy.h
    A offload/include/OpenMP/InternalTypes.h
    A offload/include/OpenMP/InteropAPI.h
    A offload/include/OpenMP/Mapping.h
    A offload/include/OpenMP/OMPT/Callback.h
    A offload/include/OpenMP/OMPT/Connector.h
    A offload/include/OpenMP/OMPT/Interface.h
    A offload/include/OpenMP/omp.h
    A offload/include/PluginManager.h
    A offload/include/Shared/APITypes.h
    A offload/include/Shared/Debug.h
    A offload/include/Shared/Environment.h
    A offload/include/Shared/EnvironmentVar.h
    A offload/include/Shared/PluginAPI.h
    A offload/include/Shared/PluginAPI.inc
    A offload/include/Shared/Profile.h
    A offload/include/Shared/Requirements.h
    A offload/include/Shared/SourceInfo.h
    A offload/include/Shared/Utils.h
    A offload/include/Utils/ExponentialBackoff.h
    A offload/include/device.h
    A offload/include/omptarget.h
    A offload/include/rtl.h
    A offload/plugins-nextgen/CMakeLists.txt
    A offload/plugins-nextgen/amdgpu/CMakeLists.txt
    A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    A offload/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    A offload/plugins-nextgen/amdgpu/src/rtl.cpp
    A offload/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    A offload/plugins-nextgen/common/CMakeLists.txt
    A offload/plugins-nextgen/common/OMPT/OmptCallback.cpp
    A offload/plugins-nextgen/common/include/DLWrap.h
    A offload/plugins-nextgen/common/include/GlobalHandler.h
    A offload/plugins-nextgen/common/include/JIT.h
    A offload/plugins-nextgen/common/include/MemoryManager.h
    A offload/plugins-nextgen/common/include/PluginInterface.h
    A offload/plugins-nextgen/common/include/RPC.h
    A offload/plugins-nextgen/common/include/Utils/ELF.h
    A offload/plugins-nextgen/common/src/GlobalHandler.cpp
    A offload/plugins-nextgen/common/src/JIT.cpp
    A offload/plugins-nextgen/common/src/PluginInterface.cpp
    A offload/plugins-nextgen/common/src/RPC.cpp
    A offload/plugins-nextgen/common/src/Utils/ELF.cpp
    A offload/plugins-nextgen/cuda/CMakeLists.txt
    A offload/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    A offload/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    A offload/plugins-nextgen/cuda/src/rtl.cpp
    A offload/plugins-nextgen/exports
    A offload/plugins-nextgen/host/CMakeLists.txt
    A offload/plugins-nextgen/host/dynamic_ffi/ffi.cpp
    A offload/plugins-nextgen/host/dynamic_ffi/ffi.h
    A offload/plugins-nextgen/host/src/rtl.cpp
    A offload/src/CMakeLists.txt
    A offload/src/DeviceImage.cpp
    A offload/src/LegacyAPI.cpp
    A offload/src/OffloadRTL.cpp
    A offload/src/OpenMP/API.cpp
    A offload/src/OpenMP/InteropAPI.cpp
    A offload/src/OpenMP/Mapping.cpp
    A offload/src/OpenMP/OMPT/Callback.cpp
    A offload/src/PluginManager.cpp
    A offload/src/device.cpp
    A offload/src/exports
    A offload/src/interface.cpp
    A offload/src/omptarget.cpp
    A offload/src/private.h
    A offload/test/CMakeLists.txt
    A offload/test/Inputs/basic_array.f90
    A offload/test/Inputs/declare_indirect_func.c
    A offload/test/api/assert.c
    A offload/test/api/is_initial_device.c
    A offload/test/api/omp_device_managed_memory.c
    A offload/test/api/omp_device_managed_memory_alloc.c
    A offload/test/api/omp_device_memory.c
    A offload/test/api/omp_dynamic_shared_memory.c
    A offload/test/api/omp_dynamic_shared_memory_amdgpu.c
    A offload/test/api/omp_dynamic_shared_memory_mixed.inc
    A offload/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
    A offload/test/api/omp_dynamic_shared_memory_mixed_nvptx.c
    A offload/test/api/omp_env_vars.c
    A offload/test/api/omp_get_device_num.c
    A offload/test/api/omp_get_mapped_ptr.c
    A offload/test/api/omp_get_num_devices.c
    A offload/test/api/omp_get_num_devices_with_empty_target.c
    A offload/test/api/omp_get_num_procs.c
    A offload/test/api/omp_host_pinned_memory.c
    A offload/test/api/omp_host_pinned_memory_alloc.c
    A offload/test/api/omp_indirect_call.c
    A offload/test/api/omp_target_memcpy_async1.c
    A offload/test/api/omp_target_memcpy_async2.c
    A offload/test/api/omp_target_memcpy_rect_async1.c
    A offload/test/api/omp_target_memcpy_rect_async2.c
    A offload/test/api/omp_target_memset.c
    A offload/test/api/ompx_3d.c
    A offload/test/api/ompx_3d.cpp
    A offload/test/api/ompx_sync.c
    A offload/test/api/ompx_sync.cpp
    A offload/test/env/base_ptr_ref_count.c
    A offload/test/env/omp_target_debug.c
    A offload/test/jit/empty_kernel.inc
    A offload/test/jit/empty_kernel_lvl1.c
    A offload/test/jit/empty_kernel_lvl2.c
    A offload/test/jit/type_punning.c
    A offload/test/libc/assert.c
    A offload/test/libc/fwrite.c
    A offload/test/libc/global_ctor_dtor.cpp
    A offload/test/libc/host_call.c
    A offload/test/libc/malloc.c
    A offload/test/libc/puts.c
    A offload/test/lit.cfg
    A offload/test/lit.site.cfg.in
    A offload/test/mapping/alloc_fail.c
    A offload/test/mapping/array_section_implicit_capture.c
    A offload/test/mapping/array_section_use_device_ptr.c
    A offload/test/mapping/auto_zero_copy.cpp
    A offload/test/mapping/auto_zero_copy_apu.cpp
    A offload/test/mapping/auto_zero_copy_globals.cpp
    A offload/test/mapping/data_absent_at_exit.c
    A offload/test/mapping/data_member_ref.cpp
    A offload/test/mapping/declare_mapper_api.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_array.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_complex_structure.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp
    A offload/test/mapping/declare_mapper_nested_default_mappers_var.cpp
    A offload/test/mapping/declare_mapper_nested_mappers.cpp
    A offload/test/mapping/declare_mapper_target.cpp
    A offload/test/mapping/declare_mapper_target_data.cpp
    A offload/test/mapping/declare_mapper_target_data_enter_exit.cpp
    A offload/test/mapping/declare_mapper_target_update.cpp
    A offload/test/mapping/delete_inf_refcount.c
    A offload/test/mapping/device_ptr_update.c
    A offload/test/mapping/firstprivate_aligned.cpp
    A offload/test/mapping/has_device_addr.cpp
    A offload/test/mapping/implicit_device_ptr.c
    A offload/test/mapping/is_device_ptr.cpp
    A offload/test/mapping/lambda_by_value.cpp
    A offload/test/mapping/lambda_mapping.cpp
    A offload/test/mapping/low_alignment.c
    A offload/test/mapping/map_back_race.cpp
    A offload/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
    A offload/test/mapping/ompx_hold/struct.c
    A offload/test/mapping/ompx_hold/target-data.c
    A offload/test/mapping/ompx_hold/target.c
    A offload/test/mapping/padding_not_mapped.c
    A offload/test/mapping/power_of_two_alignment.c
    A offload/test/mapping/pr38704.c
    A offload/test/mapping/prelock.cpp
    A offload/test/mapping/present/target.c
    A offload/test/mapping/present/target_array_extension.c
    A offload/test/mapping/present/target_data.c
    A offload/test/mapping/present/target_data_array_extension.c
    A offload/test/mapping/present/target_data_at_exit.c
    A offload/test/mapping/present/target_enter_data.c
    A offload/test/mapping/present/target_exit_data_delete.c
    A offload/test/mapping/present/target_exit_data_release.c
    A offload/test/mapping/present/target_update.c
    A offload/test/mapping/present/target_update_array_extension.c
    A offload/test/mapping/present/unified_shared_memory.c
    A offload/test/mapping/present/zero_length_array_section.c
    A offload/test/mapping/present/zero_length_array_section_exit.c
    A offload/test/mapping/private_mapping.c
    A offload/test/mapping/ptr_and_obj_motion.c
    A offload/test/mapping/reduction_implicit_map.cpp
    A offload/test/mapping/target_data_array_extension_at_exit.c
    A offload/test/mapping/target_derefence_array_pointrs.cpp
    A offload/test/mapping/target_has_device_addr.c
    A offload/test/mapping/target_implicit_partial_map.c
    A offload/test/mapping/target_map_for_member_data.cpp
    A offload/test/mapping/target_pointers_members_map.cpp
    A offload/test/mapping/target_update_array_extension.c
    A offload/test/mapping/target_use_device_addr.c
    A offload/test/mapping/target_uses_allocator.c
    A offload/test/mapping/target_wrong_use_device_addr.c
    A offload/test/offloading/assert.cpp
    A offload/test/offloading/atomic-compare-signedness.c
    A offload/test/offloading/back2back_distribute.c
    A offload/test/offloading/barrier_fence.c
    A offload/test/offloading/bug47654.cpp
    A offload/test/offloading/bug49021.cpp
    A offload/test/offloading/bug49334.cpp
    A offload/test/offloading/bug49779.cpp
    A offload/test/offloading/bug50022.cpp
    A offload/test/offloading/bug51781.c
    A offload/test/offloading/bug51982.c
    A offload/test/offloading/bug53727.cpp
    A offload/test/offloading/bug64959.c
    A offload/test/offloading/bug64959_compile_only.c
    A offload/test/offloading/bug74582.c
    A offload/test/offloading/complex_reduction.cpp
    A offload/test/offloading/ctor_dtor.cpp
    A offload/test/offloading/cuda_no_devices.c
    A offload/test/offloading/d2d_memcpy.c
    A offload/test/offloading/d2d_memcpy_sync.c
    A offload/test/offloading/default_thread_limit.c
    A offload/test/offloading/dynamic_module.c
    A offload/test/offloading/dynamic_module_load.c
    A offload/test/offloading/extern.c
    A offload/test/offloading/force-usm.cpp
    A offload/test/offloading/fortran/basic-target-parallel-do.f90
    A offload/test/offloading/fortran/basic-target-parallel-region.f90
    A offload/test/offloading/fortran/basic-target-region-1D-array-section.f90
    A offload/test/offloading/fortran/basic-target-region-3D-array-section.f90
    A offload/test/offloading/fortran/basic-target-region-3D-array.f90
    A offload/test/offloading/fortran/basic_array.c
    A offload/test/offloading/fortran/basic_target_region.f90
    A offload/test/offloading/fortran/constant-arr-index.f90
    A offload/test/offloading/fortran/declare-target-vars-in-target-region.f90
    A offload/test/offloading/fortran/double-target-call-with-declare-target.f90
    A offload/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90
    A offload/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90
    A offload/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    A offload/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    A offload/test/offloading/fortran/target-map-enter-exit-array-2.f90
    A offload/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    A offload/test/offloading/fortran/target-map-enter-exit-array.f90
    A offload/test/offloading/fortran/target-map-enter-exit-scalar.f90
    A offload/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    A offload/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    A offload/test/offloading/fortran/target-map-pointer-target-scopes.f90
    A offload/test/offloading/fortran/target-nested-target-data.f90
    A offload/test/offloading/fortran/target-parallel-do-collapse.f90
    A offload/test/offloading/fortran/target-region-implicit-array.f90
    A offload/test/offloading/fortran/target_map_common_block.f90
    A offload/test/offloading/fortran/target_map_common_block1.f90
    A offload/test/offloading/fortran/target_map_common_block2.f90
    A offload/test/offloading/fortran/target_update.f90
    A offload/test/offloading/generic_multiple_parallel_regions.c
    A offload/test/offloading/global_constructor.cpp
    A offload/test/offloading/host_as_target.c
    A offload/test/offloading/indirect_fp_mapping.c
    A offload/test/offloading/info.c
    A offload/test/offloading/interop.c
    A offload/test/offloading/lone_target_exit_data.c
    A offload/test/offloading/looptripcnt.c
    A offload/test/offloading/malloc.c
    A offload/test/offloading/malloc_parallel.c
    A offload/test/offloading/mandatory_but_no_devices.c
    A offload/test/offloading/memory_manager.cpp
    A offload/test/offloading/multiple_reductions_simple.c
    A offload/test/offloading/non_contiguous_update.cpp
    A offload/test/offloading/offloading_success.c
    A offload/test/offloading/offloading_success.cpp
    A offload/test/offloading/ompx_bare.c
    A offload/test/offloading/ompx_coords.c
    A offload/test/offloading/ompx_saxpy_mixed.c
    A offload/test/offloading/parallel_offloading_map.cpp
    A offload/test/offloading/parallel_target_teams_reduction.cpp
    A offload/test/offloading/parallel_target_teams_reduction_max.cpp
    A offload/test/offloading/parallel_target_teams_reduction_min.cpp
    A offload/test/offloading/requires.c
    A offload/test/offloading/runtime_init.c
    A offload/test/offloading/shared_lib_fp_mapping.c
    A offload/test/offloading/small_trip_count.c
    A offload/test/offloading/small_trip_count_thread_limit.cpp
    A offload/test/offloading/spmdization.c
    A offload/test/offloading/static_linking.c
    A offload/test/offloading/std_complex_arithmetic.cpp
    A offload/test/offloading/struct_mapping_with_pointers.cpp
    A offload/test/offloading/target-teams-atomic.c
    A offload/test/offloading/target-tile.c
    A offload/test/offloading/target_constexpr_mapping.cpp
    A offload/test/offloading/target_critical_region.cpp
    A offload/test/offloading/target_depend_nowait.cpp
    A offload/test/offloading/target_map_for_member_data.cpp
    A offload/test/offloading/target_nowait_target.cpp
    A offload/test/offloading/task_in_reduction_target.c
    A offload/test/offloading/taskloop_offload_nowait.cpp
    A offload/test/offloading/test_libc.cpp
    A offload/test/offloading/thread_limit.c
    A offload/test/offloading/thread_state_1.c
    A offload/test/offloading/thread_state_2.c
    A offload/test/offloading/weak.c
    A offload/test/offloading/workshare_chunk.c
    A offload/test/offloading/wtime.c
    A offload/test/ompt/callbacks.h
    A offload/test/ompt/register_both.h
    A offload/test/ompt/register_emi.h
    A offload/test/ompt/register_emi_map.h
    A offload/test/ompt/register_no_device_init.h
    A offload/test/ompt/register_non_emi.h
    A offload/test/ompt/register_non_emi_map.h
    A offload/test/ompt/register_wrong_return.h
    A offload/test/ompt/target_memcpy.c
    A offload/test/ompt/target_memcpy_emi.c
    A offload/test/ompt/veccopy.c
    A offload/test/ompt/veccopy_data.c
    A offload/test/ompt/veccopy_disallow_both.c
    A offload/test/ompt/veccopy_emi.c
    A offload/test/ompt/veccopy_emi_map.c
    A offload/test/ompt/veccopy_map.c
    A offload/test/ompt/veccopy_no_device_init.c
    A offload/test/ompt/veccopy_wrong_return.c
    A offload/test/unified_shared_memory/api.c
    A offload/test/unified_shared_memory/associate_ptr.c
    A offload/test/unified_shared_memory/close_enter_exit.c
    A offload/test/unified_shared_memory/close_manual.c
    A offload/test/unified_shared_memory/close_member.c
    A offload/test/unified_shared_memory/close_modifier.c
    A offload/test/unified_shared_memory/shared_update.c
    A offload/tools/CMakeLists.txt
    A offload/tools/deviceinfo/CMakeLists.txt
    A offload/tools/deviceinfo/llvm-omp-device-info.cpp
    A offload/tools/kernelreplay/CMakeLists.txt
    A offload/tools/kernelreplay/llvm-omp-kernel-replay.cpp
    A offload/unittests/CMakeLists.txt
    A offload/unittests/Plugins/CMakeLists.txt
    A offload/unittests/Plugins/NextgenPluginsTest.cpp
    A offload/utils/generate_microtask_cases.py
    M openmp/CMakeLists.txt
    R openmp/libomptarget/CMakeLists.txt
    R openmp/libomptarget/DeviceRTL/CMakeLists.txt
    R openmp/libomptarget/DeviceRTL/include/Allocator.h
    R openmp/libomptarget/DeviceRTL/include/Configuration.h
    R openmp/libomptarget/DeviceRTL/include/Debug.h
    R openmp/libomptarget/DeviceRTL/include/Interface.h
    R openmp/libomptarget/DeviceRTL/include/LibC.h
    R openmp/libomptarget/DeviceRTL/include/Mapping.h
    R openmp/libomptarget/DeviceRTL/include/State.h
    R openmp/libomptarget/DeviceRTL/include/Synchronization.h
    R openmp/libomptarget/DeviceRTL/include/Types.h
    R openmp/libomptarget/DeviceRTL/include/Utils.h
    R openmp/libomptarget/DeviceRTL/include/generated_microtask_cases.gen
    R openmp/libomptarget/DeviceRTL/src/Allocator.cpp
    R openmp/libomptarget/DeviceRTL/src/Configuration.cpp
    R openmp/libomptarget/DeviceRTL/src/Debug.cpp
    R openmp/libomptarget/DeviceRTL/src/Kernel.cpp
    R openmp/libomptarget/DeviceRTL/src/LibC.cpp
    R openmp/libomptarget/DeviceRTL/src/Mapping.cpp
    R openmp/libomptarget/DeviceRTL/src/Misc.cpp
    R openmp/libomptarget/DeviceRTL/src/Parallelism.cpp
    R openmp/libomptarget/DeviceRTL/src/Reduction.cpp
    R openmp/libomptarget/DeviceRTL/src/State.cpp
    R openmp/libomptarget/DeviceRTL/src/Stub.cpp
    R openmp/libomptarget/DeviceRTL/src/Synchronization.cpp
    R openmp/libomptarget/DeviceRTL/src/Tasking.cpp
    R openmp/libomptarget/DeviceRTL/src/Utils.cpp
    R openmp/libomptarget/DeviceRTL/src/Workshare.cpp
    R openmp/libomptarget/DeviceRTL/src/exports
    R openmp/libomptarget/README.txt
    R openmp/libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
    R openmp/libomptarget/cmake/Modules/LibomptargetUtils.cmake
    R openmp/libomptarget/docs/declare_target_indirect.md
    R openmp/libomptarget/include/DeviceImage.h
    R openmp/libomptarget/include/ExclusiveAccess.h
    R openmp/libomptarget/include/OffloadEntry.h
    R openmp/libomptarget/include/OffloadPolicy.h
    R openmp/libomptarget/include/OpenMP/InternalTypes.h
    R openmp/libomptarget/include/OpenMP/InteropAPI.h
    R openmp/libomptarget/include/OpenMP/Mapping.h
    R openmp/libomptarget/include/OpenMP/OMPT/Callback.h
    R openmp/libomptarget/include/OpenMP/OMPT/Connector.h
    R openmp/libomptarget/include/OpenMP/OMPT/Interface.h
    R openmp/libomptarget/include/OpenMP/omp.h
    R openmp/libomptarget/include/PluginManager.h
    R openmp/libomptarget/include/Shared/APITypes.h
    R openmp/libomptarget/include/Shared/Debug.h
    R openmp/libomptarget/include/Shared/Environment.h
    R openmp/libomptarget/include/Shared/EnvironmentVar.h
    R openmp/libomptarget/include/Shared/PluginAPI.h
    R openmp/libomptarget/include/Shared/PluginAPI.inc
    R openmp/libomptarget/include/Shared/Profile.h
    R openmp/libomptarget/include/Shared/Requirements.h
    R openmp/libomptarget/include/Shared/SourceInfo.h
    R openmp/libomptarget/include/Shared/Utils.h
    R openmp/libomptarget/include/Utils/ExponentialBackoff.h
    R openmp/libomptarget/include/device.h
    R openmp/libomptarget/include/omptarget.h
    R openmp/libomptarget/include/rtl.h
    R openmp/libomptarget/plugins-nextgen/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/amdgpu/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.cpp
    R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa.h
    R openmp/libomptarget/plugins-nextgen/amdgpu/dynamic_hsa/hsa_ext_amd.h
    R openmp/libomptarget/plugins-nextgen/amdgpu/src/rtl.cpp
    R openmp/libomptarget/plugins-nextgen/amdgpu/utils/UtilitiesRTL.h
    R openmp/libomptarget/plugins-nextgen/common/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/common/OMPT/OmptCallback.cpp
    R openmp/libomptarget/plugins-nextgen/common/include/DLWrap.h
    R openmp/libomptarget/plugins-nextgen/common/include/GlobalHandler.h
    R openmp/libomptarget/plugins-nextgen/common/include/JIT.h
    R openmp/libomptarget/plugins-nextgen/common/include/MemoryManager.h
    R openmp/libomptarget/plugins-nextgen/common/include/PluginInterface.h
    R openmp/libomptarget/plugins-nextgen/common/include/RPC.h
    R openmp/libomptarget/plugins-nextgen/common/include/Utils/ELF.h
    R openmp/libomptarget/plugins-nextgen/common/src/GlobalHandler.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/JIT.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/PluginInterface.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/RPC.cpp
    R openmp/libomptarget/plugins-nextgen/common/src/Utils/ELF.cpp
    R openmp/libomptarget/plugins-nextgen/cuda/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.cpp
    R openmp/libomptarget/plugins-nextgen/cuda/dynamic_cuda/cuda.h
    R openmp/libomptarget/plugins-nextgen/cuda/src/rtl.cpp
    R openmp/libomptarget/plugins-nextgen/exports
    R openmp/libomptarget/plugins-nextgen/host/CMakeLists.txt
    R openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.cpp
    R openmp/libomptarget/plugins-nextgen/host/dynamic_ffi/ffi.h
    R openmp/libomptarget/plugins-nextgen/host/src/rtl.cpp
    R openmp/libomptarget/src/CMakeLists.txt
    R openmp/libomptarget/src/DeviceImage.cpp
    R openmp/libomptarget/src/LegacyAPI.cpp
    R openmp/libomptarget/src/OffloadRTL.cpp
    R openmp/libomptarget/src/OpenMP/API.cpp
    R openmp/libomptarget/src/OpenMP/InteropAPI.cpp
    R openmp/libomptarget/src/OpenMP/Mapping.cpp
    R openmp/libomptarget/src/OpenMP/OMPT/Callback.cpp
    R openmp/libomptarget/src/PluginManager.cpp
    R openmp/libomptarget/src/device.cpp
    R openmp/libomptarget/src/exports
    R openmp/libomptarget/src/interface.cpp
    R openmp/libomptarget/src/omptarget.cpp
    R openmp/libomptarget/src/private.h
    R openmp/libomptarget/test/CMakeLists.txt
    R openmp/libomptarget/test/Inputs/basic_array.f90
    R openmp/libomptarget/test/Inputs/declare_indirect_func.c
    R openmp/libomptarget/test/api/assert.c
    R openmp/libomptarget/test/api/is_initial_device.c
    R openmp/libomptarget/test/api/omp_device_managed_memory.c
    R openmp/libomptarget/test/api/omp_device_managed_memory_alloc.c
    R openmp/libomptarget/test/api/omp_device_memory.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_amdgpu.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed.inc
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed_amdgpu.c
    R openmp/libomptarget/test/api/omp_dynamic_shared_memory_mixed_nvptx.c
    R openmp/libomptarget/test/api/omp_env_vars.c
    R openmp/libomptarget/test/api/omp_get_device_num.c
    R openmp/libomptarget/test/api/omp_get_mapped_ptr.c
    R openmp/libomptarget/test/api/omp_get_num_devices.c
    R openmp/libomptarget/test/api/omp_get_num_devices_with_empty_target.c
    R openmp/libomptarget/test/api/omp_get_num_procs.c
    R openmp/libomptarget/test/api/omp_host_pinned_memory.c
    R openmp/libomptarget/test/api/omp_host_pinned_memory_alloc.c
    R openmp/libomptarget/test/api/omp_indirect_call.c
    R openmp/libomptarget/test/api/omp_target_memcpy_async1.c
    R openmp/libomptarget/test/api/omp_target_memcpy_async2.c
    R openmp/libomptarget/test/api/omp_target_memcpy_rect_async1.c
    R openmp/libomptarget/test/api/omp_target_memcpy_rect_async2.c
    R openmp/libomptarget/test/api/omp_target_memset.c
    R openmp/libomptarget/test/api/ompx_3d.c
    R openmp/libomptarget/test/api/ompx_3d.cpp
    R openmp/libomptarget/test/api/ompx_dump_mapping_tables.cpp
    R openmp/libomptarget/test/api/ompx_sync.c
    R openmp/libomptarget/test/api/ompx_sync.cpp
    R openmp/libomptarget/test/env/base_ptr_ref_count.c
    R openmp/libomptarget/test/env/omp_target_debug.c
    R openmp/libomptarget/test/jit/empty_kernel.inc
    R openmp/libomptarget/test/jit/empty_kernel_lvl1.c
    R openmp/libomptarget/test/jit/empty_kernel_lvl2.c
    R openmp/libomptarget/test/jit/type_punning.c
    R openmp/libomptarget/test/libc/assert.c
    R openmp/libomptarget/test/libc/fwrite.c
    R openmp/libomptarget/test/libc/global_ctor_dtor.cpp
    R openmp/libomptarget/test/libc/host_call.c
    R openmp/libomptarget/test/libc/malloc.c
    R openmp/libomptarget/test/libc/puts.c
    R openmp/libomptarget/test/lit.cfg
    R openmp/libomptarget/test/lit.site.cfg.in
    R openmp/libomptarget/test/mapping/alloc_fail.c
    R openmp/libomptarget/test/mapping/array_section_implicit_capture.c
    R openmp/libomptarget/test/mapping/array_section_use_device_ptr.c
    R openmp/libomptarget/test/mapping/auto_zero_copy.cpp
    R openmp/libomptarget/test/mapping/auto_zero_copy_apu.cpp
    R openmp/libomptarget/test/mapping/auto_zero_copy_globals.cpp
    R openmp/libomptarget/test/mapping/data_absent_at_exit.c
    R openmp/libomptarget/test/mapping/data_member_ref.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_api.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_array.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_array_subscript.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_complex_structure.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_ptr_subscript.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_default_mappers_var.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_nested_mappers.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target_data.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target_data_enter_exit.cpp
    R openmp/libomptarget/test/mapping/declare_mapper_target_update.cpp
    R openmp/libomptarget/test/mapping/delete_inf_refcount.c
    R openmp/libomptarget/test/mapping/device_ptr_update.c
    R openmp/libomptarget/test/mapping/firstprivate_aligned.cpp
    R openmp/libomptarget/test/mapping/has_device_addr.cpp
    R openmp/libomptarget/test/mapping/implicit_device_ptr.c
    R openmp/libomptarget/test/mapping/is_device_ptr.cpp
    R openmp/libomptarget/test/mapping/lambda_by_value.cpp
    R openmp/libomptarget/test/mapping/lambda_mapping.cpp
    R openmp/libomptarget/test/mapping/low_alignment.c
    R openmp/libomptarget/test/mapping/map_back_race.cpp
    R openmp/libomptarget/test/mapping/ompx_hold/omp_target_disassociate_ptr.c
    R openmp/libomptarget/test/mapping/ompx_hold/struct.c
    R openmp/libomptarget/test/mapping/ompx_hold/target-data.c
    R openmp/libomptarget/test/mapping/ompx_hold/target.c
    R openmp/libomptarget/test/mapping/padding_not_mapped.c
    R openmp/libomptarget/test/mapping/power_of_two_alignment.c
    R openmp/libomptarget/test/mapping/pr38704.c
    R openmp/libomptarget/test/mapping/prelock.cpp
    R openmp/libomptarget/test/mapping/present/target.c
    R openmp/libomptarget/test/mapping/present/target_array_extension.c
    R openmp/libomptarget/test/mapping/present/target_data.c
    R openmp/libomptarget/test/mapping/present/target_data_array_extension.c
    R openmp/libomptarget/test/mapping/present/target_data_at_exit.c
    R openmp/libomptarget/test/mapping/present/target_enter_data.c
    R openmp/libomptarget/test/mapping/present/target_exit_data_delete.c
    R openmp/libomptarget/test/mapping/present/target_exit_data_release.c
    R openmp/libomptarget/test/mapping/present/target_update.c
    R openmp/libomptarget/test/mapping/present/target_update_array_extension.c
    R openmp/libomptarget/test/mapping/present/unified_shared_memory.c
    R openmp/libomptarget/test/mapping/present/zero_length_array_section.c
    R openmp/libomptarget/test/mapping/present/zero_length_array_section_exit.c
    R openmp/libomptarget/test/mapping/private_mapping.c
    R openmp/libomptarget/test/mapping/ptr_and_obj_motion.c
    R openmp/libomptarget/test/mapping/reduction_implicit_map.cpp
    R openmp/libomptarget/test/mapping/target_data_array_extension_at_exit.c
    R openmp/libomptarget/test/mapping/target_derefence_array_pointrs.cpp
    R openmp/libomptarget/test/mapping/target_has_device_addr.c
    R openmp/libomptarget/test/mapping/target_implicit_partial_map.c
    R openmp/libomptarget/test/mapping/target_map_for_member_data.cpp
    R openmp/libomptarget/test/mapping/target_pointers_members_map.cpp
    R openmp/libomptarget/test/mapping/target_update_array_extension.c
    R openmp/libomptarget/test/mapping/target_use_device_addr.c
    R openmp/libomptarget/test/mapping/target_uses_allocator.c
    R openmp/libomptarget/test/mapping/target_wrong_use_device_addr.c
    R openmp/libomptarget/test/offloading/assert.cpp
    R openmp/libomptarget/test/offloading/atomic-compare-signedness.c
    R openmp/libomptarget/test/offloading/back2back_distribute.c
    R openmp/libomptarget/test/offloading/barrier_fence.c
    R openmp/libomptarget/test/offloading/bug47654.cpp
    R openmp/libomptarget/test/offloading/bug49021.cpp
    R openmp/libomptarget/test/offloading/bug49334.cpp
    R openmp/libomptarget/test/offloading/bug49779.cpp
    R openmp/libomptarget/test/offloading/bug50022.cpp
    R openmp/libomptarget/test/offloading/bug51781.c
    R openmp/libomptarget/test/offloading/bug51982.c
    R openmp/libomptarget/test/offloading/bug53727.cpp
    R openmp/libomptarget/test/offloading/bug64959.c
    R openmp/libomptarget/test/offloading/bug64959_compile_only.c
    R openmp/libomptarget/test/offloading/bug74582.c
    R openmp/libomptarget/test/offloading/complex_reduction.cpp
    R openmp/libomptarget/test/offloading/ctor_dtor.cpp
    R openmp/libomptarget/test/offloading/cuda_no_devices.c
    R openmp/libomptarget/test/offloading/d2d_memcpy.c
    R openmp/libomptarget/test/offloading/d2d_memcpy_sync.c
    R openmp/libomptarget/test/offloading/default_thread_limit.c
    R openmp/libomptarget/test/offloading/dynamic_module.c
    R openmp/libomptarget/test/offloading/dynamic_module_load.c
    R openmp/libomptarget/test/offloading/extern.c
    R openmp/libomptarget/test/offloading/force-usm.cpp
    R openmp/libomptarget/test/offloading/fortran/basic-target-parallel-do.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-parallel-region.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-1D-array-section.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array-section.f90
    R openmp/libomptarget/test/offloading/fortran/basic-target-region-3D-array.f90
    R openmp/libomptarget/test/offloading/fortran/basic_array.c
    R openmp/libomptarget/test/offloading/fortran/basic_target_region.f90
    R openmp/libomptarget/test/offloading/fortran/constant-arr-index.f90
    R openmp/libomptarget/test/offloading/fortran/declare-target-vars-in-target-region.f90
    R openmp/libomptarget/test/offloading/fortran/double-target-call-with-declare-target.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-1d-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-array-section-3d-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-allocatable-map-scopes.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-allocatables.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-2.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-array.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-enter-exit-scalar.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-pointer-scopes-enter-exit.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-array-section-3d-bounds.f90
    R openmp/libomptarget/test/offloading/fortran/target-map-pointer-target-scopes.f90
    R openmp/libomptarget/test/offloading/fortran/target-nested-target-data.f90
    R openmp/libomptarget/test/offloading/fortran/target-parallel-do-collapse.f90
    R openmp/libomptarget/test/offloading/fortran/target-region-implicit-array.f90
    R openmp/libomptarget/test/offloading/fortran/target_map_common_block.f90
    R openmp/libomptarget/test/offloading/fortran/target_map_common_block1.f90
    R openmp/libomptarget/test/offloading/fortran/target_map_common_block2.f90
    R openmp/libomptarget/test/offloading/fortran/target_update.f90
    R openmp/libomptarget/test/offloading/generic_multiple_parallel_regions.c
    R openmp/libomptarget/test/offloading/global_constructor.cpp
    R openmp/libomptarget/test/offloading/host_as_target.c
    R openmp/libomptarget/test/offloading/indirect_fp_mapping.c
    R openmp/libomptarget/test/offloading/info.c
    R openmp/libomptarget/test/offloading/interop.c
    R openmp/libomptarget/test/offloading/lone_target_exit_data.c
    R openmp/libomptarget/test/offloading/looptripcnt.c
    R openmp/libomptarget/test/offloading/malloc.c
    R openmp/libomptarget/test/offloading/malloc_parallel.c
    R openmp/libomptarget/test/offloading/mandatory_but_no_devices.c
    R openmp/libomptarget/test/offloading/memory_manager.cpp
    R openmp/libomptarget/test/offloading/multiple_reductions_simple.c
    R openmp/libomptarget/test/offloading/non_contiguous_update.cpp
    R openmp/libomptarget/test/offloading/offloading_success.c
    R openmp/libomptarget/test/offloading/offloading_success.cpp
    R openmp/libomptarget/test/offloading/ompx_bare.c
    R openmp/libomptarget/test/offloading/ompx_coords.c
    R openmp/libomptarget/test/offloading/ompx_saxpy_mixed.c
    R openmp/libomptarget/test/offloading/parallel_offloading_map.cpp
    R openmp/libomptarget/test/offloading/parallel_target_teams_reduction.cpp
    R openmp/libomptarget/test/offloading/parallel_target_teams_reduction_max.cpp
    R openmp/libomptarget/test/offloading/parallel_target_teams_reduction_min.cpp
    R openmp/libomptarget/test/offloading/requires.c
    R openmp/libomptarget/test/offloading/runtime_init.c
    R openmp/libomptarget/test/offloading/shared_lib_fp_mapping.c
    R openmp/libomptarget/test/offloading/small_trip_count.c
    R openmp/libomptarget/test/offloading/small_trip_count_thread_limit.cpp
    R openmp/libomptarget/test/offloading/spmdization.c
    R openmp/libomptarget/test/offloading/static_linking.c
    R openmp/libomptarget/test/offloading/std_complex_arithmetic.cpp
    R openmp/libomptarget/test/offloading/struct_mapping_with_pointers.cpp
    R openmp/libomptarget/test/offloading/target-teams-atomic.c
    R openmp/libomptarget/test/offloading/target-tile.c
    R openmp/libomptarget/test/offloading/target_constexpr_mapping.cpp
    R openmp/libomptarget/test/offloading/target_critical_region.cpp
    R openmp/libomptarget/test/offloading/target_depend_nowait.cpp
    R openmp/libomptarget/test/offloading/target_map_for_member_data.cpp
    R openmp/libomptarget/test/offloading/target_nowait_target.cpp
    R openmp/libomptarget/test/offloading/task_in_reduction_target.c
    R openmp/libomptarget/test/offloading/taskloop_offload_nowait.cpp
    R openmp/libomptarget/test/offloading/test_libc.cpp
    R openmp/libomptarget/test/offloading/thread_limit.c
    R openmp/libomptarget/test/offloading/thread_state_1.c
    R openmp/libomptarget/test/offloading/thread_state_2.c
    R openmp/libomptarget/test/offloading/weak.c
    R openmp/libomptarget/test/offloading/workshare_chunk.c
    R openmp/libomptarget/test/offloading/wtime.c
    R openmp/libomptarget/test/ompt/callbacks.h
    R openmp/libomptarget/test/ompt/register_both.h
    R openmp/libomptarget/test/ompt/register_emi.h
    R openmp/libomptarget/test/ompt/register_emi_map.h
    R openmp/libomptarget/test/ompt/register_no_device_init.h
    R openmp/libomptarget/test/ompt/register_non_emi.h
    R openmp/libomptarget/test/ompt/register_non_emi_map.h
    R openmp/libomptarget/test/ompt/register_wrong_return.h
    R openmp/libomptarget/test/ompt/target_memcpy.c
    R openmp/libomptarget/test/ompt/target_memcpy_emi.c
    R openmp/libomptarget/test/ompt/veccopy.c
    R openmp/libomptarget/test/ompt/veccopy_data.c
    R openmp/libomptarget/test/ompt/veccopy_disallow_both.c
    R openmp/libomptarget/test/ompt/veccopy_emi.c
    R openmp/libomptarget/test/ompt/veccopy_emi_map.c
    R openmp/libomptarget/test/ompt/veccopy_map.c
    R openmp/libomptarget/test/ompt/veccopy_no_device_init.c
    R openmp/libomptarget/test/ompt/veccopy_wrong_return.c
    R openmp/libomptarget/test/unified_shared_memory/api.c
    R openmp/libomptarget/test/unified_shared_memory/associate_ptr.c
    R openmp/libomptarget/test/unified_shared_memory/close_enter_exit.c
    R openmp/libomptarget/test/unified_shared_memory/close_manual.c
    R openmp/libomptarget/test/unified_shared_memory/close_member.c
    R openmp/libomptarget/test/unified_shared_memory/close_modifier.c
    R openmp/libomptarget/test/unified_shared_memory/shared_update.c
    R openmp/libomptarget/tools/CMakeLists.txt
    R openmp/libomptarget/tools/deviceinfo/CMakeLists.txt
    R openmp/libomptarget/tools/deviceinfo/llvm-omp-device-info.cpp
    R openmp/libomptarget/tools/kernelreplay/CMakeLists.txt
    R openmp/libomptarget/tools/kernelreplay/llvm-omp-kernel-replay.cpp
    R openmp/libomptarget/unittests/CMakeLists.txt
    R openmp/libomptarget/unittests/Plugins/CMakeLists.txt
    R openmp/libomptarget/unittests/Plugins/NextgenPluginsTest.cpp
    R openmp/libomptarget/utils/generate_microtask_cases.py
    M openmp/runtime/src/CMakeLists.txt
    M runtimes/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Move `/openmp/libomptarget` to `/offload` (#75125)

In a nutshell, this moves our libomptarget code to populate the offload
subproject.

With this commit, users need to enable the new LLVM/Offload subproject
as a runtime in their cmake configuration.
No further changes are expected for downstream code.

Tests and other components still depend on OpenMP and have also not been
renamed. The results below are for a build in which OpenMP and Offload
are enabled runtimes. In addition to the pure `git mv`, we needed to
adjust some CMake files. Nothing is intended to change semantics.

```
ninja check-offload
```
Works with the X86 and AMDGPU offload tests

```
ninja check-openmp
```
Still works but doesn't build offload tests anymore.

```
ls install/lib
```
Shows all expected libraries, incl.
- `libomptarget.devicertl.a`
- `libomptarget-nvptx-sm_90.bc`
- `libomptarget.rtl.amdgpu.so` -> `libomptarget.rtl.amdgpu.so.18git`
- `libomptarget.so` -> `libomptarget.so.18git`

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

---------

Co-authored-by: Saiyedul Islam <Saiyedul.Islam at amd.com>


  Commit: 8128d4b1229203c2ab20d3136410c149ea3652cf
      https://github.com/llvm/llvm-project/commit/8128d4b1229203c2ab20d3136410c149ea3652cf
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/tools/llvm-reduce/remove-dp-values.ll
    M llvm/tools/llvm-reduce/llvm-reduce.cpp

  Log Message:
  -----------
  [RemoveDIs] Preserve debug info format in llvm-reduce (#89220)

As the goal of LLVM reduce is to simplify the input file, it should not
modify the debug info format - doing so by default would make it
impossible to reduce an error that only occurs in the old format, for
example (as briefly discussed at
https://github.com/llvm/llvm-project/pull/86275). This patch uses the
new "preserve debug info format" flag in llvm-reduce to prevent the
input from being subtly transformed by llvm-reduce itself; this has no
effect on any tools used for the interestingness check (i.e. if `opt` is
invoked, it will still convert the reduced input to the new format by
default), but simply ensures that the reduced file is strictly reduced
rather than modified.


  Commit: 7c20576cc37ab6b078782caf7575dab4ef87b37c
      https://github.com/llvm/llvm-project/commit/7c20576cc37ab6b078782caf7575dab4ef87b37c
  Author: Iman Hosseini <hosseini.iman at yahoo.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf

  Log Message:
  -----------
  [flang][cuda] fix parsing of cuda_kernel (#89613)

Fix parsing of cuda_kernel: it missed a mlir::succeeded check and it was
not setting up the `types` and causing mismatch between values and types
of the grid/block (CUFKernelValues). @clementval

---------

Co-authored-by: Iman Hosseini <imanh at nvidia.com>
Co-authored-by: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>


  Commit: 73ed2153beb529973741344874c0084d24c2f268
      https://github.com/llvm/llvm-project/commit/73ed2153beb529973741344874c0084d24c2f268
  Author: ZijunZhaoCCK <zijunzhao at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/FixIt/format-darwin-enum-class.cpp
    M clang/test/FixIt/format.cpp
    M clang/test/SemaCXX/format-strings.cpp

  Log Message:
  -----------
  Carving out -Wformat warning about scoped enums into a subwarning (#88595)

Make it part of -Wformat-pedantic.

Fixes #81647


  Commit: 772863e3120fc770ae1ab458022284be04810097
      https://github.com/llvm/llvm-project/commit/772863e3120fc770ae1ab458022284be04810097
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp

  Log Message:
  -----------
  [SystemZ][NFC] Use new getPointerSize function (#89623)

Use the new getPointerSize() function throughout the frame lowering class.


  Commit: 180cf4daec290e68aa4dd6dc14697add3e18bcec
      https://github.com/llvm/llvm-project/commit/180cf4daec290e68aa4dd6dc14697add3e18bcec
  Author: zibi2 <62662650+zibi2 at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp

  Log Message:
  -----------
  [clangd] Fix unittests in TargetDeclTest bucket (#89630)

This PR fixes the build errors for one of the `clangd` unit tests bucket
similar to the following:

```
.../clang-tools-extra/clangd/unittests/FindTargetTests.cpp:430:29: error: passing no argument for the '...' parameter of a variadic macro is a C++20 extension [-Werror,-Wc++20-extensions]
  430 |   EXPECT_DECLS("AutoTypeLoc");
      |                             ^
.../clang-tools-extra/clangd/unittests/FindTargetTests.cpp:98:9: note: macro 'EXPECT_DECLS' defined here
   98 | #define EXPECT_DECLS(NodeType, ...)                                            \
      |         ^
```

This happens when using a build compiler with #84520. The fix is to
include commas to compensate for empty vararg macro arguments in a few
instances.


  Commit: 9aa663bb9ef3dbab8ccc324ef3df5138aa458fbd
      https://github.com/llvm/llvm-project/commit/9aa663bb9ef3dbab8ccc324ef3df5138aa458fbd
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst

  Log Message:
  -----------
  [Clang] Fix __is_trivially_equaltiy_comparable documentation (#88528)

Currently `__is_trivially_equality_comparable` is documented to return
true if comparing the value representation is equivalent to calling the
comparison operator, which is not quite what the trait actually checks.
The traits actually checks that comparing the object representation is
equivalent, which means that there cannot be padding bytes in the type.


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

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

  Log Message:
  -----------
  [RISCV] Add extension information to RISCVFeatures.td. NFC (#89326)

This adds a new RISCVExtension class that inherits from
SubtargetFeature. This contains the major/minor version and whether the
extension is experimental. The plan is to use this to generate the
tables for RISCVISAInfo.cpp.

The version numbers might not be accurate yet. If there are errors they
will be fixed before they are used for anything. It will be easier to
verify once the new tablegen backend is written to generate the
RISCVISAInfo.cpp table.


  Commit: c1b6cca1214e7a9c14a30b81585dd8b81baeaa77
      https://github.com/llvm/llvm-project/commit/c1b6cca1214e7a9c14a30b81585dd8b81baeaa77
  Author: Wentao Zhang <35722712+whentojump at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    A clang/test/CoverageMapping/statement-expression.c

  Log Message:
  -----------
  [clang][CoverageMapping] do not emit a gap region when either end doesn't have valid source locations (#89564)

Fixes #86998


  Commit: 92631a4824a91f3268a5716dd3459df8dc6bfb63
      https://github.com/llvm/llvm-project/commit/92631a4824a91f3268a5716dd3459df8dc6bfb63
  Author: Miro Bucko <mbucko at hotmail.co.uk>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Target/Process.cpp

  Log Message:
  -----------
  [lldb][MinidumpFileBuilder] Fix addition of MemoryList steam (#88564)

Summary:
AddMemoryList() was returning the last error status returned by
ReadMemory(). So if an invalid memory region was read last, the function
would return an error.

Test Plan:
./bin/llvm-lit -sv
~/src/llvm-project/lldb/test/API/functionalities/process_save_core_minidump/TestProcessSaveCoreMinidump.py

Reviewers:
kevinfrei,clayborg 

Subscribers:

Tasks:

Tags:


  Commit: f352ce368af39e57d337495d7ca3a21975ede8e6
      https://github.com/llvm/llvm-project/commit/f352ce368af39e57d337495d7ca3a21975ede8e6
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/MC/SPIRVObjectWriter.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
    M llvm/lib/Target/SPIRV/SPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/test/CodeGen/SPIRV/ComparePointers.ll
    M llvm/test/CodeGen/SPIRV/empty-opencl32.ll
    M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
    A llvm/test/CodeGen/SPIRV/physical-layout/generator-magic-number.ll
    A llvm/test/CodeGen/SPIRV/physical-layout/spirv-version.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll

  Log Message:
  -----------
  [SPIR-V] Emit SPIR-V generator magic number and version (#87951)

This patch:
- Adds SPIR-V backend's registered generator magic number to the emitted
binary. The magic number consists of the generator ID (43) and LLVM
major version.
- Adds SPIR-V version to the binary.
- Allows reading the expected (maximum supported) SPIR-V version from
the target triple.
- Uses VersionTuple for representing versions throughout the backend's
codebase.
- Registers v1.6 for spirv32 and spirv64 triple.

See more: https://github.com/KhronosGroup/SPIRV-Headers/commit/7d500c


  Commit: 9c9dea943706340f8a45dc74887bf9beddd67810
      https://github.com/llvm/llvm-project/commit/9c9dea943706340f8a45dc74887bf9beddd67810
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

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

  Log Message:
  -----------
  [flang][OpenMP] Concatenate begin and end clauses into single list (#89090)

This will remove the distinction between begin clauses and end clauses,
and process all of them together.


  Commit: f94ed6f7977305db8fa6b48a85c9db2b8cc4d3b3
      https://github.com/llvm/llvm-project/commit/f94ed6f7977305db8fa6b48a85c9db2b8cc4d3b3
  Author: Félix-Antoine Constantin <60141446+felix642 at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/GlobList.h
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp

  Log Message:
  -----------
  [clang-tidy] Improved --verify-config when using literal style in config file (#85591)

Specifying checks using the literal style (|) in the clang-tidy config
file is currently supported but was not implemented for the
--verify-config options. This means that clang-tidy would work properly
but, using the --verify-config option would raise an error due to some
checks not being parsed properly.

Fixes #53737


  Commit: 758d97dce0c669a0ba6927728b40030a76acb144
      https://github.com/llvm/llvm-project/commit/758d97dce0c669a0ba6927728b40030a76acb144
  Author: YunQiang Su <syq at debian.org>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
    M llvm/test/CodeGen/Mips/atomic-min-max.ll

  Log Message:
  -----------
  [MIPS]: Rework atomic max/min expand for subword (#89575)

The current code is so buggy: it can work for few cases. The problems
include:
1. ll/sc works on a whole word, while other parts other than we rmw are
dropped.
  2. The oprands are not well zero-extended for unsigned ops.
3. It doesn't work for big-endian, as the postion of subword differs
with little endian.

And in fact, we can set the return value correct in ll/sc scope, so we
can skip the sinkMBB.


  Commit: 2834e8ad1cfe32b69a8b5a1dd2477725683a61c4
      https://github.com/llvm/llvm-project/commit/2834e8ad1cfe32b69a8b5a1dd2477725683a61c4
  Author: Jordan Rupprecht <rupprecht at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    R lldb/third_party/Python/module/pexpect-4.6/.gitignore
    R lldb/third_party/Python/module/pexpect-4.6/.travis.yml
    R lldb/third_party/Python/module/pexpect-4.6/DEVELOPERS.rst
    R lldb/third_party/Python/module/pexpect-4.6/LICENSE
    R lldb/third_party/Python/module/pexpect-4.6/MANIFEST.in
    R lldb/third_party/Python/module/pexpect-4.6/README.rst
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/ANSI.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/__init__.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/_async.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/bashrc.sh
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/exceptions.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/expect.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/fdpexpect.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/popen_spawn.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/pty_spawn.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/pxssh.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/replwrap.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/run.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/screen.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/spawnbase.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/utils.py
    R lldb/third_party/Python/module/pexpect-4.6/requirements-testing.txt
    R lldb/third_party/Python/module/pexpect-4.6/setup.cfg
    R lldb/third_party/Python/module/pexpect-4.6/setup.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/.gitignore
    R lldb/third_party/Python/module/ptyprocess-0.6.0/.travis.yml
    R lldb/third_party/Python/module/ptyprocess-0.6.0/LICENSE
    R lldb/third_party/Python/module/ptyprocess-0.6.0/README.rst
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/__init__.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/_fork_pty.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/ptyprocess.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/util.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/pyproject.toml
    R lldb/third_party/Python/module/ptyprocess-0.6.0/readthedocs.yml

  Log Message:
  -----------
  [lldb][NFC] Remove unused pexpect/ptyprocess (#89609)


  Commit: 9a3595167d3ee875e3180800cec5f5c3fd170e63
      https://github.com/llvm/llvm-project/commit/9a3595167d3ee875e3180800cec5f5c3fd170e63
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Add freeze when expanding mul by constant to two or more uses (#89290)

topperc pointed this out in review of
https://github.com/llvm/llvm-project/pull/88791, but I believe the
problem applies
here as well. Worth noting is that the code I introduced with this bug
was mostly copied from other targets - which
also have this bug.


  Commit: ca1f1c957232b05d6529916bcd769ae1c57ff935
      https://github.com/llvm/llvm-project/commit/ca1f1c957232b05d6529916bcd769ae1c57ff935
  Author: js324 <jins918 at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Sema/SemaExpr.cpp
    A clang/test/AST/bitint-suffix.cpp
    M clang/test/Lexer/bitint-constants-compat.c
    A clang/test/Lexer/bitint-constants.cpp

  Log Message:
  -----------
  [BitInt] Expose a _BitInt literal suffix in C++ (#86586)

This exposes _BitInt literal suffixes __wb and u__wb as an extension
in C++. There is a new Extension warning, and the tests are
essentially the same as the existing _BitInt literal tests for C but
with a few additional cases.

Fixes #85223


  Commit: 43c26bbc425dbd8caee311a0d5e4d90c8e71d0d8
      https://github.com/llvm/llvm-project/commit/43c26bbc425dbd8caee311a0d5e4d90c8e71d0d8
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libc/src/stdlib/bsearch.h

  Log Message:
  -----------
  [libc] don't over include stdlib in the hdr declaring bsearch (#89471)

When building overlay mode with GCC in release mode, glibc's stdlib.h
contains
an extern inline declaration of bsearch. This breaks our use of the
gnu::alias
function attribute in LLVM_LIBC_FUNCTION with GCC because GCC checks
that the
aliasee is defined in the same TU (clang does not).

We're looking at also potentially updating our definition of
LLVM_LIBC_FUNCTION
from libc/src/__support/common.h. Upon testing, I was able to get
-Wnonnull-compare diagnostics from GCC in our definition of bsearch
because
glibc declares bsearch with the fugly nonnull function attribute.

There's more we can do here though to improve our implementation of
bsearch.
7.24.5.1 says:

    Pointer arguments on such a call shall still have valid values, as
    described in 7.1.4.

We could also use either function attributes or parameter attributes to
denote
these should not be null (for users/callers) and perhaps still check for
non-null explicitly under some yet to be discussed hardening
configurations in
the future.

Link: #60481
Link:
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-nonnull-function-attribute


  Commit: a54102a093190f3a29add5d9327e62f13fce896a
      https://github.com/llvm/llvm-project/commit/a54102a093190f3a29add5d9327e62f13fce896a
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Support/MathExtras.h
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/Support/MathExtrasTest.cpp

  Log Message:
  -----------
  [llvm] Add support for zero-width integers in MathExtras.h (#87193)

MLIR uses zero-width integers, but also re-uses integer logic from LLVM
to avoid duplication. This creates issues when LLVM logic is used in
MLIR on integers which can be zero-width. In order to avoid
special-casing the bitwidth-related logic in MLIR, this PR adds support
for zero-width integers in LLVM's MathExtras (and consequently APInt).

While most of the logic in theory works the same way out of the box,
because bitshifting right by the entire bitwidth in C++ is undefined
behavior instead of being zero, some special cases had to be added.
Fortunately, it seems like the performance penalty is small. In x86,
this usually yields the addition of a predicated conditional move. I
checked that no branch is inserted in Arm too.

This happens to fix a crash in `arith.extsi` canonicalization in MLIR. I
think a follow-up PR to add tests for i0 in arith would be beneficial.


  Commit: 0336116ed463c2ad125793a5aa4d7290a2155709
      https://github.com/llvm/llvm-project/commit/0336116ed463c2ad125793a5aa4d7290a2155709
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libc/docs/dev/code_style.rst

  Log Message:
  -----------
  [libc][docs] codify Policy on Assembler Sources (#88185)

It would be helpful in future code reviews to document a policy with
regards to
where and when Assembler sources are appropriate. That way when
reviewers point
out infractions, they can point to this written policy, which may help
contributors understand that it's not solely the personal preferences of
individual reviewers but instead rather a previously agreed upon rule by
maintainers.

Link: https://github.com/llvm/llvm-project/pull/87837
Link: https://github.com/llvm/llvm-project/pull/88157
Link:
https://discourse.llvm.org/t/hand-written-in-assembly-in-libc-setjmp-longjmp/73249/12


  Commit: dd7963239e94bcd46e56ae90b08d2d0c9904ff00
      https://github.com/llvm/llvm-project/commit/dd7963239e94bcd46e56ae90b08d2d0c9904ff00
  Author: Nick Desaulniers <nickdesaulniers at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libc/config/linux/api.td
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/include/CMakeLists.txt
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/pthread_rwlockattr_t.h
    M libc/spec/posix.td
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_rwlockattr_destroy.cpp
    A libc/src/pthread/pthread_rwlockattr_destroy.h
    A libc/src/pthread/pthread_rwlockattr_getpshared.cpp
    A libc/src/pthread/pthread_rwlockattr_getpshared.h
    A libc/src/pthread/pthread_rwlockattr_init.cpp
    A libc/src/pthread/pthread_rwlockattr_init.h
    A libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    A libc/src/pthread/pthread_rwlockattr_setpshared.h
    M libc/test/src/pthread/CMakeLists.txt
    A libc/test/src/pthread/pthread_rwlockattr_test.cpp

  Log Message:
  -----------
  [libc][POSIX][pthreads] implement pthread_rwlockattr_t functions (#89322)

Implement:
- pthread_rwlockattr_destroy
- pthread_rwlockattr_getpshared
- pthread_rwlockattr_init
- pthread_rwlockattr_setpshared


  Commit: 6b1b4c1c54d4276409c336eaf6d47b3bc04035c3
      https://github.com/llvm/llvm-project/commit/6b1b4c1c54d4276409c336eaf6d47b3bc04035c3
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/integrated-as.c

  Log Message:
  -----------
  [RISCV][clang] Don't enable -mrelax-all for -O0 on RISC-V (#88538)

-O0 implies -mrelax-all as an assembler compile time optimization.
-mrelax-all allows the assembler to complete layout in 2 passes instead
of doing iterative branch relaxation.

Jump offsets larger than +/-1MiB require an indirect jump on RISC-V.
This can't be done by the assembler, so we use a branch relaxation MIR
pass and use register scavenging to find a free register.

The conditional branch offsets for RISC-V are also somewhat small so we
support MC layer branch relaxation to make life easier for assembly
programmers. This may also cover up bugs in our function size estimation
in MachineIR.

Enabling -mrelax-all causes the MC layer relaxation to agressively relax
branches. This increases code size and can create cases where we need an
indirect jump, but we can't create one. This leads to linker failures.

The easiest way to avoid this is to not default to -mrelax-all for -O0
and sacrifice the compile time optimization. That's what this patch
does.

Fixes #87127


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

  Changed paths:
    M offload/CMakeLists.txt

  Log Message:
  -----------
  [Offload] Fix per-target install directory (#89645)

Summary:
The move from `openmp` to `offload` did not preserve the per-target
runtime directory installation. This is important because this
per-target directory is always included first and is likely the de-facto
way to handle these going forward. Without this installation, old
installations of the library will be linked against first.


  Commit: 89c95effe82c09b9a42408f4823409331f8fa266
      https://github.com/llvm/llvm-project/commit/89c95effe82c09b9a42408f4823409331f8fa266
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-readelf.rst
    M llvm/docs/CommandGuide/llvm-readobj.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.h

  Log Message:
  -----------
  [llvm-readobj] Remove --raw-relr

https://reviews.llvm.org/D47919 dumped RELR relocations as
`R_*_RELATIVE` and added --raw-relr (not in GNU) for testing purposes
(more readable than `llvm-readelf -x .relr.dyn`). The option is obsolete
after `llvm-readelf -r` output gets improved (#89162).

Since --raw-relr never seems to get more adoption. Let's remove it to
avoid some complexity.

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


  Commit: 40137ff0d81be80e4900c17c57b1f66c53ddf2f9
      https://github.com/llvm/llvm-project/commit/40137ff0d81be80e4900c17c57b1f66c53ddf2f9
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/unittests/Frontend/CMakeLists.txt
    A llvm/unittests/Frontend/OpenMPComposeTest.cpp
    M llvm/utils/TableGen/DirectiveEmitter.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Refactor getLeafConstructs, add getCompoundConstruct (#87247)

Emit a special leaf construct table in DirectiveEmitter.cpp, which will
allow both decomposition of a construct into leafs, and composition of
constituent constructs into a single compound construct (if possible).
The function `getLeafConstructs` is no longer auto-generated, but
implemented in OMP.cpp.

The table contains a row for each directive, and each row has the
following format
`dir_id, num_leafs, leaf1, leaf2, ..., leafN, -1, ...`
The rows are sorted lexicographically with respect to the leaf
constructs. This allows a binary search for the row corresponding to the
given list of leafs.

There is an auxiliary table that for each directive contains the index
of the row corresponding to that directive.

Looking up leaf constructs for a directive `dir_id` is of constant time,
and and consists of two lookups: `LeafTable[Auxiliary[dir_id]]`.
Finding a compound directive given the set of leafs is of time O(logn),
and is roughly represented by
`row = binary_search(LeafTable); return row[0]`.

The functions `getLeafConstructs` and `getCompoundConstruct` use these
lookup methods internally.


  Commit: 99f42e6b88177328ebe725b5cb6d422106bbb3e6
      https://github.com/llvm/llvm-project/commit/99f42e6b88177328ebe725b5cb6d422106bbb3e6
  Author: Xu Jun <693788454 at qq.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/tools/lldb-dap/JSONUtils.cpp

  Log Message:
  -----------
  [lldb][dap] always add column field in StackFrame body (#73393)

The `column` field is mandatory in StackTraceResponse, otherwise the
debugger client may raise error (e.g. VSCode can't correctly open an
editor without the column field)

---------

Signed-off-by: Xu Jun <693788454 at qq.com>


  Commit: bcd150d2906ac83ea0ab680e981770a71c021a03
      https://github.com/llvm/llvm-project/commit/bcd150d2906ac83ea0ab680e981770a71c021a03
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

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

  Log Message:
  -----------
  [gn build] Port 40137ff0d81b


  Commit: 7c5854673391940d578c591c727614bf50b78301
      https://github.com/llvm/llvm-project/commit/7c5854673391940d578c591c727614bf50b78301
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/unittests/Support/MathExtrasTest.cpp

  Log Message:
  -----------
  [nfc][llvm] Fix a typo in MathExtras.h testing (#89653)

I made a small typo when writing a test for MathExtras.h, sorry!


  Commit: 83bc7b57714dc2f6b33c188f2b95a0025468ba51
      https://github.com/llvm/llvm-project/commit/83bc7b57714dc2f6b33c188f2b95a0025468ba51
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libcxx/.clang-format
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/__algorithm/adjacent_find.h
    M libcxx/include/__algorithm/all_of.h
    M libcxx/include/__algorithm/any_of.h
    M libcxx/include/__algorithm/binary_search.h
    M libcxx/include/__algorithm/clamp.h
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/count_if.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/find_end.h
    M libcxx/include/__algorithm/find_first_of.h
    M libcxx/include/__algorithm/find_if.h
    M libcxx/include/__algorithm/find_if_not.h
    M libcxx/include/__algorithm/fold.h
    M libcxx/include/__algorithm/includes.h
    M libcxx/include/__algorithm/is_heap.h
    M libcxx/include/__algorithm/is_heap_until.h
    M libcxx/include/__algorithm/is_partitioned.h
    M libcxx/include/__algorithm/is_permutation.h
    M libcxx/include/__algorithm/is_sorted.h
    M libcxx/include/__algorithm/is_sorted_until.h
    M libcxx/include/__algorithm/lexicographical_compare.h
    M libcxx/include/__algorithm/lexicographical_compare_three_way.h
    M libcxx/include/__algorithm/lower_bound.h
    M libcxx/include/__algorithm/max.h
    M libcxx/include/__algorithm/max_element.h
    M libcxx/include/__algorithm/min.h
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/minmax.h
    M libcxx/include/__algorithm/minmax_element.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/none_of.h
    M libcxx/include/__algorithm/pstl_any_all_none_of.h
    M libcxx/include/__algorithm/pstl_is_partitioned.h
    M libcxx/include/__algorithm/ranges_adjacent_find.h
    M libcxx/include/__algorithm/ranges_all_of.h
    M libcxx/include/__algorithm/ranges_any_of.h
    M libcxx/include/__algorithm/ranges_binary_search.h
    M libcxx/include/__algorithm/ranges_clamp.h
    M libcxx/include/__algorithm/ranges_contains.h
    M libcxx/include/__algorithm/ranges_contains_subrange.h
    M libcxx/include/__algorithm/ranges_count.h
    M libcxx/include/__algorithm/ranges_count_if.h
    M libcxx/include/__algorithm/ranges_ends_with.h
    M libcxx/include/__algorithm/ranges_equal.h
    M libcxx/include/__algorithm/ranges_equal_range.h
    M libcxx/include/__algorithm/ranges_find.h
    M libcxx/include/__algorithm/ranges_find_end.h
    M libcxx/include/__algorithm/ranges_find_first_of.h
    M libcxx/include/__algorithm/ranges_find_if.h
    M libcxx/include/__algorithm/ranges_find_if_not.h
    M libcxx/include/__algorithm/ranges_includes.h
    M libcxx/include/__algorithm/ranges_is_heap.h
    M libcxx/include/__algorithm/ranges_is_heap_until.h
    M libcxx/include/__algorithm/ranges_is_partitioned.h
    M libcxx/include/__algorithm/ranges_is_permutation.h
    M libcxx/include/__algorithm/ranges_is_sorted.h
    M libcxx/include/__algorithm/ranges_is_sorted_until.h
    M libcxx/include/__algorithm/ranges_lexicographical_compare.h
    M libcxx/include/__algorithm/ranges_lower_bound.h
    M libcxx/include/__algorithm/ranges_max.h
    M libcxx/include/__algorithm/ranges_max_element.h
    M libcxx/include/__algorithm/ranges_min.h
    M libcxx/include/__algorithm/ranges_min_element.h
    M libcxx/include/__algorithm/ranges_minmax.h
    M libcxx/include/__algorithm/ranges_minmax_element.h
    M libcxx/include/__algorithm/ranges_mismatch.h
    M libcxx/include/__algorithm/ranges_none_of.h
    M libcxx/include/__algorithm/ranges_remove.h
    M libcxx/include/__algorithm/ranges_remove_if.h
    M libcxx/include/__algorithm/ranges_search.h
    M libcxx/include/__algorithm/ranges_search_n.h
    M libcxx/include/__algorithm/ranges_starts_with.h
    M libcxx/include/__algorithm/ranges_unique.h
    M libcxx/include/__algorithm/ranges_upper_bound.h
    M libcxx/include/__algorithm/remove.h
    M libcxx/include/__algorithm/remove_if.h
    M libcxx/include/__algorithm/search.h
    M libcxx/include/__algorithm/search_n.h
    M libcxx/include/__algorithm/unique.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/include/__bit/bit_cast.h
    M libcxx/include/__bit/bit_ceil.h
    M libcxx/include/__bit/bit_floor.h
    M libcxx/include/__bit/bit_width.h
    M libcxx/include/__bit/byteswap.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit/has_single_bit.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/time_zone.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__chrono/tzdb.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/include/__config
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__functional/identity.h
    M libcxx/include/__iterator/empty.h
    M libcxx/include/__math/abs.h
    M libcxx/include/__math/copysign.h
    M libcxx/include/__math/min_max.h
    M libcxx/include/__math/roots.h
    M libcxx/include/__math/rounding_functions.h
    M libcxx/include/__math/traits.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/temporary_buffer.h
    M libcxx/include/__memory_resource/memory_resource.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__node_handle
    M libcxx/include/__ranges/as_rvalue_view.h
    M libcxx/include/__ranges/chunk_by_view.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__utility/as_const.h
    M libcxx/include/__utility/forward.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/cstddef
    M libcxx/include/deque
    M libcxx/include/forward_list
    M libcxx/include/future
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/map
    M libcxx/include/math.h
    M libcxx/include/module.modulemap
    M libcxx/include/new
    M libcxx/include/queue
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/set
    M libcxx/include/stack
    M libcxx/include/stdlib.h
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/vector
    M libcxx/src/tzdb.cpp
    A libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/array.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/bit.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/cmath.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/cstddef.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/cstdlib.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/future.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/limits.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/list.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/map.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/math_nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/memory_resource.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/new.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard.pass.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_aftercxx17.verify.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/pstl.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/regex.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/scoped_allocator.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/stack.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/string.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/unordered_map.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/unordered_set.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/view_adaptors.nodiscard_extensions.verify.cpp
    R libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/adaptor.nodiscard.verify.cpp
    R libcxx/test/libcxx/ranges/range.utility/range.utility.conv/to.nodiscard.verify.cpp
    R libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.nodiscard.verify.cpp

  Log Message:
  -----------
  [libc++] Remove _LIBCPP_DISABLE_NODISCARD_EXTENSIONS and refactor the tests (#87094)

This also adds a few tests that were missing.


  Commit: 8482dbdcd208ebccafd848d35550aa8a484e445e
      https://github.com/llvm/llvm-project/commit/8482dbdcd208ebccafd848d35550aa8a484e445e
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/lib/builtins/fp_add_impl.inc
    M compiler-rt/lib/builtins/fp_fixint_impl.inc
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/int_types.h

  Log Message:
  -----------
  compiler-rt: fix few builtins build warnings. (#88991)


  Commit: a3e7a125e11872b97a84bf7766ce05ccc100e896
      https://github.com/llvm/llvm-project/commit/a3e7a125e11872b97a84bf7766ce05ccc100e896
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    A compiler-rt/lib/ctx_profile/tests/driver.cpp

  Log Message:
  -----------
  Reapply "[compiler-rt][ctx_instr] Add `ctx_profile` component" (#89625)

This reverts commit 8b2ba6a144e728ee4116e2804e9b5aed8824e726.

The uild errors (see below) were likely due to the same issue PR #88074 fixed. Addressed by following that PR.

https://lab.llvm.org/buildbot/#/builders/165/builds/52789
https://lab.llvm.org/buildbot/#/builders/91/builds/25273


  Commit: b8ff08d0e668e5397dd799b76ede0bd54fcba75c
      https://github.com/llvm/llvm-project/commit/b8ff08d0e668e5397dd799b76ede0bd54fcba75c
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Frontend/OpenMP/OMP.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Add missing "return" statement after 40137ff0d81be

When responding to review comments, `return {}` was accidentally replaced
by `std::nullptr` instead of `return std::nullptr`.


  Commit: 5a7c80ca58c628fab80aa4f95bb6d18598c70c80
      https://github.com/llvm/llvm-project/commit/5a7c80ca58c628fab80aa4f95bb6d18598c70c80
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  [RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)

This implements a RISCV specific version of the SHL_ADD node proposed in
https://github.com/llvm/llvm-project/pull/88791.

If that lands, the infrastructure from this patch should seamlessly
switch over the to generic DAG node. I'm posting this separately because
I've run out of useful multiply strength reduction work to do without
having a way to represent MUL X, 3/5/9 as a single instruction.

The majority of this change is moving two sets of patterns out of
tablgen and into the post-legalize combine. The major reason for this is
that I have an upcoming change which needs to reuse the expansion logic,
but it also helps common up some code between zba and the THeadBa
variants.

On the test changes, there's a couple major categories:
* We chose a different lowering for mul x, 25. The new lowering involves
one fewer register and the same critical path, so this seems like a win.
* The order of the two multiplies changes in (3,5,9)*(3,5,9) in some
cases. I don't believe this matters.
* I'm removing the one use restriction on the multiply. This restriction
doesn't really make sense to me, and the test changes appear positive.


  Commit: e95e94adc6bb748de015ac3053e7f0786b65f351
      https://github.com/llvm/llvm-project/commit/e95e94adc6bb748de015ac3053e7f0786b65f351
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp
    M mlir/test/lib/Analysis/DataFlow/TestDenseForwardDataFlowAnalysis.cpp
    M mlir/test/lib/Conversion/FuncToLLVM/TestConvertCallOp.cpp
    M mlir/test/lib/Conversion/OneToNTypeConversion/TestOneToNTypeConversionPass.cpp
    M mlir/test/lib/Dialect/Affine/TestReifyValueBounds.cpp
    M mlir/test/lib/Dialect/DLTI/TestDataLayoutQuery.cpp
    M mlir/test/lib/Dialect/Func/TestDecomposeCallGraphTypes.cpp
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestAttributes.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestDialect.h
    M mlir/test/lib/Dialect/Test/TestDialectInterfaces.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.cpp
    A mlir/test/lib/Dialect/Test/TestFormatUtils.h
    M mlir/test/lib/Dialect/Test/TestFromLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.cpp
    M mlir/test/lib/Dialect/Test/TestInterfaces.h
    A mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    A mlir/test/lib/Dialect/Test/TestOps.cpp
    A mlir/test/lib/Dialect/Test/TestOps.h
    M mlir/test/lib/Dialect/Test/TestOpsSyntax.cpp
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp
    M mlir/test/lib/Dialect/Test/TestToLLVMIRTranslation.cpp
    M mlir/test/lib/Dialect/Test/TestTraits.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.cpp
    M mlir/test/lib/Dialect/Test/TestTypes.h
    M mlir/test/lib/IR/TestBytecodeRoundtrip.cpp
    M mlir/test/lib/IR/TestClone.cpp
    M mlir/test/lib/IR/TestSideEffects.cpp
    M mlir/test/lib/IR/TestSymbolUses.cpp
    M mlir/test/lib/IR/TestTypes.cpp
    M mlir/test/lib/IR/TestVisitorsGeneric.cpp
    M mlir/test/lib/Pass/TestPassManager.cpp
    M mlir/test/lib/Transforms/TestInlining.cpp
    M mlir/test/lib/Transforms/TestMakeIsolatedFromAbove.cpp
    M mlir/unittests/IR/AdaptorTest.cpp
    M mlir/unittests/IR/IRMapping.cpp
    M mlir/unittests/IR/InterfaceAttachmentTest.cpp
    M mlir/unittests/IR/InterfaceTest.cpp
    M mlir/unittests/IR/OperationSupportTest.cpp
    M mlir/unittests/IR/PatternMatchTest.cpp
    M mlir/unittests/TableGen/OpBuildGen.cpp

  Log Message:
  -----------
  [mlir][test] Reorganize the test dialect (#89424)

This PR massively reorganizes the Test dialect's source files. It moves
manually-written op hooks into `TestOpDefs.cpp`, moves format custom
directive parsers and printers into `TestFormatUtils`, adds missing
comment blocks, and moves around where generated source files are
included for types, attributes, enums, etc. into their own source file.

This will hopefully help navigate the test dialect source code, but also
speeds up compile time of the test dialect by putting generated source
files into separate compilation units.

This also sets up the test dialect to shard its op definitions, done in
the next PR.


  Commit: 14e6f63ee64711bbd74a0fda745f62f62556d70d
      https://github.com/llvm/llvm-project/commit/14e6f63ee64711bbd74a0fda745f62f62556d70d
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

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

  Log Message:
  -----------
  [Frontend][OpenMP] Add suggested brackets in array initialization

Fixes -Werror build after 40137ff0d8.


  Commit: e8572d0fc9940512ead2e81ec731208cb0d9ee50
      https://github.com/llvm/llvm-project/commit/e8572d0fc9940512ead2e81ec731208cb0d9ee50
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp

  Log Message:
  -----------
  [flang] Don't emit conversion error for max(a,b, optionalCharacter) (#88156)

A recent patch added an error message for whole optional dummy argument
usage as optional arguments (third or later) to MAX and MIN when those
names required type conversion, since that conversion only works when
the optional arguments are present. This check shouldn't care about
character lengths. Make it so.


  Commit: cb1b846eda2b18955cad28742350e4a73f166c07
      https://github.com/llvm/llvm-project/commit/cb1b846eda2b18955cad28742350e4a73f166c07
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/select-rank.f90

  Log Message:
  -----------
  [flang] Improve error reporting for procedures determined by usage (#88184)

When a symbol is known to be a procedure due to its being referenced as
a function or subroutine, improve the error messages that appear if the
symbol is also used as an object by attaching the source location of its
procedural use. Also, for errors spotted in name resolution due to how a
given symbol has been used, don't unconditionally set the symbol's error
flag (which is otherwise generally a good idea, to prevent cascades of
errors), so that more unrelated errors related to usage will appear.


  Commit: 31505c4f6b977c2ccc785de29a047a31563e5c90
      https://github.com/llvm/llvm-project/commit/31505c4f6b977c2ccc785de29a047a31563e5c90
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/int-power.h

  Log Message:
  -----------
  [flang] Fix spurious overflow warning folding exponentiation by integ… (#88188)

…er powers

The code that folds exponentiation by an integer power can report a
spurious overflow warning because it calculates one last unnecessary
square of the base value. 10.**(+/-32) exposes the problem -- the value
of 10.**64 is calculated but not needed. Rearrange the implementation to
only calculate squares that are necessary.

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


  Commit: 2987fca041caddead6655a34009b6a6517d0c7df
      https://github.com/llvm/llvm-project/commit/2987fca041caddead6655a34009b6a6517d0c7df
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/source/Core/Debugger.cpp

  Log Message:
  -----------
  [lldb][Core] Fix pointless if conditon (#89650)

Addresses #85984

Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>


  Commit: ce1b6783d26df46f0a70f72301283138adea80df
      https://github.com/llvm/llvm-project/commit/ce1b6783d26df46f0a70f72301283138adea80df
  Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

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

  Log Message:
  -----------
  [AMDGPU] simplify VOP3_Real definitions. NFC. (#89656)


  Commit: 6884c1fc449890455751901b84e4eb6a3b558aea
      https://github.com/llvm/llvm-project/commit/6884c1fc449890455751901b84e4eb6a3b558aea
  Author: Wu Yingcong <yingcong.wu at intel.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M compiler-rt/test/gwp_asan/CMakeLists.txt

  Log Message:
  -----------
  [test][GWP-ASan] Only add check-gwp_asan when its dependencies are built (#89164)

Currently, `check-gwp_asan` is added no matter its dependencies are
built or not, this is wrong and will cause cmake error when scudo is not
built. This patch includes the target in the dependencies check.


  Commit: 138524ef8ea9d63e47d78f5e344c263e769a293e
      https://github.com/llvm/llvm-project/commit/138524ef8ea9d63e47d78f5e344c263e769a293e
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

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

  Log Message:
  -----------
  [flang] Fix crash on erroneous program (#88192)

Constant folding had a CHECK on array subscript rank that should more
gracefully handle a bad program with a subscript that is a matrix or
higher rank.

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


  Commit: 59bf49a63261344998756a31ce03af552e4dae61
      https://github.com/llvm/llvm-project/commit/59bf49a63261344998756a31ce03af552e4dae61
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Semantics/stmt-func02.f90

  Log Message:
  -----------
  [flang] Fix bogus error on statement function (#89402)

When a statement function in a nested scope has a name that clashes with
a name that exists in the host scope, the compiler can handle it
correctly (with a portability warning)... unless the host scope acquired
the name via USE association. Fix.

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


  Commit: d2be9826ddf17378a684ee42e3ac2a17a1c63fa8
      https://github.com/llvm/llvm-project/commit/d2be9826ddf17378a684ee42e3ac2a17a1c63fa8
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    R libc/test/UnitTest/FuchsiaTest.h
    A libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    R libc/test/UnitTest/PigweedTest.h
    M libc/test/UnitTest/Test.h
    A libc/test/UnitTest/ZxTest.h

  Log Message:
  -----------
  [libc] Clean up alternate test framework support (#89659)

This replaces the old macros LIBC_COPT_TEST_USE_FUCHSIA and
LIBC_COPT_TEST_USE_PIGWEED with LIBC_COPT_TEST_ZXTEST and
LIBC_COPT_TEST_GTEST, respectively.  These are really not about
whether the code is in the Fuchsia build or in the Pigweed build,
but just about what test framework is being used.  The gtest
framework can be used in many contexts, and the zxtest framework
is not always what's used in the Fuchsia build.

The test/UnitTest/Test.h wrapper header now provides the macro
LIBC_TEST_HAS_MATCHERS() for use in `#if` conditionals on use of
gmock-style matchers, replacing `#if` conditionals that test the
framework selection macros directly.


  Commit: cb2639196842630c0a1d5f91e26261f1c42b49fb
      https://github.com/llvm/llvm-project/commit/cb2639196842630c0a1d5f91e26261f1c42b49fb
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Evaluate/characteristics.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/test/Semantics/resolve102.f90

  Log Message:
  -----------
  [flang] Make proc characterization error conditional for generics (#89429)

When the characteristics of a procedure depend on a procedure that
hasn't yet been defined, the compiler currently emits an unconditional
error message. This includes the case of a procedure whose
characteristics depend, perhaps indirectly, on itself. However, in the
case where the characteristics of a procedure are needed to resolve a
generic, we should not emit an error for a hitherto undefined procedure
-- either the call will resolve to another specific procedure, in which
case the error is spurious, or it won't, and then an error will issue
anyway.

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


  Commit: 2f7775775c486c1afc725719fd55a318b589d7c6
      https://github.com/llvm/llvm-project/commit/2f7775775c486c1afc725719fd55a318b589d7c6
  Author: Nathan Sidwell <nathan at acm.org>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/docs/CMake.rst

  Log Message:
  -----------
  [docs] Rewrite cmake LLVM_RAM_PER_*_JOB description (#88570)

Rewrite  `LLVM_PARALLEL_{}_JOBS` and `LLVM_RAM_PER_{}_JOB` documentation.


  Commit: fde5e471df3e946482422c10fa422b09a854c7cb
      https://github.com/llvm/llvm-project/commit/fde5e471df3e946482422c10fa422b09a854c7cb
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/module/__fortran_builtins.f90

  Log Message:
  -----------
  [flang] C_LOC is PURE (#89437)

The standard defines C_LOC as being PURE (actually SIMPLE now in
F'2023); characterize it appropriately.

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


  Commit: 1444e5acfb75630c23b118c39454a05cf3792d35
      https://github.com/llvm/llvm-project/commit/1444e5acfb75630c23b118c39454a05cf3792d35
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/real.h
    M flang/include/flang/Decimal/binary-floating-point.h
    M flang/include/flang/Evaluate/complex.h
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Evaluate/type.h
    M flang/lib/Decimal/big-radix-floating-point.h
    M flang/lib/Evaluate/complex.cpp
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/integer.cpp
    M flang/lib/Evaluate/real.cpp
    M flang/test/Evaluate/fold-out_of_range.f90
    A flang/test/Evaluate/rewrite-out_of_range.F90

  Log Message:
  -----------
  [flang] Complete implementation of OUT_OF_RANGE() (#89334)

The intrinsic function OUT_OF_RANGE() lacks support in lowering and the
runtime. This patch obviates a need for any such support by implementing
OUT_OF_RANGE() via rewriting in semantics. This rewriting of
OUT_OF_RANGE() calls replaces the existing code that folds
OUT_OF_RANGE() calls with constant arguments.

Some changes and fixes were necessary outside of OUT_OF_RANGE()'s
folding code (now rewriting code), whose testing exposed some other
issues worth fixing.

- The common::RealDetails<> template class was recoded in terms of a new
base class with a constexpr constructor, so that the the characteristics
of the various REAL kinds could be queried dynamically as well. This
affected some client usage.
- There were bugs in the code that folds TRANSFER() when the type of X
or MOLD was REAL(10) -- this is a type that occupies 16 bytes per
element in execution memory but only 10 bytes (was 12) in the data of
std::vector<Scalar<>> in a Constant<>.
- Folds of REAL->REAL conversions weren't preserving infinities.


  Commit: 579efe011b0c8909d88ac9fd068a30a5f32dd1b2
      https://github.com/llvm/llvm-project/commit/579efe011b0c8909d88ac9fd068a30a5f32dd1b2
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M compiler-rt/lib/ctx_profile/CMakeLists.txt

  Log Message:
  -----------
  Temporarily remove `clang_rt.ctx_profile` target

Trying to address the build failure on the `clang-ve-ninja`bot, which
appears hard to repro locally. The target isn't needed currently (there
are unit tests exercising the new functionality). Removing it for now
to green-ify the build bot.


  Commit: 5fef5e68dcb015a73220173d08ab0987b6cf1582
      https://github.com/llvm/llvm-project/commit/5fef5e68dcb015a73220173d08ab0987b6cf1582
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

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

  Log Message:
  -----------
  [GlobalISel] matchSDivByConst should use isNullValue() (#89666)

It has been using isZeroValue(), which is for floats, not integers.


  Commit: 6094b3b7db7eab8318b9d30dec2691d231c7bdff
      https://github.com/llvm/llvm-project/commit/6094b3b7db7eab8318b9d30dec2691d231c7bdff
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  [ORC] Unify task dispatch across ExecutionSession and ExecutorProcessControl.

Updates ExecutionSession to use the ExecutorProcessControl object's
TaskDispatcher rather than having a separate dispatch function. This gives the
TaskDispatcher a global view of all tasks to be executed, and provides a
single point to wait on for tasks to complete when shutting down the JIT.


  Commit: 2e2ac6f29c80b715c8b0495b7037f5d2427289ef
      https://github.com/llvm/llvm-project/commit/2e2ac6f29c80b715c8b0495b7037f5d2427289ef
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M flang/lib/Evaluate/fold-logical.cpp

  Log Message:
  -----------
  [flang] Fix build warning (#89686)

A recent patch had three declared but unused variables in it, triggering
a warning in some build bots. Remove them.


  Commit: a28557aadd89d80733c608e5bfa6e672aca423eb
      https://github.com/llvm/llvm-project/commit/a28557aadd89d80733c608e5bfa6e672aca423eb
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Revert "[ORC] Unify task dispatch across ExecutionSession and ExecutorProcessControl."

This reverts commit 6094b3b7db7eab8318b9d30dec2691d231c7bdff.

Multiple bots are broken.


  Commit: 365bddf634993d5ea357e9715d8aacd7ee40c4b5
      https://github.com/llvm/llvm-project/commit/365bddf634993d5ea357e9715d8aacd7ee40c4b5
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/test/CodeGen/AArch64/hwasan-check-memaccess-fixedshadow.ll

  Log Message:
  -----------
  [hwasan] Add intrinsics for fixed shadow on Aarch64 (#89319)

This patch introduces HWASan memaccess intrinsics that assume a fixed
shadow (with the offset provided by --hwasan-mapping-offset=...), with
and without short granule support.

The behavior of HWASan is not meaningfully changed by this patch;
future work ("Optimize outlined memaccess for
fixed shadow on Aarch64": https://github.com/llvm/llvm-project/pull/88544) will make HWASan use these intrinsics.

We currently only support lowering the LLVM IR intrinsic to AArch64.

The test case is adapted from hwasan-check-memaccess.ll.


  Commit: 8f54ed2173cb6a55d8be3a24764db61692a329dc
      https://github.com/llvm/llvm-project/commit/8f54ed2173cb6a55d8be3a24764db61692a329dc
  Author: dyung <douglas.yung at sony.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td

  Log Message:
  -----------
  Update CHECK lines in tests after 14e6f63 added new output causing the tests to fail on multiple bots. (#89689)

Update the check lines added in #87247 after 14e6f63 updated the output
causing the tests to fail.

This should hopefully unbreak the bots failing due to these two tests
failing.


  Commit: 28cea99845601cad840ccda23a8415f83e5a2b8c
      https://github.com/llvm/llvm-project/commit/28cea99845601cad840ccda23a8415f83e5a2b8c
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [Bazel][libc] Fix build failure


  Commit: 30d4f6afc9d594fff309121116d8373b66fb1a24
      https://github.com/llvm/llvm-project/commit/30d4f6afc9d594fff309121116d8373b66fb1a24
  Author: Lubomir Litchev <9732688+LLITCHEV at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp

  Log Message:
  -----------
  Make createReadOrMaskedRead and isValidMaskedInputVector vector utilities (#89119)

Made the createReadOrMaskedRead and isValidMaskedInputVector utility
functions - to be accessible outside of the CU. Needed by the IREE new
TopK implementation.


  Commit: dc3f94384d79941a712b15ac5c53bf86daa860c8
      https://github.com/llvm/llvm-project/commit/dc3f94384d79941a712b15ac5c53bf86daa860c8
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  Revert "[RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)"

This reverts commit 5a7c80ca58c628fab80aa4f95bb6d18598c70c80.  Noticed failures
with the following command:
$ llc -mtriple=riscv64 -mattr=+m,+xtheadba -verify-machineinstrs < test/CodeGen/RISCV/rv64zba.ll

I think I know the cause and will likely reland with a fix tomorrow.


  Commit: 1effa19de2493b835f3b74dd92e77c8b199069a5
      https://github.com/llvm/llvm-project/commit/1effa19de2493b835f3b74dd92e77c8b199069a5
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Re-apply "[ORC] Unify task dispatch across ExecutionSession and..." with fix.

This re-applies 6094b3b7db7, which was reverted in a28557aadd8 due to broken
bots. As far as I can tell all failures were due to a missing #include <deque>,
which has been adedd in this commit.


  Commit: 16efd2a4c4b6a811688e5f623cb04dbd2d0579e8
      https://github.com/llvm/llvm-project/commit/16efd2a4c4b6a811688e5f623cb04dbd2d0579e8
  Author: Felix (Ting Wang) <Ting.Wang.SH at ibm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    A clang/test/Driver/aix-small-local-exec-dynamic-tls.c
    R clang/test/Driver/aix-small-local-exec-tls.c

  Log Message:
  -----------
  [AIX][TLS][clang]  Add -maix-small-local-dynamic-tls clang option (#88829)

This patch adds the clang portion of an AIX-specific option to inform
the
compiler that it can use a faster access sequence for the local-dynamic
TLS model (formally named aix-small-local-dynamic-tls).

This patch mainly references Amy's work on small local-exec TLS support.


  Commit: aa89c1bd78a0c49801193bec5e7f5c023448bd19
      https://github.com/llvm/llvm-project/commit/aa89c1bd78a0c49801193bec5e7f5c023448bd19
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py

  Log Message:
  -----------
  [lldb][DAP] Fix test failure from #73393 (#89692)

#73393 introduced a mandatory column field. Update test for that.


  Commit: e7efd37c2296f329fb0fd687dd0cfb846d47480f
      https://github.com/llvm/llvm-project/commit/e7efd37c2296f329fb0fd687dd0cfb846d47480f
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Revert "Re-apply [ORC] Unify task dispatch across ExecutionSession and..."

This reverts commit 1effa19de24 while I investigate the test failure at
https://lab.llvm.org/buildbot/#/builders/285/builds/888.


  Commit: ff153bd553574e8049fb1f4d6858c889bc2e99a8
      https://github.com/llvm/llvm-project/commit/ff153bd553574e8049fb1f4d6858c889bc2e99a8
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll

  Log Message:
  -----------
  [InstCombine] Add test for #89669 (NFC)


  Commit: 28d85e2d9e9f3b62554ad8446095aac275022c3c
      https://github.com/llvm/llvm-project/commit/28d85e2d9e9f3b62554ad8446095aac275022c3c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/select.ll

  Log Message:
  -----------
  [InstCombine] Add test for #89500 (NFC)


  Commit: af8445e9ce4d9bd74775a68b694957640f29d28a
      https://github.com/llvm/llvm-project/commit/af8445e9ce4d9bd74775a68b694957640f29d28a
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp

  Log Message:
  -----------
  [lldb] Replace condition that always evaluates to false (#89685)

Addresses issue #87243. 

The current code incorrectly checks the validity of ```obj``` twice when
it should be checking the new ```str_obj``` pointer.

Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>


  Commit: f8a19a8f74f2dffbca654c5d84881cfe17026dab
      https://github.com/llvm/llvm-project/commit/f8a19a8f74f2dffbca654c5d84881cfe17026dab
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp

  Log Message:
  -----------
  [SimplifyQuery] Avoid PatternMatch.h include (NFC)

Move the one method that uses it out of line. This is primarily to
reduce the number of files to rebuild when changing PatternMatch.h.


  Commit: 4127a69d6c9106cb96a5da30daec7df80fb812d1
      https://github.com/llvm/llvm-project/commit/4127a69d6c9106cb96a5da30daec7df80fb812d1
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/unittests/Support/MathExtrasTest.cpp

  Log Message:
  -----------
  [Support] Fix a warning

This patch fixes:

  third-party/unittest/googletest/include/gtest/gtest.h:1379:11:
  error: comparison of integers of different signs: 'const int' and
  'const unsigned long' [-Werror,-Wsign-compare]


  Commit: 34ee77c46ae70cdbac77d1d86de2c616e68c74f6
      https://github.com/llvm/llvm-project/commit/34ee77c46ae70cdbac77d1d86de2c616e68c74f6
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll

  Log Message:
  -----------
  [SimplifyCFG] Add tests for #89672 (NFC)


  Commit: 4ec9a662d388db8a2bb862dbaa7fc3fd809d1240
      https://github.com/llvm/llvm-project/commit/4ec9a662d388db8a2bb862dbaa7fc3fd809d1240
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ADT/StringRef.h

  Log Message:
  -----------
  [ADT] Remove StringRef::{startswith,endswith} (#89548)

These functions have been deprecated since:

  commit 5ac12951b4e9bbfcc5791282d0961ec2b65575e9
  Author: Kazu Hirata <kazu at google.com>
  Date:   Sun Dec 17 15:52:50 2023 -0800


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

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

  Log Message:
  -----------
  [RISCV][TableGen] Generate RISCVTargetParserDef.inc from the new RISCVExtension tblgen information. (#89335)

Instead of using RISCVISAInfo's extension information, use the extension
found in tblgen after #89326.
    
We still need to use RISCVISAInfo code to get the sorting rules for the
ISA string.
    
The ISA string we generate now is not quite the same extension we had
before. No implied extensions are included in the generate string unless
they are explicitly listed in RISCVProcessors.td. This primarily affects
Zicsr being implied by F, V implying Zve*, and Zvl*b implying a smaller
Zvl*b. All of these implication should be picked up when the string is
used by the frontend.
    
The benefit is that we get a more manageable ISA string for humans to
deal with.
    
This is a step towards generating RISCVISAInfo's extension list from
tblgen.


  Commit: 883887493c882d656d5da100ee637a348e81357c
      https://github.com/llvm/llvm-project/commit/883887493c882d656d5da100ee637a348e81357c
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll

  Log Message:
  -----------
  [SimplifyCFG] Check alignment when speculating stores

When speculating a store based on a preceding load/store, we need
to ensure that the speculated store does not have a higher
alignment (which might only be guaranteed by the branch condition).

There are various ways in which this could be strengthened (we
could get or enforce the alignment), but for now just do the
simple check against the preceding load/store.

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


  Commit: e5f9de89e540b06893709d97f3ce9671071b3df0
      https://github.com/llvm/llvm-project/commit/e5f9de89e540b06893709d97f3ce9671071b3df0
  Author: Timm Baeder <tbaeder at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [clang][CodeGen][NFC] Make ConstExprEmitter a ConstStmtVisitor (#89041)

No reason for this to not be one. This gets rid of a few const_casts.


  Commit: 25a391c7718ee8ed22e85dec212b5b77722c7f4e
      https://github.com/llvm/llvm-project/commit/25a391c7718ee8ed22e85dec212b5b77722c7f4e
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Sink some repeated code into parseVTypeToken. NFC (#89694)

Both calls to parseVTypeToken were proceeded by check for an Identifier
token and a call to getIdentifier. Sync those into the parseVTypeToken
to reduce repetition.


  Commit: 07b1177eed7549d0badf72078388422ce73167a0
      https://github.com/llvm/llvm-project/commit/07b1177eed7549d0badf72078388422ce73167a0
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Use semantical type DeclID instead of raw type 'uint32_t'

This patch tries to use DeclID in the code bases to avoid use the raw
type 'uint32_t'. It is problematic to use the raw type 'uint32_t' if we
want to change the type of DeclID some day.


  Commit: a2ccd5d88ffa8a730914c608601e1e3f7785cb08
      https://github.com/llvm/llvm-project/commit/a2ccd5d88ffa8a730914c608601e1e3f7785cb08
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/test/Transforms/FunctionAttrs/noundef.ll

  Log Message:
  -----------
  [FunctionAttrs] Fix incorrect noundef inference with poison attrs (#89348)

Currently, when inferring noundef, we only check that the return value
is not undef/poison. However, we fail to account for the possibility
that a poison-generating return attribute will convert the value to
poison, and then violate the noundef attribute, resulting in immediate
UB.

For the relevant return attributes (align, nonnull and range), check
whether we can trivially re-prove the relevant property, otherwise do
not infer noundef.

This fixes the FunctionAttrs side of
https://github.com/llvm/llvm-project/issues/88026.


  Commit: 02d00ec985f8ab9e26bd80fb38c88471da4cb0c8
      https://github.com/llvm/llvm-project/commit/02d00ec985f8ab9e26bd80fb38c88471da4cb0c8
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h

  Log Message:
  -----------
  [NFC] Remove unused LocalRedeclarationsInfo from ASTBitcodes.h

As the title suggested.


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

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/OnDiskHashTable.h

  Log Message:
  -----------
  [memprof] Omit the key length for the record table (#89527)

The record table has a constant key length, so we don't need to
serialize or deserialize it for every key-data pair.  Omitting the key
length saves 0.06% of the indexed MemProf file size.

Note that it's OK to change the format because Version2 is still under
development.


  Commit: 4513050f526be8bc17883685efec91a15ae427f8
      https://github.com/llvm/llvm-project/commit/4513050f526be8bc17883685efec91a15ae427f8
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/IR/Builders.h
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
    M mlir/test/lib/Dialect/Test/TestOps.td
    M mlir/test/lib/Dialect/Test/TestPatterns.cpp

  Log Message:
  -----------
  [MLIR] Harmonize the behavior of the folding API functions (#88508)

This commit changes `OpBuilder::tryFold` to behave more similarly to
`Operation::fold`. Concretely, this ensures that even an in-place fold
returns `success`.
This is necessary to fix a bug in the dialect conversion that occurred
when an in-place folding made an operation legal. The dialect conversion
infrastructure did not check if the result of an in-place folding
legalized the operation and just went ahead and tried to apply pattern
anyways.

The added test contains a simplified version of a breakage we observed
downstream.


  Commit: 9ba6961ce05b17a70c22354f0b54a963ed1ab49c
      https://github.com/llvm/llvm-project/commit/9ba6961ce05b17a70c22354f0b54a963ed1ab49c
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  Reapply "[clang][dataflow] Model conditional operator correctly." with fixes (#89596)

I reverted https://github.com/llvm/llvm-project/pull/89213 beause it was
causing buildbots to fail with assertion failures.

Embarrassingly, it turns out I had been running tests locally in
`Release` mode, i.e. with `assert()` compiled away.

This PR re-lands #89213 with fixes for the failing assertions.


  Commit: 79225349748bb556fd027cc0bfeb73b1e9a632f4
      https://github.com/llvm/llvm-project/commit/79225349748bb556fd027cc0bfeb73b1e9a632f4
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    A mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul-b.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul.mlir

  Log Message:
  -----------
  [mlir][linalg] Add patterns to convert matmul to transposed variants (#89075)

This adds patterns to convert from the Linalg matmul and batch_matmul
ops to the transposed variants. By default the LHS matrix is transposed.

Our work enabling a lowering path from linalg.matmul to ArmSME has
revealed the current lowering results in non-contiguous memory accesses
for the A matrix and very poor performance.

These patterns provide a simple option to fix this.


  Commit: 87a2159553dce77a55b3f121ad4ce82bc20553ef
      https://github.com/llvm/llvm-project/commit/87a2159553dce77a55b3f121ad4ce82bc20553ef
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Serialization/ASTRecordReader.h

  Log Message:
  -----------
  [NFC] [Serialization] Remove unused readVisibleDeclContextStorage from ASTRecordReader.h

As the title suggested.


  Commit: eaab97a0b7f15ce1f68aaa9daf7e96468933cad8
      https://github.com/llvm/llvm-project/commit/eaab97a0b7f15ce1f68aaa9daf7e96468933cad8
  Author: Joshua Batista <jbatista at microsoft.com>
  Date:   2024-04-22 (Mon, 22 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [NFC] Rename hlsl semantics to hlsl annotations (#89309)

The attribute name "HLSLSemantics" is confusing, because semantics
aren't always the annotation that are applied to specific variables. The
name for this attribute needs to be less specific. This PR changes the
attribute name from HLSLSemantic to HLSLAnnotation, and changes the
associated function and variable names to support this conceptual
change.
The HLSLAnnotation attribute will never be output in ast-dump due to it
being parsed for the attribute that it represents. There is no
functional change, so there are no accompanying tests.


  Commit: 561b3decdfb56e6765bff90121fc0b6f918f1c0b
      https://github.com/llvm/llvm-project/commit/561b3decdfb56e6765bff90121fc0b6f918f1c0b
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Add test data to adapt for 79225349748bb556fd027cc0bfeb73b1e9a632f4


  Commit: a04624206ddf03dc54d5c372e7eac13575b4124b
      https://github.com/llvm/llvm-project/commit/a04624206ddf03dc54d5c372e7eac13575b4124b
  Author: Serge Pavlov <sepavloff at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/LangOptions.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/test/AST/ast-dump-fpfeatures.cpp
    A clang/test/AST/ast-dump-fpfeatures.m
    A clang/test/AST/ast-dump-late-parsing.cpp

  Log Message:
  -----------
  [clang] Set correct FPOptions if attribute 'optnone' presents (#85605)

Attribute `optnone` must turn off all optimizations including fast-math
ones. Actually AST nodes in the 'optnone' function still had fast-math
flags. This change implements fixing FP options before function body is
parsed.


  Commit: 35159c2e813ffc0f6cdf20c5c466b17b5a63e2e1
      https://github.com/llvm/llvm-project/commit/35159c2e813ffc0f6cdf20c5c466b17b5a63e2e1
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/include/flang/Evaluate/call.h
    M flang/test/Lower/HLFIR/calls-f77.f90

  Log Message:
  -----------
  [flang] handle intrinsic interfaces in FunctionRef::GetType (#89583)

User functions may be declared with an interface that is a specific
intrinsic. In such case, there is no result type available from the
procedure symbol (at least without using evaluate::Probe), and
FunctionRef::GetType() returned nullopt. This caused lowering to crash.
The result type of specific intrinsic procedures is always a lengthless
intrinsic type, so it is fully defined in the template argument of
FunctionRef. Use it.


  Commit: 3ea9ed471c8dca8f703d7f3ce93d274a718b54bb
      https://github.com/llvm/llvm-project/commit/3ea9ed471c8dca8f703d7f3ce93d274a718b54bb
  Author: Diana Picus <Diana-Magda.Picus at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/docs/GlobalISel/IRTranslator.rst
    M llvm/docs/WritingAnLLVMBackend.rst

  Log Message:
  -----------
  [GlobalISel] Expand IRTranslator docs. NFC (#89186)

Add some more details about how calls are lowered and what APIs are
available.


  Commit: 654846560c8892b32ea1e92c1fffc5e70bf0e75f
      https://github.com/llvm/llvm-project/commit/654846560c8892b32ea1e92c1fffc5e70bf0e75f
  Author: Matthias Gehre <matthias.gehre at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    A mlir/test/Target/Cpp/global.mlir

  Log Message:
  -----------
  EmitC: Add emitc.global and emitc.get_global (#145) (#88701)

This adds
- `emitc.global` and `emitc.get_global` ops to model global variables
similar to how `memref.global` and `memref.get_global` work.
- translation of those ops to C++
- lowering of `memref.global` and `memref.get_global` into those ops

---------

Co-authored-by: Simon Camphausen <simon.camphausen at iml.fraunhofer.de>


  Commit: 05c1447b3eabe9cc4a27866094e46c57350c5d5a
      https://github.com/llvm/llvm-project/commit/05c1447b3eabe9cc4a27866094e46c57350c5d5a
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/availability.c

  Log Message:
  -----------
  [clang][ExtractAPI] Serialize platform specific unavailable attribute in symbol graphs (#89277)

rdar://125622225


  Commit: ce763bff081f8e97c7c3610ed0f15f14d60e875f
      https://github.com/llvm/llvm-project/commit/ce763bff081f8e97c7c3610ed0f15f14d60e875f
  Author: NagyDonat <donat.nagy at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [analyzer] Fix performance of getTaintedSymbolsImpl() (#89606)

Previously the function
```
std::vector<SymbolRef> taint::getTaintedSymbolsImpl(ProgramStateRef State,
                                                    const MemRegion *Reg,
                                                    TaintTagType K,
                                                    bool returnFirstOnly)
```
(one of the 4 overloaded variants under this name) was handling element
regions in a highly inefficient manner: it performed the "also examine
the super-region" step twice. (Once in the branch for element regions,
and once in the more general branch for all `SubRegion`s -- note that
`ElementRegion` is a subclass of `SubRegion`.)

As pointer arithmetic produces `ElementRegion`s, it's not too difficult
to get a chain of N nested element regions where this inefficient
recursion would produce 2^N calls.

This commit is essentially NFC, apart from the performance improvements
and the removal of (probably irrelevant) duplicate entries from the
return value of `getTaintedSymbols()` calls.

Fixes #89045


  Commit: 55fc5eb95fbd26ac0539089cfc4e287ad7a233c3
      https://github.com/llvm/llvm-project/commit/55fc5eb95fbd26ac0539089cfc4e287ad7a233c3
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll

  Log Message:
  -----------
  [LV] Add additional cost model tests with inductions and truncates.

Add test coverage for additional cases not covered by current tests with
multiple inductions and truncates.


  Commit: 0e44ffe817ae0f544199be70f468975fcc3ab5c5
      https://github.com/llvm/llvm-project/commit/0e44ffe817ae0f544199be70f468975fcc3ab5c5
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    A llvm/test/DebugInfo/X86/call-origin-linkage-names.ll

  Log Message:
  -----------
  [DWARF] Add option to add linkage_names to call_origin declaration refs (#89640)

If -mllvm -add-linkage-names-to-external-call-origins is true then add
DW_AT_linkage_name attributes to DW_TAG_subprogram DIEs referenced by
DW_AT_call_origin attributes that would otherwise be omitted.

A debugger may use DW_TAG_call_origin attributes to determine whether any
frames in a callstack are missing due to optimisations (e.g. tail calls).

For example, say a() calls b() tail-calls c(), and you stop in your debugger
in c():

The callstack looks like this:
    c()
    a()

Looking "up" from c(), call site information can be found in a(). This includes
a DW_AT_call_origin referencing b()'s subprogram DIE, which means the call at
this call site was to b(), not c() where we are currently stopped. This
indicates b()'s frame has been lost due to optimisation (or is misleading due
to ICF).

This patch makes it easier for a debugger to check whether the referenced
DIE describes the target function or not, for example by comparing the referenced
function name to the current frame.

There's already an option to apply DW_AT_linkage_name in a targeted manner:
-dwarf-linkage-names=Abstract, which limits adding DW_AT_linkage_names to
abstract subprogram DIEs (this is default for SCE tuning).

The new flag shouldn't affect non-SCE-tuned behaviour whether it is enabled
or not because the non-SCE-tuned behaviour is to always add linkage names to
subprogram DIEs.


  Commit: da57609947f254fb13f1556d4d29c7a0f9a23160
      https://github.com/llvm/llvm-project/commit/da57609947f254fb13f1556d4d29c7a0f9a23160
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/test/MC/AArch64/ilp32-diagnostics.s

  Log Message:
  -----------
  [PAC][MC][AArch64] Fix error message for AUTH_ABS64 reloc with ILP32 (#89563)

The `LP64 eqv:` should say that the equivalent is `AUTH_ABS64` rather
than `ABS64` when trying to emit an AUTH absolute reloc with ILP32.


  Commit: c921ac724ff06997bab25715786c98d4926b0c0e
      https://github.com/llvm/llvm-project/commit/c921ac724ff06997bab25715786c98d4926b0c0e
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
    M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
    M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
    M llvm/test/CodeGen/WebAssembly/multivalue.ll
    M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll

  Log Message:
  -----------
  [WebAssembly] Enable multivalue return when multivalue ABI is used (#88492)

Multivalue feature of WebAssembly has been standardized for several
years now. I think it makes sense to be able to enable it in the feature
section by default for our clang/llvm-produced binaries so that the
multivalue feature can be used as necessary when necessary within our
toolchain and also when running other optimizers (e.g. wasm-opt) after
the LLVM code generation.

But some WebAssembly toolchains, such as Emscripten, do not provide both
mulvalue-returning and not-multivalue-returning versions of libraries.
Also allowing the uses of multivalue in the features section does not
necessarily mean we generate them whenever we can to the fullest, which
is a different code generation / optimization option.

So this makes the lowering of multivalue returns conditional on the use
of 'experimental-mv' target ABI. This ABI is turned off by default and
turned on by passing `-Xclang -target-abi -Xclang experimental-mv` to
`clang`, or `-target-abi experimental-mv` to `clang -cc1` or `llc`.

But the purpose of this PR is not tying the multivalue lowering to this
specific 'experimental-mv'. 'experimental-mv' is just one multivalue ABI
we currently have, and it is still experimental, meaning it is not very
well optimized or tuned for performance. (e.g. it does not have the
limitation of the max number of multivalue-lowered values, which can be
detrimental to performance.) We may change the name of this ABI, or
improve it, or add a new multivalue ABI in the future. Also I heard that
WASI is planning to add their multivalue ABI soon. So the plan is,
whenever any one of multivalue ABIs is enabled, we enable the lowering
of multivalue returns in the backend. We currently have only
'experimental-mv' in the repo so we only check for that in this PR.

Related past discussions:
 #82714
https://github.com/WebAssembly/tool-conventions/pull/223#issuecomment-2008298652


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

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Turn type alias LocalDeclID into class

Previously, the LocalDeclID and GlobalDeclID are defined as:

```
using LocalDeclID = DeclID;
using GlobalDeclID = DeclID;
```

This is more or less concerning that we may misuse LocalDeclID and
GlobalDeclID without understanding it. There is also a FIXME saying
this.

This patch tries to turn LocalDeclID into a class to improve the type
safety here.


  Commit: a22ffe54a33035d95ee239a11b4dc771f66d102b
      https://github.com/llvm/llvm-project/commit/a22ffe54a33035d95ee239a11b4dc771f66d102b
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll

  Log Message:
  -----------
  [WebAssembly] Make RefTypeMem2Local recognize target-features (#88916)

Currently we check `Subtarget->hasReferenceTypes()` to decide whether to
run `RefTypeMem2Local` pass:

https://github.com/llvm/llvm-project/blob/6133878227efc30355c02c2f089e06ce58231a3d/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp#L491-L495

This works fine when `-mattr=+reference-types` is given in the command
line (of `llc` or of `wasm-ld` in case of LTO). This also works fine if
the backend is called by Clang, because Clang's feature set will be
passed to the backend when creating a `TargetMachine`:
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/clang/lib/CodeGen/BackendUtil.cpp#L549-L550
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/clang/lib/CodeGen/BackendUtil.cpp#L561-L562

But if the backend compilation is called by `llc`, a `TargetMachine` is
created here:

https://github.com/llvm/llvm-project/blob/bf1ad1d267b1f911cb9846403d2c3d3250a40870/llvm/tools/llc/llc.cpp#L554-L555
And if the backend is called by `wasm-ld`'s LTO, a `TargetMachine` is
created here:

https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/llvm/lib/LTO/LTOBackend.cpp#L513
At this point, in the both places, the created `TargetMachine` only has
access to target features given by the command line with `-mattr=` and
doesn't have access to bitcode functions' `target-features` attribute.

We later gather the target features used by functions and store that
info in the `TargetMachine` in `CoalesceFeaturesAndStripAtomics`,
https://github.com/llvm/llvm-project/blob/ac791888bbbe58651e597cf7a4b2276424b77a92/llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp#L202-L206
but this runs in the pass pipeline driven by the pass manager, so this
has not run by the time we check `Subtarget->hasReferenceTypes()` in
`WebAssemblyPassConfig::addISelPrepare`. So currently `RefTypeMem2Local`
would not run on those functions with
`"target-features"="+reference-types"` attributes if the backend is
called by `llc` or `wasm-ld`.

So this makes `RefTypeMem2Local` pass run unconditionally, and checks
`target-featurs` function attribute to decide whether to run the pass on
each function. This allows the pass to run with `wasm-ld` + LTO and
`llc`, even if `-mattr=+reference-types` is not explicitly given in the
command line again, as long as `+reference-types` is in the function's
`target-features` attribute.

This also covers the case we give the target features by the command
line like `llc -mattr=+reference-types` and not in the bitcode
function's attribute, because attributes given in the command line will
be stored in the function's attributes anyway:

https://github.com/llvm/llvm-project/blob/bd28889732e14ac6baca686c3ec99a82fc9cd89d/llvm/lib/CodeGen/CommandFlags.cpp#L673-L674
https://github.com/llvm/llvm-project/blob/bd28889732e14ac6baca686c3ec99a82fc9cd89d/llvm/lib/CodeGen/CommandFlags.cpp#L732-L733

With this PR,
- `lto0.test_externref_emjs`
- `thinlto0.test_externref_emjs`,
- `lto0.test_externref_emjs_dynlink`,
- `thinlto0.test_externref_emjs_dynlnk`

pass. These currently fail but don't get checked in the CI. I think they
used to pass but started to fail after #83196, because we used to run
mem2reg even with `-O0` before that.
(`ltoN` (N > 0) tests are not affected because they run mem2reg anyway
so they don't need `RefTypeMem2Local`)


  Commit: d5093aac543dfd24f339f7d43aa02282f7c16fa5
      https://github.com/llvm/llvm-project/commit/d5093aac543dfd24f339f7d43aa02282f7c16fa5
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [mlir][bazel] drop unnecessary rule

#75960 added a bazel rule for generating enums for the async dialects, but there are no enums defined, and no cmake rule for that. Delete this rule.


  Commit: f220c359f451de900fc8738cbfa27f33c3fc000e
      https://github.com/llvm/llvm-project/commit/f220c359f451de900fc8738cbfa27f33c3fc000e
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp

  Log Message:
  -----------
  Revert "[mlir][linalg] Enable fuse consumer" (#89722)

Reverts llvm/llvm-project#85528. This was committed without tests,
despite reviewers requesting tests to be added. The post-commit
discussion leans towards revert, which would be consistent with the
policy.


  Commit: 20cb2ed5299bf1e8d9f2c92785179ec6c947d490
      https://github.com/llvm/llvm-project/commit/20cb2ed5299bf1e8d9f2c92785179ec6c947d490
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/Support/OnDiskHashTable.h

  Log Message:
  -----------
  Revert b28f4d4dd0bbf50059cb19ca794af967374e1900 "[memprof] Omit the key length for the record table (#89527)"

Breaks on EXPENSIVE_CHECKS builds which still use the static ReadKeyDataLength implementation in several locations


  Commit: dbcfb434a9c7fea194c7b1f7f04f0947f88dbc85
      https://github.com/llvm/llvm-project/commit/dbcfb434a9c7fea194c7b1f7f04f0947f88dbc85
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M lldb/test/API/python_api/type/TestTypeList.py

  Log Message:
  -----------
  [lldb/test] Rename a function

I misunderstood what is the function looking up


  Commit: a68ea36b4a55352e89ab4a80d59b8ad8e614a3dc
      https://github.com/llvm/llvm-project/commit/a68ea36b4a55352e89ab4a80d59b8ad8e614a3dc
  Author: Marius Brehler <marius.brehler at iml.fraunhofer.de>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [mlir][EmitC] Update GlobalOp description (#89726)


  Commit: 8cc34fadec71c358c2c69bbca236294afb259e02
      https://github.com/llvm/llvm-project/commit/8cc34fadec71c358c2c69bbca236294afb259e02
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    R flang/test/Lower/OpenMP/Todo/reduction-allocatable.f90
    A flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90

  Log Message:
  -----------
  [flang][OpenMP] Support reduction of allocatable variables (#88392)

Both arrays and trivial scalars are supported. Both cases must use
by-ref reductions because both are boxed.

My understanding of the standards are that OpenMP says that this should
follow the rules of the intrinsic reduction operators in fortran, and
fortran says that unallocated allocatable variables can only be
referenced to allocate them or test if they are already allocated.
Therefore we do not need a null pointer check in the combiner region.


  Commit: bc7204811dd20e124fbb8713e652fcf70872b0b3
      https://github.com/llvm/llvm-project/commit/bc7204811dd20e124fbb8713e652fcf70872b0b3
  Author: Adam Paszke <adam.paszke at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [bazel] Add a bazel flag to enable building MLIR with CUDA support (#88856)

This makes it possible to specify
`-- at llvm-project//mlir:enable_cuda=true` on the bazel command line and
get a build that includes NVIDIA GPU support in MLIR.


  Commit: 719112c2f667a1e4a51faeba966d8715d272cd98
      https://github.com/llvm/llvm-project/commit/719112c2f667a1e4a51faeba966d8715d272cd98
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir

  Log Message:
  -----------
  AMDGPU: precommit test for bug in RenameIndependentSubregs


  Commit: be1c72d2ba497de7e9420df0b6a136bbb8942a42
      https://github.com/llvm/llvm-project/commit/be1c72d2ba497de7e9420df0b6a136bbb8942a42
  Author: Cullen Rhodes <cullen.rhodes at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    M mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
    M mlir/test/Dialect/Linalg/transpose-matmul-b.mlir

  Log Message:
  -----------
  [mlir][linalg] Move transpose_matmul to targeted transform op (#89717)

More targeted than a blanket "apply everywhere" pattern. Follow up to
#89075 to address @ftynse's feedback.


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

  Changed paths:
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Turn type alias GlobalDeclID into a class

Succsessor of b8e3b2ad66cf78ad2b. This patch also converts the type
alias GlobalDeclID to a class to improve the readability and type
safety.


  Commit: 132bf4aedd678277b57d8e2bdabf9a1e9eb254c5
      https://github.com/llvm/llvm-project/commit/132bf4aedd678277b57d8e2bdabf9a1e9eb254c5
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/test/Integration/lit.local.cfg

  Log Message:
  -----------
  [mlir][aarch64] Remove LIT config for lli (#89545)

This change will only affect MLIR integration tests to be run on
AArch64. When originally introduced, these tests would run with `lli`.
Those tests has since been updated to use `mlir-cpu-runner` instead, see
e.g.:

  * https://reviews.llvm.org/D155405
  * https://reviews.llvm.org/D146917

This patch removes all the leftover `lli` configuration in LIT that's
currently not needed (and is unlikely to be needed any time soon).


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

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  [VectorCombine][X86] Add test showing foldShuffleOfShuffles folding shuffles that would be better separate

On AVX+ targets a broadcast load can be treated as free.


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

  Changed paths:
    A llvm/test/Analysis/CostModel/X86/load-broadcast.ll

  Log Message:
  -----------
  [CostModel][X86] Add costs test coverage for broadcast loads

Broadcast shuffles can be free is fed from a one-use load


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

  Changed paths:
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/X86/load-broadcast.ll

  Log Message:
  -----------
  [CostModel][X86] Broadcast shuffles can be free if they are from a one-use load

AVX1+ can handle 32/64-bit broadcast loads, AVX2+ can handle all broadcast loads (we should be able to improve isLegalBroadcastLoad to handle more of this type matching).


  Commit: 34caafe84ffd8588e717c92da358ad9368cc4fe5
      https://github.com/llvm/llvm-project/commit/34caafe84ffd8588e717c92da358ad9368cc4fe5
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [LLVM][CodeGen][AArch64] Simplify lowering for predicate inserts. (#89072)

The original code has an invalid use of UZP1 because the result vector
type does not match its input vector types. Rather than insert extra nop
casts I figure it would be better to use CONCAT_VECTORS because that's
the operation we're performing.

NOTE: This is a step to enable more asserts in verifyTargetSDNode.


  Commit: d610a513ce10b41c94da9299e926f22d96e873bc
      https://github.com/llvm/llvm-project/commit/d610a513ce10b41c94da9299e926f22d96e873bc
  Author: Petar Avramovic <Petar.Avramovic at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    M llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir

  Log Message:
  -----------
  RenameIndependentSubregs: Add missing sub-range for new IMPLICIT_DEFs (#89050)

Existing sub-ranges are correctly updated because new IMPLICIT_DEF is
added, but there is missing sub-range for IMPLICIT_DEF itself.
Because of missing sub-range in live-intervals for IMPLICIT_DEF,
register allocator does not know that IMPLICIT_DEF rewrites its
virtual sub-registers and can end up assigning overlapping physical
registers to them.
This results in deleting instructions that were defined by sub-registers
overwritten by IMPLICIT_DEF as they are now dead.


  Commit: a9689c6029e3078e09e43a4efb2b2ced98e9020f
      https://github.com/llvm/llvm-project/commit/a9689c6029e3078e09e43a4efb2b2ced98e9020f
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    A llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll

  Log Message:
  -----------
  [LLVM][CodeGen][SVE] rev(whilelo(a,b)) -> whilehi(b,a). (#88294)

Add similar isel patterns for lt, gt and hi comparison types.


  Commit: 17fb3e82f6c950267bb01cc2fd2a84b0d9e9d0d8
      https://github.com/llvm/llvm-project/commit/17fb3e82f6c950267bb01cc2fd2a84b0d9e9d0d8
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    A llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll

  Log Message:
  -----------
  [VPlan] Skip extending ICmp results in trunateToMinimalBitwidth.

Results of icmp don't need extending after truncating their operands, as
the result will always be i1. Skip them during extending.

Fixes https://github.com/llvm/llvm-project/issues/79742
Fixes https://github.com/llvm/llvm-project/issues/85185


  Commit: 7f4f237cd8510b74230d6fd4b5c4610a3d88dd3f
      https://github.com/llvm/llvm-project/commit/7f4f237cd8510b74230d6fd4b5c4610a3d88dd3f
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfShuffles - add missing arguments to getShuffleCost calls.

Ensure the getShuffleCost arguments/instruction args are populated - minor extension to #88743 to help improve shuffle costs for certain corner cases (e.g. shuffles of loads)


  Commit: 8a631d789859d09ba3a11a1206c30e595f4b6428
      https://github.com/llvm/llvm-project/commit/8a631d789859d09ba3a11a1206c30e595f4b6428
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h

  Log Message:
  -----------
  [TableGen] Fix ReplaceRegAction RTTI Kind


  Commit: bac5d8ed036869bc65ba2eef6d4afd671ca7c72b
      https://github.com/llvm/llvm-project/commit/bac5d8ed036869bc65ba2eef6d4afd671ca7c72b
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64.td
    A llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    A llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/ARM/ARM.td
    A llvm/lib/Target/ARM/ARMArchitectures.td
    A llvm/lib/Target/ARM/ARMFeatures.td
    A llvm/lib/Target/ARM/ARMProcessors.td

  Log Message:
  -----------
  [ARM][AArch64] Split out processor and feature tablegen defs [NFC] (#88282)


  Commit: c52b18d1e41107067b7557d8af3a06e6fe0beb0f
      https://github.com/llvm/llvm-project/commit/c52b18d1e41107067b7557d8af3a06e6fe0beb0f
  Author: ealcdan <daniel.alcaide.nombela at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp

  Log Message:
  -----------
  [clang-tidy] Avoid overflow when dumping unsigned integer values (#85060)

Some options take the maximum unsigned integer value as default, but
they are being dumped to a string as integers. This makes -dump-config
write invalid '-1' values for these options. This change fixes this
issue by using utostr if the option is unsigned.

Fixes #60217


  Commit: b8174512111bc116776de24e2cff3f6f94d536fe
      https://github.com/llvm/llvm-project/commit/b8174512111bc116776de24e2cff3f6f94d536fe
  Author: Martin Wehking <martin.wehking at codeplay.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp

  Log Message:
  -----------
  Make default initialization explicit

Coverity (a static analysis tool) reported that the emitted 'Features'
variable inside emitComputeAvailableFeatures in TableGen might be
unitialized.
Silence this warning by adding brackets for the default initialization.
Adapt test cases to take additional brackets into account.


  Commit: 9fb7a736f0f893ffd5da3cebaed30bc91e6a8514
      https://github.com/llvm/llvm-project/commit/9fb7a736f0f893ffd5da3cebaed30bc91e6a8514
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/select-select.ll

  Log Message:
  -----------
  [InstCombine] Fold fcmp into select (#86482)

This patch simplifies `fcmp (select Cond, C1, C2), C3` patterns in
ceres:
Alive2: https://alive2.llvm.org/ce/z/fWh_sD
```
define i1 @src(double %x) {
  %cmp1 = fcmp ord double %x, 0.000000e+00
  %sel = select i1 %cmp1, double 0xFFFFFFFFFFFFFFFF, double 0.000000e+00
  %cmp2 = fcmp oeq double %sel, 0.000000e+00
  ret i1 %cmp2
}

define i1 @tgt(double %x) {
  %cmp1 = fcmp uno double %x, 0.000000e+00
  ret i1 %cmp1
}

```


  Commit: 56ed3dd77f4ef07a9b35cbb3d0ca868cc0999d01
      https://github.com/llvm/llvm-project/commit/56ed3dd77f4ef07a9b35cbb3d0ca868cc0999d01
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/Hexagon/arg-copy-elison.ll

  Log Message:
  -----------
  Pre-commit reproducer for argument copy elison related bug

Adding test case related to
  https://github.com/llvm/llvm-project/issues/89060

It shows that after argument copy elison the scheduler may reorder
a load of the input argument and a store to the same fixed stack
entry (the fixed stack entry that is reused for the local variable).


  Commit: d8b253be56b3e9073b3e59123cf2da0bcde20c63
      https://github.com/llvm/llvm-project/commit/d8b253be56b3e9073b3e59123cf2da0bcde20c63
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/test/CodeGen/Hexagon/arg-copy-elison.ll

  Log Message:
  -----------
  [SelectionDAG] Mark frame index as "aliased" at argument copy elison (#89712)

This is a fix for miscompiles reported in
  https://github.com/llvm/llvm-project/issues/89060

After argument copy elison the IR value for the eliminated alloca
is aliasing with the fixed stack object. This patch is making sure
that we mark the fixed stack object as being aliased with IR values
to avoid that for example schedulers are reordering accesses to
the fixed stack object. This could otherwise happen when there is a
mix of MemOperands refering the shared fixed stack slow via both
the IR value for the elided alloca, and via a fixed stack pseudo
source value (as would be the case when lowering the arguments).


  Commit: 0661af893f12c2b09089b4758cf00d9b84230ea0
      https://github.com/llvm/llvm-project/commit/0661af893f12c2b09089b4758cf00d9b84230ea0
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    A flang/test/Semantics/OpenMP/firstprivate02.f90
    A flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90

  Log Message:
  -----------
  [Flang][OpenMP] Add restriction about subobjects to firstprivate and … (#89608)

…lastprivate

OpenMP 5.2 standard (Section 5.3) defines privatization for list items.
Section 3.2.1 in the standard defines list items to exclude variables
that are part of other variables.

This patch adds the restriction to firstprivate and lastprivates, it was
previously added for privates.

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

Note: The specific checks that are added here are explicitly called out
in OpenMP 4.0
(https://www.openmp.org/wp-content/uploads/OpenMP4.0.0.pdf) Sections
2.14.3.4 and 2.14.3.5 but in later standards have become implicit
through other definitions.


  Commit: 5fd9bbdea6cc248469d5465de44e747378ffafcb
      https://github.com/llvm/llvm-project/commit/5fd9bbdea6cc248469d5465de44e747378ffafcb
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/shift-combine.ll

  Log Message:
  -----------
  [DAGCombiner] Pre-commit test case for miscompile bug in combineShiftOfShiftedLogic

DAGCombiner is trying to fold shl over binops, and in the process
combining it with another shl. However it needs to be more careful
to ensure that the sum of the shift counts fits in the type used
for the shift amount.
For example, X86 is using i8 as shift amount type. So we need to
make sure that the sum of the shift amounts isn't greater than 255.

Fix will be applied in a later commit. This only pre-commits the
test case to show that we currently get the wrong result.

Bug was found when testing the C23 BitInt feature.


  Commit: f9b419b7a038dcd51a7943b160acc867714c595f
      https://github.com/llvm/llvm-project/commit/f9b419b7a038dcd51a7943b160acc867714c595f
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/shift-combine.ll

  Log Message:
  -----------
  [DAGCombiner] Fix miscompile bug in combineShiftOfShiftedLogic (#89616)

Ensure that the sum of the shift amounts does not overflow the
shift amount type when combining shifts in combineShiftOfShiftedLogic.

Solves a miscompile bug found when testing the C23 BitInt feature.

Targets like X86 that only use an i8 for shift amounts after
legalization seems to be extra susceptible for bugs like this as it
isn't legal to shift more than 255 steps.


  Commit: 304dfe10bd96ef8badd53d4796bba070cc8d30dc
      https://github.com/llvm/llvm-project/commit/304dfe10bd96ef8badd53d4796bba070cc8d30dc
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [X86] getTargetShuffleMask - update to take a SDValue instead of a SDNode. NFC.

Also just get the value type from the SDValue instead of passing it separately.


  Commit: 8ab3caf4d3acef29f373e09bc6a0ac459918930e
      https://github.com/llvm/llvm-project/commit/8ab3caf4d3acef29f373e09bc6a0ac459918930e
  Author: Younan Zhang <zyn7109 at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Parse/Parser.h
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/test/Parser/cxx2a-constrained-template-param.cpp

  Log Message:
  -----------
  [Clang][Parser] Don't always destroy template annotations at the end of a declaration (#89494)

Since
[6163aa9](https://github.com/llvm/llvm-project/commit/6163aa96799cbad7f2f58e02c5bebee9647056a5#diff-3a7ef0bff7d2b73b4100de636f09ea68b72eda191b39c8091a6a1765d917c1a2),
we have introduced an optimization that almost always destroys
TemplateIdAnnotations at the end of a function declaration. This doesn't
always work properly: a lambda within a default template argument could
also result in such deallocation and hence a use-after-free bug while
building a type constraint on the template parameter.

This patch adds another flag to the parser to tell apart cases when we
shouldn't do such cleanups eagerly. A bit complicated as it is, this retains
the optimization on a highly templated function with lots of generic lambdas.

Note the test doesn't always trigger a conspicuous bug/crash even with a
debug build. But a sanitizer build can detect them, I believe.

Fixes https://github.com/llvm/llvm-project/issues/67235
Fixes https://github.com/llvm/llvm-project/issues/89127


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll

  Log Message:
  -----------
  [VPlan] Ignore incoming values with constant false mask. (#89384)

Ignore incoming values with constant false masks when trying to simplify
VPBlendRecipes.

As a follow-on optimization, we should also be able to drop all incoming
values with false masks by creating a new VPBlendRecipe with those
operands dropped.

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


  Commit: 31af5e9001508dd2e58d2232e900adba01896736
      https://github.com/llvm/llvm-project/commit/31af5e9001508dd2e58d2232e900adba01896736
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/partword.ll

  Log Message:
  -----------
  AtomicExpand: Emit or with constant on RHS

This will save later code from commuting it.


  Commit: 70d3ddb280ea47066349eed1cd99bc0348bf4186
      https://github.com/llvm/llvm-project/commit/70d3ddb280ea47066349eed1cd99bc0348bf4186
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/unittests/Frontend/CMakeLists.txt
    R llvm/unittests/Frontend/OpenMPComposeTest.cpp
    A llvm/unittests/Frontend/OpenMPCompositionTest.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Add functions for checking construct type (#87258)

Implement helper functions to identify leaf, composite, and combined
constructs.


  Commit: b926f75e89c025afeb040cbd245ce2ba9cce9fce
      https://github.com/llvm/llvm-project/commit/b926f75e89c025afeb040cbd245ce2ba9cce9fce
  Author: Takuto Ikuta <tikuta at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libcxx/utils/libcxx/header_information.py

  Log Message:
  -----------
  [libc++] Add some private headers to libcxx.imp (#89568)

https://github.com/llvm/llvm-project/pull/78295 dropped private headers
in top level directory from libcxx.imp.

This PR re-adds them to libcxx.imp.


  Commit: 670ac235b52887b621ab9c75c6be7f5ac4ceb9f8
      https://github.com/llvm/llvm-project/commit/670ac235b52887b621ab9c75c6be7f5ac4ceb9f8
  Author: Stephen Tozer <stephen.tozer at sony.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
    M mlir/test/Target/LLVMIR/Import/import-failure.ll

  Log Message:
  -----------
  [RemoveDIs][MLIR] Don't process debug records in the LLVM-IR translator (#89735)

We are almost ready to enable the use of debug records everywhere in
LLVM by default; part of the prep-work for this means ensuring that
every tool supports them. Every tool in the `llvm/` project supports
them, front-ends that use the `DIBuilder` will support them, and as far
as I can tell, the only other tool in the LLVM repo that needs to
support them but doesn't is `mlir-translate`. This patch trivially
unblocks them by converting from debug records to debug intrinsics
before translating a module.


  Commit: a9e3fbf429ad1869c9434a9660fb8185378d6df4
      https://github.com/llvm/llvm-project/commit/a9e3fbf429ad1869c9434a9660fb8185378d6df4
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [gn build] Port 70d3ddb280ea


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

  Changed paths:
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll

  Log Message:
  -----------
  [AMDGPU] Fix GFX12 encoding of s_wait_event export_ready (#89622)

As well as flipping the sense of the bit, GFX12 moved it from bit 0 to
bit 1 in the encoded simm16 operand.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    A llvm/test/Transforms/SLPVectorizer/X86/alternate-opcode-sindle-bv.ll

  Log Message:
  -----------
  [SLP]Fix PR89635: do not try to vectorize single-gather alternate node.

No need to try to vectorize single gather/buildvector with alternate
opcode graph, it is not profitable. In other cases, need to use last
instruction for inserting the vectorized code.


  Commit: 282ab543a92740100c1119c701258c2900c5d00c
      https://github.com/llvm/llvm-project/commit/282ab543a92740100c1119c701258c2900c5d00c
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll

  Log Message:
  -----------
  [RISCV] Add additional mul strength reduction coverage with xtheadba


  Commit: 74cab546825b32f24e44d69942cdbdd129160471
      https://github.com/llvm/llvm-project/commit/74cab546825b32f24e44d69942cdbdd129160471
  Author: mahtohappy <Happy.Kumar at Windriver.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/SemaCXX/PR41441.cpp

  Log Message:
  -----------
  Reapply "[Clang][Sema] placement new initializes typedef array with correct size (#83124)" (#89036)

When in-place new-ing a local variable of an array of trivial type, the
generated code calls 'memset' with the correct size of the array,
earlier it was generating size (squared of the typedef array + size).

The cause: typedef TYPE TArray[8]; TArray x; The type of declarator is
Tarray[8] and in SemaExprCXX.cpp::BuildCXXNew we check if it's of
typedef and of constant size then we get the original type and it works
fine for non-dependent cases.
But in case of template we do TreeTransform.h:TransformCXXNEWExpr and
there we again check the allocated type which is TArray[8] and it stays
that way, so ArraySize=(Tarray[8] type, alloc Tarray[8*type]) so the
squared size allocation.

ArraySize gets calculated earlier in TreeTransform.h so that
if(!ArraySize) condition was failing.
fix: I changed that condition to if(ArraySize).
fixes https://github.com/llvm/llvm-project/issues/41441

---------

Co-authored-by: erichkeane <ekeane at nvidia.com>


  Commit: d5022d9ad4aec250f77d21c819a9810a97b8b6a8
      https://github.com/llvm/llvm-project/commit/d5022d9ad4aec250f77d21c819a9810a97b8b6a8
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/EHPersonalities.h
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll

  Log Message:
  -----------
  [SystemZ][z/OS] Make z/OS personality function known (#89679)

This change adds the z/OS personality function to the list of known EH
personality functions. It enables removing of the EH data/labels if the
personality function is not invoked.


  Commit: adb0126ef11b0083d5a78be1534ccefa53def1cf
      https://github.com/llvm/llvm-project/commit/adb0126ef11b0083d5a78be1534ccefa53def1cf
  Author: Patrick O'Neill <patrick at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    A llvm/test/Transforms/LoopVectorize/vplan-infer-not-or-type.ll

  Log Message:
  -----------
  [VPlan] Add scalar inferencing support for Not and Or insns (#89160)

Fixes #87394.

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


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/RangesMajorFeatures.csv
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/ranges
    A libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp

  Log Message:
  -----------
  [libc++][ranges] P2387R3: Pipe support for user-defined range adaptors (#89148)

This patch finalizes the std::ranges::range_adaptor_closure
class template from https://wg21.link/P2387R3.

  // [range.adaptor.object], range adaptor objects
  template<class D>
    requires is_class_v<D> && same_as<D, remove_cv_t<D>>
  class range_adaptor_closure { };

The current implementation of __range_adaptor_closure was introduced
in ee44dd8062a26541808fc0d3fd5c6703e19f6016 and has served as the
foundation for the range adaptors in libc++ for a while. This patch
keeps its implementation, with the exception of the following changes:

- __range_adaptor_closure now includes the missing constraints
  `is_class_v<D> && same_as<D, remove_cv_t<D>>` to restrict the 
  type of class that can inherit from it. (https://eel.is/c++draft/ranges.syn)
- The operator| of __range_adaptor_closure no longer requires its
  first argument to model viewable_range. (https://eel.is/c++draft/range.adaptor.object#1)
- The _RangeAdaptorClosure concept is refined to exclude cases where
  T models range or where T has base classes of type range_adaptor_closure<U>
  for another type U. (https://eel.is/c++draft/range.adaptor.object#2)


  Commit: 8317d366212763d907d6d61a6d07450168a33bfb
      https://github.com/llvm/llvm-project/commit/8317d366212763d907d6d61a6d07450168a33bfb
  Author: Ryan Holt <ryanholt at mathworks.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    A mlir/test/Dialect/Linalg/runtime-verification.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir

  Log Message:
  -----------
  [mlir][linalg] Add runtime verification for linalg ops (#89342)

This commit implements runtime verification for LinalgStructuredOps
using the existing `RuntimeVerifiableOpInterface`. The verification
checks that the runtime sizes of the operands match the runtime sizes
inferred by composing the loop ranges with the op's indexing maps.


  Commit: 1d7086e475c76046b58f4e1c5568720f1c67ad55
      https://github.com/llvm/llvm-project/commit/1d7086e475c76046b58f4e1c5568720f1c67ad55
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/UsersManual.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/cl-options.c
    M clang/test/Driver/sanitizer-ld.c

  Log Message:
  -----------
  clang/win: Add a flag to disable default-linking of compiler-rt libraries (#89642)

For ASan, users already manually have to pass in the path to the lib,
and for other libraries they have to pass in the path to the libpath.

With LLVM's unreliable name of the lib (due to
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR confusion and whatnot), it's useful
to be able to opt in to just explicitly passing the paths to the libs
everywhere.

Follow-up of sorts to https://reviews.llvm.org/D65543, and to #87866.


  Commit: 03760ad09d49f74c026f0b5d41d982cad81c67d7
      https://github.com/llvm/llvm-project/commit/03760ad09d49f74c026f0b5d41d982cad81c67d7
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  Reapply "[RISCV] Implement RISCVISD::SHL_ADD and move patterns into combine (#89263)"

Changes since original commit:
* Rebase over improved test coverage for theadba
* Revert change to use TargetConstant as it appears to prevent the uimm2
  clause from matching in the XTheadBa patterns.
* Fix an order of operands bug in the THeadBa pattern visible in the new
  test coverage.

Original commit message follows:

This implements a RISCV specific version of the SHL_ADD node proposed in
https://github.com/llvm/llvm-project/pull/88791.

If that lands, the infrastructure from this patch should seamlessly
switch over the to generic DAG node. I'm posting this separately because
I've run out of useful multiply strength reduction work to do without
having a way to represent MUL X, 3/5/9 as a single instruction.

The majority of this change is moving two sets of patterns out of
tablgen and into the post-legalize combine. The major reason for this is
that I have an upcoming change which needs to reuse the expansion logic,
but it also helps common up some code between zba and the THeadBa
variants.

On the test changes, there's a couple major categories:
* We chose a different lowering for mul x, 25. The new lowering involves
  one fewer register and the same critical path, so this seems like a win.
* The order of the two multiplies changes in (3,5,9)*(3,5,9) in some
  cases. I don't believe this matters.
* I'm removing the one use restriction on the multiply. This restriction
  doesn't really make sense to me, and the test changes appear positive.


  Commit: e0c28485ad195f1650b6826ab2d856e7917788e2
      https://github.com/llvm/llvm-project/commit/e0c28485ad195f1650b6826ab2d856e7917788e2
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [mlir] Update comment about `propertiesAttr` (NFC) (#89634)

The comment is misleading because `propertiesAttr` is not actually
ignored when the operation isn't unregistered.


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

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

  Log Message:
  -----------
  [X86] pr34592.ll - add nounwind to remove cfi noise


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

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

  Log Message:
  -----------
  [X86] pr34592.ll - add O3 codegen run for comparison


  Commit: c793f4a4dab058cee4f283100946a1bb8e465f59
      https://github.com/llvm/llvm-project/commit/c793f4a4dab058cee4f283100946a1bb8e465f59
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Add test coverage for mul (zext), 2^N + 2/4/8 [nfc]


  Commit: f426be195a08874686d01783bbc490295bf4afb2
      https://github.com/llvm/llvm-project/commit/f426be195a08874686d01783bbc490295bf4afb2
  Author: Ryan Holt <ryanholt at mathworks.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    R mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    R mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    R mlir/test/Dialect/Linalg/runtime-verification.mlir
    R mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir

  Log Message:
  -----------
  Revert "[mlir][linalg] Add runtime verification for linalg ops" (#89780)

Reverts llvm/llvm-project#89342 due to build failure


  Commit: df608051234c256f1dc2c89f30afd034706c2c2e
      https://github.com/llvm/llvm-project/commit/df608051234c256f1dc2c89f30afd034706c2c2e
  Author: Alex MacLean <amaclean at nvidia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    A llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
    A llvm/test/CodeGen/NVPTX/rsqrt.ll

  Log Message:
  -----------
  [NVPTX] Improve support for rsqrt.approx (#89417)

Complete support for rsqrt.approx with rsqrt.approx.f64 ([PTX ISA
9.7.3.17. Floating Point Instructions:
rsqrt.approx.ftz.f64](https://docs.nvidia.com/cuda/parallel-thread-execution/index.html#floating-point-instructions-rsqrt-approx-ftz-f64)).
Additionally, add support for folding `sqrt` into `rsqrt`, with an
optional flag to disable.


  Commit: 3197146cc6ae1cefe0b21326f0509add3369decb
      https://github.com/llvm/llvm-project/commit/3197146cc6ae1cefe0b21326f0509add3369decb
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll

  Log Message:
  -----------
  [VectorCombine][AArch64] shuffletoidentity.ll - regenerate checks

Reduce diffs in #88899


  Commit: 143be6a60186d6c1a6a298d0b7acdc1a4d69a321
      https://github.com/llvm/llvm-project/commit/143be6a60186d6c1a6a298d0b7acdc1a4d69a321
  Author: Dhruv Chawla <dhruvc at nvidia.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-itofp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir

  Log Message:
  -----------
  [AArch64][GISel] Avoid scalarizing G_IMPLICIT_DEF and G_FREEZE in the Legalizer (#88469)

It does not make sense to scalarize G_FREEZE as it leads to the generation
of pairs of G_UNMERGE_VALUES and G_BUILD_VECTORs which are difficult to
optimize especially when operations like G_TRUNC operate before G_FREEZE
but after G_UNMERGE_VALUES.

Instead, it is better to legalize G_FREEZE like any other vector type
would be, as it gets lowered to a COPY during instruction selection
anyways.

This is an issue that was encountered when looking at the TSVC
benchmark, where the legalization of G_FREEZE would cause generation of
unnecessary MOVs that adversely affected the performance.


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

  Changed paths:
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll

  Log Message:
  -----------
  [VectorCombine][X86] shuffle-of-binops.ll - adjust no matching operand test to use FDIV

Use of FDIV allows us to show a definite cost improvement with #88899


  Commit: cebc9609d8cdc6f488693cd8e4a616b935b38d2c
      https://github.com/llvm/llvm-project/commit/cebc9609d8cdc6f488693cd8e4a616b935b38d2c
  Author: David Green <david.green at arm.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    M llvm/test/CodeGen/AArch64/arm64-uzp.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll

  Log Message:
  -----------
  [AArch64] Match ZIP and UZP starting from undef elements. (#89578)

In case the first element of a zip/uzp mask is undef, the isZIPMask and
isUZPMask functions have a 50% chance of picking the wrong
"WhichResult", meaning they don't match a zip/uzp where they could. This
patch alters the matching code to first check for the first non-undef
element, to try and get WhichResult correct.


  Commit: abfb4915e12f4767de8714cf79591b509b09896e
      https://github.com/llvm/llvm-project/commit/abfb4915e12f4767de8714cf79591b509b09896e
  Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [NFC][InstrProf] Increment valid profile stat in populateCoverage (#89660)

We increment `NumOfCSPGOFunc` and `NumOfPGOFunc` in
`PGOUseFunc::readCounters()` already. We should do the same in
`PGOUseFunc::populateCoverage`.


https://github.com/llvm/llvm-project/blob/83bc7b57714dc2f6b33c188f2b95a0025468ba51/llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp#L1331


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

  Changed paths:
    M flang/lib/Semantics/check-declarations.cpp
    M flang/test/Semantics/cuf02.cuf

  Log Message:
  -----------
  [flang][cuda] Remove restriction on device subprogram (#89677)

Newer version allow `pure`, `elemental` and `recursive` on device
subprogram.


  Commit: 3a9d8cd5fc5e07629b46901accb1884eae1af694
      https://github.com/llvm/llvm-project/commit/3a9d8cd5fc5e07629b46901accb1884eae1af694
  Author: Xiaoyang Liu <siujoeng.lau at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [libc++][ranges] export `std::ranges::range_adaptor_closure` (#89793)

This patch exports the `std::ranges::range_adaptor_closure` class
template implemented in #89148 from the C++ Modules file.


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

  Changed paths:
    M libcxx/include/__chrono/formatter.h
    M libcxx/test/std/time/time.clock/time.clock.file/ostream.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp

  Log Message:
  -----------
  [libc++][chrono] Fixes format output of negative values. (#89408)

When trying to express a time before the epoch (e.g. "one nanosecond
before 00:01:40 on 1900-01-01")
the date would be shown as:

  1900-01-01 00:01:39.-00000001

After this patch, that time would be correctly shown as:

  1900-01-01 00:01:39.999999999


  Commit: 37e27a4d6509fa6432d0125bf43249d2ad01dbc3
      https://github.com/llvm/llvm-project/commit/37e27a4d6509fa6432d0125bf43249d2ad01dbc3
  Author: Aiden Grossman <aidengrossman at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86PfmCounters.td
    M llvm/lib/Target/X86/X86SchedAlderlakeP.td

  Log Message:
  -----------
  [llvm-exegesis] Add support for alderlake (#88967)

This patch adds the PFM counter definitions for Intel alderlake CPUs.


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

  Changed paths:
    M .github/workflows/libcxx-build-and-test.yaml

  Log Message:
  -----------
  [libc++][CI] Removes clang-tidy references. (#89092)

The clang-tidy selection has been made automatic recently so this is not
longer needed.

Thanks to Louis for spotting this.


  Commit: 1a8935ada7cb0bb7943e18f2bc9f6d7a89887aa8
      https://github.com/llvm/llvm-project/commit/1a8935ada7cb0bb7943e18f2bc9f6d7a89887aa8
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
    M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
    A llvm/test/DebugInfo/X86/invalid-cu-abbrev-contribution-dwp.s
    A llvm/test/DebugInfo/X86/invalid-cu-abbrev-offset-dwp.s
    M llvm/test/DebugInfo/X86/invalid-cu-length-dwp.s

  Log Message:
  -----------
  [DebugInfo] Report errors when DWARFUnitHeader::applyIndexEntry fails (#89156)

Motivation: LLDB is able to report errors about these scenarios whereas
LLVM's DWARF parser only gives a boolean success/fail. I want to migrate
LLDB to using LLVM's DWARFUnitHeader class, but I don't want to lose
some of the error reporting, so I'm adding it to the LLVM class first.


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

  Changed paths:
    M libcxx/docs/Modules.rst

  Log Message:
  -----------
  [libc++][doc] Updates module build instructions. (#89413)

CMake has landed experimental support for using the Standard modules.
This will be part of the CMake 3.30 release. This updates the build
instructions to use modules with CMake.

The changes have been tested locally.

---------

Co-authored-by: Will Hawkins <whh8b at obs.cr>


  Commit: 5fe93b0a4d91f1beb801e3a7588e1fa43955af15
      https://github.com/llvm/llvm-project/commit/5fe93b0a4d91f1beb801e3a7588e1fa43955af15
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp

  Log Message:
  -----------
  [CodeGen][TII] Allow reassociation on custom operand indices (#88306)

This opens up a door for reusing reassociation optimizations on
target-specific binary operations with non-standard operand list.

This is effectively a NFC.


  Commit: 5f3f9d1a905b1f293d81758db3fa20c2a1dc3ff4
      https://github.com/llvm/llvm-project/commit/5f3f9d1a905b1f293d81758db3fa20c2a1dc3ff4
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir

  Log Message:
  -----------
  [flang] Remove hardcoded bits from AddDebugInfo. (#89231)

This PR adds following options to the AddDebugInfo pass.

1. IsOptimized flag.
2. Level of debug info to generate.
3. Name of the source file

This enables us to remove the hard coded values from the code. It also
allows us to test the pass with different options. The tests have been
modified to take advantage of that.

The calling convention flag and producer name have also been improved.


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

  Changed paths:
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-function.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-variable.cpp

  Log Message:
  -----------
  [lldb/test] Add basic ld.lld --debug-names tests (#88335)

Test that ld.lld --debug-names (#86508) built per-module index can be
consumed by lldb. This has uncovered a bug during the development of the
lld feature.


  Commit: 06cc1754f829d6b94dc797ed0f653d0eb52ef1ac
      https://github.com/llvm/llvm-project/commit/06cc1754f829d6b94dc797ed0f653d0eb52ef1ac
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [NFC][msan] Fix typo in comment


  Commit: 1d140348733d5454c2dc72b3f4f16404981f2102
      https://github.com/llvm/llvm-project/commit/1d140348733d5454c2dc72b3f4f16404981f2102
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [NFC][msan] Add DebugInstrumentInstruction DEBUG_COUNTER


  Commit: 3ae10fde39419d7c985b9fff210ed44b699e438c
      https://github.com/llvm/llvm-project/commit/3ae10fde39419d7c985b9fff210ed44b699e438c
  Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libc/docs/index.rst
    A libc/docs/setjmp.rst
    A libc/utils/docgen/setjmp.json

  Log Message:
  -----------
  [libc] Generate docs for `setjmp.h` (#89542)

Resolves #88065

Added macros and functions.


  Commit: dc8f6a8cdad427345a60f5142411617df521c303
      https://github.com/llvm/llvm-project/commit/dc8f6a8cdad427345a60f5142411617df521c303
  Author: Haojian Wu <hokein.wu at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/test/CodeGenCoroutines/coro-await.cpp
    M clang/test/CodeGenCoroutines/coro-dwarf.cpp
    M clang/test/CodeGenCoroutines/pr65054.cpp

  Log Message:
  -----------
  [clang] coroutine: generate valid mangled name in CodeGenFunction::generateAwaitSuspendWrapper (#89731)

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


  Commit: 0c032fd5425d853dfc577e607b9c179d811cec19
      https://github.com/llvm/llvm-project/commit/0c032fd5425d853dfc577e607b9c179d811cec19
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll

  Log Message:
  -----------
  [RISCV] Use SHL_ADD in remaining strength reduce cases for MUL (#89789)

The interesting bit is the zext folding. This is the first case where we
end up with a profitable fold of shNadd (zext x), y to shNadd.uw x, y.
See zext_mul68 from rv64zba.ll.

The test differences are cases where we can legally fold (only because
there's no one use check). These are not profitable or harmful, but we
can't a oneuse check without breaking the zext_mul68 case.

Note that XTHeadBa doesn't appear to have the equivalent patterns so
this only shows up in Zba.


  Commit: 2662bce43469e37c6fdabf9a77bbfbccaedf9f9f
      https://github.com/llvm/llvm-project/commit/2662bce43469e37c6fdabf9a77bbfbccaedf9f9f
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A llvm/test/Instrumentation/HWAddressSanitizer/fixed-shadow.ll

  Log Message:
  -----------
  [hwasan] Add test for hwasan pass with fixed shadow (#89813)

This test records the current behavior of HWASan, which doesn't utilize
the fixed shadow intrinsics of
https://github.com/llvm/llvm-project/commit/365bddf634993d5ea357e9715d8aacd7ee40c4b5

It is intended to be updated in future work ("Optimize outlined
memaccess for fixed shadow on Aarch64";
https://github.com/llvm/llvm-project/pull/88544)


  Commit: 837dab96d6f5bece79fd58d28ea2e6f7c0912493
      https://github.com/llvm/llvm-project/commit/837dab96d6f5bece79fd58d28ea2e6f7c0912493
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libc/test/UnitTest/CMakeLists.txt
    A libc/test/UnitTest/FEnvSafeTest.cpp
    A libc/test/UnitTest/FEnvSafeTest.h
    M libc/test/src/fenv/CMakeLists.txt
    M libc/test/src/fenv/enabled_exceptions_test.cpp
    M libc/test/src/fenv/exception_flags_test.cpp
    M libc/test/src/fenv/exception_status_test.cpp
    A libc/test/src/fenv/excepts.h
    M libc/test/src/fenv/feclearexcept_test.cpp
    M libc/test/src/fenv/feenableexcept_test.cpp
    M libc/test/src/fenv/feholdexcept_test.cpp
    M libc/test/src/fenv/feupdateenv_test.cpp
    M libc/test/src/fenv/getenv_and_setenv_test.cpp
    M libc/test/src/fenv/rounding_mode_test.cpp
    M libc/test/src/math/CeilTest.h
    M libc/test/src/math/CopySignTest.h
    M libc/test/src/math/FAbsTest.h
    M libc/test/src/math/FDimTest.h
    M libc/test/src/math/FMaxTest.h
    M libc/test/src/math/FMinTest.h
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/FloorTest.h
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/FrexpTest.h
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/ILogbTest.h
    M libc/test/src/math/LdExpTest.h
    M libc/test/src/math/LogbTest.h
    M libc/test/src/math/ModfTest.h
    M libc/test/src/math/NextAfterTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundEvenTest.h
    M libc/test/src/math/RoundTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/SqrtTest.h
    M libc/test/src/math/TruncTest.h
    M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
    M libc/test/src/math/smoke/CanonicalizeTest.h
    M libc/test/src/math/smoke/CeilTest.h
    M libc/test/src/math/smoke/CopySignTest.h
    M libc/test/src/math/smoke/FAbsTest.h
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FMaxTest.h
    M libc/test/src/math/smoke/FMaximumMagNumTest.h
    M libc/test/src/math/smoke/FMaximumMagTest.h
    M libc/test/src/math/smoke/FMaximumNumTest.h
    M libc/test/src/math/smoke/FMaximumTest.h
    M libc/test/src/math/smoke/FMinTest.h
    M libc/test/src/math/smoke/FMinimumMagNumTest.h
    M libc/test/src/math/smoke/FMinimumMagTest.h
    M libc/test/src/math/smoke/FMinimumNumTest.h
    M libc/test/src/math/smoke/FMinimumTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/FloorTest.h
    M libc/test/src/math/smoke/FmaTest.h
    M libc/test/src/math/smoke/FrexpTest.h
    M libc/test/src/math/smoke/FromfpTest.h
    M libc/test/src/math/smoke/FromfpxTest.h
    M libc/test/src/math/smoke/HypotTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/LogbTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextDownTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/NextUpTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/RemQuoTest.h
    M libc/test/src/math/smoke/RoundEvenTest.h
    M libc/test/src/math/smoke/RoundTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/SqrtTest.h
    M libc/test/src/math/smoke/TruncTest.h
    M libc/test/src/math/smoke/UfromfpTest.h
    M libc/test/src/math/smoke/UfromfpxTest.h
    M libc/test/src/math/smoke/nan_test.cpp
    M libc/test/src/math/smoke/nanf128_test.cpp
    M libc/test/src/math/smoke/nanf_test.cpp
    M libc/test/src/math/smoke/nanl_test.cpp
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel

  Log Message:
  -----------
  [libc] Make fenv and math tests preserve fenv_t state (#89658)

This adds a new test fixture class FEnvSafeTest (usable as a base
class for other fixtures) that ensures each test doesn't perturb
the `fenv_t` state that the next test will start with.  It also
provides types and methods tests can use to explicitly wrap code
under test either to check that it doesn't perturb the state or
to save and restore the state around particular test code.

All the fenv and math tests are updated to use this so that none
can affect another.  Expectations that code under test and/or
tests themselves don't perturb state can be added later.


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

  Changed paths:
    M libcxx/src/time_zone.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp

  Log Message:
  -----------
  [libc++][TZDB] Fixes reverse time lookups. (#89502)

Testing with the get_info() returning a local_info revealed some issues
in the reverse lookup. This needed an additional quirk. Also the
skipping when not in the current continuation optimization was wrong. It
prevented merging two sys_info objects.


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

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/MemProf.cpp

  Log Message:
  -----------
  [memprof] Take Schema into account in PortableMemInfoBlock::serializedSize (#89824)

PortableMemInfoBlock::{serialize,deserialize} take Schema into
account, allowing us to serialize/deserialize a subset of the fields.
However, PortableMemInfoBlock::serializedSize does not.  That is, it
assumes that all fields are always serialized and deserialized.  In
other words, if we choose to serialize/deserialize a subset of the
fields, serializedSize would claim more storage than we actually need.

This patch fixes the problem by teaching serializedSize to take Schema
into account.  For now, this patch has no effect on the actual indexed
MemProf profile because we serialize/deserialize all fields, but that
might change in the future.

Aside from check-llvm, I tested this patch by verifying that
llvm-profdata generates bit-wise identical files for each version for
a large raw MemProf file I have.


  Commit: 6b8d385ffe047b61a6614d2f8be206429faa28f5
      https://github.com/llvm/llvm-project/commit/6b8d385ffe047b61a6614d2f8be206429faa28f5
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll

  Log Message:
  -----------
  AMDGPU: Fix missing intrinsic mangling suffixes in test


  Commit: 859de94536425376244940e190e069a09d797737
      https://github.com/llvm/llvm-project/commit/859de94536425376244940e190e069a09d797737
  Author: Roland McGrath <mcgrathr at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [libc] Fix aarch64 build error in FEnvSafeTest change (#89826)


  Commit: 5ac744d72ad2a8d04e0ae869c4e30558dd8058e3
      https://github.com/llvm/llvm-project/commit/5ac744d72ad2a8d04e0ae869c4e30558dd8058e3
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/docs/Security.rst

  Log Message:
  -----------
  [Nomination] New Intel representative for the security group (#89435)

Sergey Malsov has left Intel. I would like to nominate Will Huhn to replace him as an Intel representative in the LLVM security group. Will is a security champion for the Intel compiler team. I believe he will be a valuable addition to the LLVM security group as a second representative from Intel. He has more security-specific expertise than me. I regularly consult with Will about topics the LLVM security group is considering, and it will be useful to have him more directly involved.


  Commit: ef5906989ae2004100ff56dc5ab59be2be9d5c99
      https://github.com/llvm/llvm-project/commit/ef5906989ae2004100ff56dc5ab59be2be9d5c99
  Author: Nicolas van Kempen <nvankemp at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string.h
    M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp

  Log Message:
  -----------
  [clang-tidy][modernize-use-starts-ends-with] Add support for compare() (#89530)

Using `compare` is the next most common roundabout way to express
`starts_with` before it was added to the standard. In this case, using
`starts_with` is a readability improvement. Extend existing
`modernize-use-starts-ends-with` to cover this case.

```
// The following will now be replaced by starts_with().
string.compare(0, strlen("prefix"), "prefix") == 0;
string.compare(0, 6, "prefix") == 0;
string.compare(0, prefix.length(), prefix) == 0;
string.compare(0, prefix.size(), prefix) == 0;
```


  Commit: 418212089e95e2d39d2997699a149a09d4c5185c
      https://github.com/llvm/llvm-project/commit/418212089e95e2d39d2997699a149a09d4c5185c
  Author: David CARLIER <devnexen at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M libc/config/linux/syscall_numbers.h.inc
    M libc/src/sys/stat/linux/chmod.cpp

  Log Message:
  -----------
  [libc] adding linux SYS_fchmodat2 syscall. (#89819)


  Commit: 36209d366d833263d71df328ecca75cf144b1893
      https://github.com/llvm/llvm-project/commit/36209d366d833263d71df328ecca75cf144b1893
  Author: Andrei Safronov <safronov at espressif.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/lib/Target/Xtensa/CMakeLists.txt
    M llvm/lib/Target/Xtensa/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
    A llvm/lib/Target/Xtensa/MCTargetDesc/XtensaTargetStreamer.cpp
    A llvm/lib/Target/Xtensa/MCTargetDesc/XtensaTargetStreamer.h
    M llvm/lib/Target/Xtensa/Xtensa.td
    M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
    M llvm/lib/Target/Xtensa/XtensaAsmPrinter.h
    A llvm/lib/Target/Xtensa/XtensaCallingConv.td
    A llvm/lib/Target/Xtensa/XtensaConstantPoolValue.cpp
    A llvm/lib/Target/Xtensa/XtensaConstantPoolValue.h
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
    M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaOperands.td
    A llvm/lib/Target/Xtensa/XtensaOperators.td
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
    A llvm/lib/Target/Xtensa/XtensaUtils.cpp
    A llvm/lib/Target/Xtensa/XtensaUtils.h
    A llvm/test/CodeGen/Xtensa/call.ll
    A llvm/test/CodeGen/Xtensa/calling-conv.ll
    A llvm/test/CodeGen/Xtensa/constantpool.ll
    A llvm/test/CodeGen/Xtensa/stack-access.ll
    M llvm/test/MC/Xtensa/Core/invalid.s
    A llvm/test/MC/Xtensa/directive-literal.s
    A llvm/test/MC/Xtensa/invalid-literal.s

  Log Message:
  -----------
  [Xtensa] Implement base CallConvention. (#83280)

Implement base Calling Convention functionality. 
Implement stack load/store register operations.
Implement call lowering.


  Commit: e1321fafbc024007023ce5d9b88d987a920c3bca
      https://github.com/llvm/llvm-project/commit/e1321fafbc024007023ce5d9b88d987a920c3bca
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTWriter.cpp
    R clang/test/SemaCXX/PR41441.cpp

  Log Message:
  -----------
  Revert "Reapply "[Clang][Sema] placement new initializes typedef array with correct size (#83124)" (#89036)"

This reverts commit 74cab546825b32f24e44d69942cdbdd129160471.


  Commit: 733a87783cfac7e6bac2c14bc3749ddca879e2be
      https://github.com/llvm/llvm-project/commit/733a87783cfac7e6bac2c14bc3749ddca879e2be
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/tools/driver/cc1_main.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M lld/ELF/Arch/RISCV.cpp
    R llvm/include/llvm/Support/RISCVISAInfo.h
    A llvm/include/llvm/Support/RISCVISAUtils.h
    A llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Support/CMakeLists.txt
    R llvm/lib/Support/RISCVISAInfo.cpp
    A llvm/lib/Support/RISCVISAUtils.cpp
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/TargetParser/CMakeLists.txt
    A llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/RISCVTargetParser.cpp
    M llvm/unittests/Support/CMakeLists.txt
    R llvm/unittests/Support/RISCVISAInfoTest.cpp
    M llvm/unittests/TargetParser/CMakeLists.txt
    A llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp

  Log Message:
  -----------
  [RISCV] Split code that tablegen needs out of RISCVISAInfo. (#89684)

This introduces a new file, RISCVISAUtils.cpp and moves the rest of
RISCVISAInfo to the TargetParser library.

This will allow us to generate part of RISCVISAInfo.cpp using tablegen.


  Commit: 0c0c5c475857e9cd6a2fe82fd1e46abdb174a1c1
      https://github.com/llvm/llvm-project/commit/0c0c5c475857e9cd6a2fe82fd1e46abdb174a1c1
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/TargetParser/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 733a87783cfa


  Commit: 688c10d23630a23e7bb63804de117d1f281c4961
      https://github.com/llvm/llvm-project/commit/688c10d23630a23e7bb63804de117d1f281c4961
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/test/src/fenv/BUILD.bazel

  Log Message:
  -----------
  [Bazel][libc] Fix breakage after 837dab96d6f5bece79fd58d28ea2e6f7c0912493


  Commit: 4f4ebee10ec91becb75ed36608ae26a2bd09e3bb
      https://github.com/llvm/llvm-project/commit/4f4ebee10ec91becb75ed36608ae26a2bd09e3bb
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [msan] Eliminate non-deterministic behavior in the pass (#89831)

Almost NFC, instrumentation is as correct as it was before.

We need InstrumentationList grouped by origin instruction,
so we used stable_sort. However these objects already grouped
because we never interleave sequences of `insertShadowCheck`
of different instrunction.

Pointer sort has artifact that it was deppendent on allocator behavior,
so we could inserted checks in a different order.

There is no test, as I failed to reproduce this with `opt`. My guess
is that for reproducer we need to increase fragmentation in the
allocator.


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

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.h
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp

  Log Message:
  -----------
  [tidy] add new check bugprone-return-const-ref-from-parameter (#89497)


  Commit: 3fa6b9c69e27ca77f8c3929dc7908e727765cc4a
      https://github.com/llvm/llvm-project/commit/3fa6b9c69e27ca77f8c3929dc7908e727765cc4a
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/Support/RISCVVIntrinsicUtils.h
    M clang/lib/Sema/SemaRISCVVectorLookup.cpp
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_ext_v.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_trunc_v.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vreinterpret.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_ext_v.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_trunc_v.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vreinterpret.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.c
    M clang/utils/TableGen/RISCVVEmitter.cpp

  Log Message:
  -----------
  [clang][RISCV] Support RVV bfloat16 C intrinsics (#89354)

It follows the interface defined here:
https://github.com/riscv-non-isa/rvv-intrinsic-doc/pull/293


  Commit: fd4399cb11f4069888bc7eac01f74493b5a2af48
      https://github.com/llvm/llvm-project/commit/fd4399cb11f4069888bc7eac01f74493b5a2af48
  Author: Jonas Devlieghere <jonas at devlieghere.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/test/API/macosx/ctf/Makefile
    M lldb/test/API/macosx/ctf/TestCTF.py
    M lldb/test/API/macosx/ctf/test.c

  Log Message:
  -----------
  [lldb] Fix crash in SymbolFileCTF::ParseFunctions (#89845)

Make SymbolFileCTF::ParseFunctions resilient against not being able to
resolve the argument or return type of a function. ResolveTypeUID can
fail for a variety of reasons so we should always check its result.

The type that caused the crash was `_Bool` which we didn't recognize 
as a basic type. This commit also fixes the underlying issue and adds
a test.

rdar://126943722


  Commit: 9c4735e9b3be717eaf1ea524842b5968bf2c6513
      https://github.com/llvm/llvm-project/commit/9c4735e9b3be717eaf1ea524842b5968bf2c6513
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn

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


  Commit: 99e7350235055654aaa923701bf36adaf01739d0
      https://github.com/llvm/llvm-project/commit/99e7350235055654aaa923701bf36adaf01739d0
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    A lld/test/ELF/lto/i386-global-offset-table.ll
    A lld/test/ELF/lto/x86-64-global-offset-table.ll
    M llvm/lib/Object/ModuleSymbolTable.cpp
    M llvm/test/LTO/X86/codemodel-2.ll
    M llvm/test/LTO/X86/codemodel-3.ll
    M llvm/test/LTO/X86/largedatathreshold-1.ll
    M llvm/test/LTO/X86/largedatathreshold-2.ll
    M llvm/test/LTO/X86/largedatathreshold-3.ll

  Log Message:
  -----------
  IRSymTab: Record _GLOBAL_OFFSET_TABLE_ for ELF x86

In ELF, relocatable files generated for x86-32 and some code models of
x86-64 (medium, large) may reference the special symbol
`_GLOBAL_OFFSET_TABLE_` that is not used in the IR. In an LTO link, if
there is no regular relocatable file referencing the special symbol, the
linker may not define the symbol and lead to a spurious "undefined
symbol" error.

Fix #61101: record that `_GLOBAL_OFFSET_TABLE_` is used in the IR symbol
table.

Note: The `PreservedSymbols` mechanism
(https://reviews.llvm.org/D112595) that just sets `FB_used` is not
applicable.
The `getRuntimeLibcallSymbols` for extracting lazy runtime library
symbols is for symbols that are "always" potentially used, but linkers
don't have the code model information to make a precise decision.

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


  Commit: 2cbc2e306cbb0c99aa162357dfdd380e97a07e89
      https://github.com/llvm/llvm-project/commit/2cbc2e306cbb0c99aa162357dfdd380e97a07e89
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp

  Log Message:
  -----------
  [NFC][MC][AArch64] Do not use else after return in `getRelocType` (#89818)

After #89563, we do not use else after return in code corresponding to
`R_AARCH64_AUTH_ABS64` reloc in `getRelocType`. This patch removes use
of else after return in other places in `getRelocType`.


  Commit: dc5939d2b395ce2359f6b6c0a855daaf149600d6
      https://github.com/llvm/llvm-project/commit/dc5939d2b395ce2359f6b6c0a855daaf149600d6
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [Bazel][libc] Add fp_test_helper in deps


  Commit: d97cdd7d088b11b45038112a5f7fe5cbf60a6461
      https://github.com/llvm/llvm-project/commit/d97cdd7d088b11b45038112a5f7fe5cbf60a6461
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td

  Log Message:
  -----------
  [PowerPC] Add PPC prefix to retglue ISD node. NFC. (#89771)

So that aligned with other targets.


  Commit: a1b1c4a6d1d52916c5d885170a5f54632d579cdc
      https://github.com/llvm/llvm-project/commit/a1b1c4a6d1d52916c5d885170a5f54632d579cdc
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll

  Log Message:
  -----------
  [InstCombine] Fix miscompile in negation of select (#89698)

Swapping the operands of a select is not valid if one hand is more
poisonous that the other, because the negation zero contains poison
elements.

Fix this by adding an extra parameter to isKnownNegation() to forbid
poison elements.

I've implemented this using manual checks to avoid needing four variants
for the NeedsNSW/AllowPoison combinations. Maybe there is a better way
to do this...

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


  Commit: 7339f7ba3053db7595ece1ca5f49bd2e4c3c8305
      https://github.com/llvm/llvm-project/commit/7339f7ba3053db7595ece1ca5f49bd2e4c3c8305
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/unittests/IR/PatternMatch.cpp

  Log Message:
  -----------
  [InstCombine] Fix poison propagation in select of bitwise fold (#89701)

We're replacing the select with the false value here, but it may be more
poisonous if m_Not contains poison elements. Fix this by introducing a
m_NotForbidPoison matcher and using it here.

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


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

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

  Log Message:
  -----------
  [RISCV] Remove implication of F extension for XTHeadFMemIdx from RISCVFeatures.td.

There is no implies rule in RISCVISAInfo.cpp so this makes them
consistent.

Soon RISCVFeatures.td will be used to generate RISCVISAInfo.cpp so
it won't be possible to mismatch.


  Commit: 469c8a0a4ef9edae4e236d554901e60b2adca074
      https://github.com/llvm/llvm-project/commit/469c8a0a4ef9edae4e236d554901e60b2adca074
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Correctly annotate list init braces of class types (#89706)

Fixes #71939.


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

  Changed paths:
    M clang/test/Preprocessor/riscv-target-features.c
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/rv32zacas-invalid.s
    M llvm/test/MC/RISCV/rv32zacas-valid.s
    M llvm/test/MC/RISCV/rv64zacas-valid.s
    M llvm/test/MC/RISCV/rvzabha-invalid.s
    M llvm/test/MC/RISCV/rvzabha-valid.s
    M llvm/test/MC/RISCV/rvzabha-zacas-valid.s

  Log Message:
  -----------
  [RISCV] Don't make Zacas or Zabha imply A in RISCVISAInfo.cpp

Zabha and Zacas are both documented as depending on Zaamo. I'm
hesitant to make them imply Zaamo instead.

So remove the implication and replace with a check that either
A or Zaamo is enabled.


  Commit: aa1e912a1569d46a3b18c73367791a58a9c2b35d
      https://github.com/llvm/llvm-project/commit/aa1e912a1569d46a3b18c73367791a58a9c2b35d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll

  Log Message:
  -----------
  [InstCombine] Fix symbol conflicts in tests (NFC)

These tests break when regenerated due to symbol conflicts.


  Commit: ba702aa067c0659d2263d2144d38666efa4a1750
      https://github.com/llvm/llvm-project/commit/ba702aa067c0659d2263d2144d38666efa4a1750
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll

  Log Message:
  -----------
  [InstSimplify] Regenerate test checks (NFC)


  Commit: da1e3e8b9ab76e7dc6de1fa41116983cb7d0c510
      https://github.com/llvm/llvm-project/commit/da1e3e8b9ab76e7dc6de1fa41116983cb7d0c510
  Author: Durgadoss R <durgadossr at nvidia.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/test/lit.cfg.py

  Log Message:
  -----------
  [LIT][NVPTX] Add a few more known ptxas versions (#89761)

This patch adds known ptxas versions up to 12.4,
to have tests targeting them.

Signed-off-by: Durgadoss R <durgadossr at nvidia.com>


  Commit: c8c1e4e0e576f6e735a55dca4a2eb75ce73ee1db
      https://github.com/llvm/llvm-project/commit/c8c1e4e0e576f6e735a55dca4a2eb75ce73ee1db
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/test/Preprocessor/wasm-target-features.c

  Log Message:
  -----------
  [WebAssembly] Fix uses of -DAG and -NOT in wasm-target-features.c (#89777)

We are currently using `PREFIX-DAG` and `PREFIX-NOT` within a single
`PREFIX` test in a mixed way, but `-DAG` and `-NOT` do not work that
way. For example:

Result:
```
1
2
3
```

Test file:
```c
// CHECK-DAG: 3
// CHECK-DAG: 1
// CHECK-NOT: 2
```

This does not work. The last line `CHECK-NOT: 2` does not trigger any
error, because we've already covered all three lines (1~3) while
matching `CHECK-DAG: 3` and `CHECK-DAG: 1`, and FileCheck tries to check
the line `CHECK-NOT: 2` _after_ the line `3`.

Actually, we have
```c
// BLEEDING-EDGE-NOT:#define __wasm_reference_types__ 1{{$}}
```
even though reference-types is enabled in 'bleeding-edge' config, and
this has not triggered any error.

This section
(https://llvm.org/docs/CommandGuide/FileCheck.html#the-check-dag-directive)
explains the interactions between `CHECK-DAG` and `CHECK-NOT`s:
> As a result, the surrounding `CHECK-DAG:` directives cannot be
reordered, i.e. all occurrences matching `CHECK-DAG:` before
`CHECK-NOT:` must not fall behind occurrences matching `CHECK-DAG:`
after `CHECK-NOT:`.

So in order to test the 'include' lists and 'not-include' lists, we have
to run the tests twice with different prefixes. This splits `GENERIC`
and `BLEEDING-EDGE` tests in two configs (`***-INCLUDE` and `***`) to
test them correctly.

This also adds some spaces after colons, sorts the feature lists, and
adds `1{{$}}` to the `MVP` tests to make them consistent with `GENERIC`
and `BLEEDING-EDGE` tests.


  Commit: 88b6186af3908c55b357858eb348b5143f21c289
      https://github.com/llvm/llvm-project/commit/88b6186af3908c55b357858eb348b5143f21c289
  Author: Heejin Ahn <aheejin at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/test/Preprocessor/wasm-target-features.c

  Log Message:
  -----------
  [WebAssembly] Tidy up wasm-target-features.c (#89778)

This tidies up `wasm-target-features.c` cosmetically:
- Sorts the feature tests alphabetically
- Adds a space after colons


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

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

  Log Message:
  -----------
  [SelectionDAG] Remove unnecessary cast of nullptr in std::fill call. NFC


  Commit: 6493da7356541becdf2bf6c141fd619c15dec5d6
      https://github.com/llvm/llvm-project/commit/6493da7356541becdf2bf6c141fd619c15dec5d6
  Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Use the store value's VT as the MemoryVT after combining riscv.masked.strided.store (#89874)

According to `RISCVTargetLowering::getTgtMemIntrinsic`, the MemoryVT
is the scalar element VT for strided store and the MemoryVT is the
same as the store value's VT for unit-stride store.

After combining `riscv.masked.strided.store` to `masked.store`, we
just use the scalar element VT to construct `masked.store`, which is
wrong.

With wrong MemoryVT, the DAGCombiner will combine `trunc+masked.store`
to truncated `masked.store` because `TLI.canCombineTruncStore` returns
true.

So, we should use the store value's VT as the MemoryVT.

This fixes #89833.


  Commit: 805d5637a0d50caa073f435b55940c1338aae0fc
      https://github.com/llvm/llvm-project/commit/805d5637a0d50caa073f435b55940c1338aae0fc
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/test/SemaCXX/template-specialization.cpp

  Log Message:
  -----------
  [clang] Mark ill-formed partial specialization as invalid (#89536)

Fixes #89374
Solution suggested by @cor3ntin


  Commit: cf328ff96daf5e676fb51ac86e550af7fd689fec
      https://github.com/llvm/llvm-project/commit/cf328ff96daf5e676fb51ac86e550af7fd689fec
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    A llvm/docs/MemoryModelRelaxationAnnotations.rst
    M llvm/docs/Reference.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/IR/FixedMetadataKinds.def
    A llvm/include/llvm/IR/MemoryModelRelaxationAnnotations.h
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/IR/CMakeLists.txt
    M llvm/lib/IR/Instruction.cpp
    A llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    A llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
    A llvm/test/CodeGen/AMDGPU/mmra.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
    A llvm/test/Transforms/SimplifyCFG/mmra.ll
    A llvm/test/Verifier/mmra-allowed.ll
    A llvm/test/Verifier/mmra.ll
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    A llvm/unittests/IR/MemoryModelRelaxationAnnotationsTest.cpp

  Log Message:
  -----------
  [IR] Memory Model Relaxation Annotations (#78569)

Implements the core/target-agnostic components of Memory Model
Relaxation Annotations.

RFC:
https://discourse.llvm.org/t/rfc-mmras-memory-model-relaxation-annotations/76361/5


  Commit: 806db47b060b6e70cc71ee5ce8052829f85e6469
      https://github.com/llvm/llvm-project/commit/806db47b060b6e70cc71ee5ce8052829f85e6469
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/IR/Verifier.cpp

  Log Message:
  -----------
  [IR] Remove unused variable in Verifier.cpp (NFC)

llvm-project/llvm/lib/IR/Verifier.cpp:4854:14:
error: unused variable 'IsLeaf' [-Werror,-Wunused-variable]
  const auto IsLeaf = [](const Metadata *CurMD) {
             ^
1 error generated.


  Commit: ad4a42bbc7f8d27d8e91b69dbd3282cf873d418e
      https://github.com/llvm/llvm-project/commit/ad4a42bbc7f8d27d8e91b69dbd3282cf873d418e
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Remove -riscv-split-regalloc flag (#89715)

Split vector and scalar regalloc has been enabled by default for 5
months now since d0a39e617ba301a76d28e2d82e1f657999c9dcfb, and shipped
with 18.1.0. I haven't heard of any issues with it so far, so this
proposes to remove the flag to reduce the number of configurations we
have to support.


  Commit: 7da63426ac5d9719038842c30ca2a644620be071
      https://github.com/llvm/llvm-project/commit/7da63426ac5d9719038842c30ca2a644620be071
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-23 (Tue, 23 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp

  Log Message:
  -----------
  Re-apply "[ORC] Unify task dispatch across ExecutionSession..." with more fixes.

This re-applies 6094b3b7db7, which was reverted in e7efd37c229 (and before that
in 1effa19de24) due to bot failures.

The test failures were fixed by having SelfExecutorProcessControl use an
InPlaceTaskDispatcher by default, rather than a DynamicThreadPoolTaskDispatcher.
This shouldn't be necessary (and indicates a concurrency issue elsewhere), but
InPlaceTaskDispatcher is a less surprising default, and better matches the
existing behavior (compilation on current thread by default), so the change
seems reasonable. I've filed https://github.com/llvm/llvm-project/issues/89870
to investigate the concurrency issue as a follow-up.

Coding my way home: 6.25133S 127.94177W


  Commit: 9375962ac9e8d8e83fa8e32c3b04bb6970e4b242
      https://github.com/llvm/llvm-project/commit/9375962ac9e8d8e83fa8e32c3b04bb6970e4b242
  Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/test/TableGen/ContextlessPredicates.td
    M llvm/test/TableGen/DefaultOpsGlobalISel.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-eraseroot.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-miflags.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-operand-types.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-temp-defs.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-typeof.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
    M llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
    M llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
    M llvm/test/TableGen/GlobalISelEmitter-input-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    M llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
    M llvm/test/TableGen/GlobalISelEmitter-output-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
    M llvm/test/TableGen/GlobalISelEmitterFlags.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
    M llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
    M llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    M llvm/test/TableGen/GlobalISelEmitterSubreg.td
    M llvm/test/TableGen/GlobalISelEmitterVariadic.td
    M llvm/test/TableGen/HasNoUse.td
    M llvm/test/TableGen/address-space-patfrags.td
    M llvm/test/TableGen/gisel-physreg-input.td
    M llvm/test/TableGen/immarg-predicated.td
    M llvm/test/TableGen/immarg.td
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h

  Log Message:
  -----------
  [TableGen][GlobalISel] Specialize more MatchTable Opcodes (#89736)

The vast majority of the following (very common) opcodes were always
called with identical arguments:

- `GIM_CheckType` for the root
- `GIM_CheckRegBankForClass` for the root
- `GIR_Copy` between the old and new root
- `GIR_ConstrainSelectedInstOperands` on the new root
- `GIR_BuildMI` to create the new root

I added overloaded version of each opcode specialized for the root
instructions. It always saves between 1 and 2 bytes per instance
depending on the number of arguments specialized into the opcode. Some
of these opcodes had between 5 and 15k occurences in the AArch64
GlobalISel Match Table.

Additionally, the following opcodes are almost always used in the same
sequence:

- `GIR_EraseFromParent 0` + `GIR_Done` 
- `GIR_EraseRootFromParent_Done` has been created to do both. Saves 2
bytes per occurence.
- `GIR_IsSafeToFold` was *always* called for each InsnID except 0.
- Changed the opcode to take the number of instructions to check after
`MI[0]`

The savings from these are pretty neat. For `AArch64GenGlobalISel.inc`:
- `AArch64InstructionSelector.cpp.o` goes down from 772kb to 704kb (-10%
code size)
- Self-reported MatchTable size goes from 420380 bytes to 352426 bytes
(~ -17%)

A smaller match table means a faster match table because we spend less
time iterating and decoding.
I don't have a solid measurement methodology for GlobalISel performance
so I don't have precise numbers but I saw a few % of improvements in a
simple testcase.


  Commit: 008b7f1dfdba5cd0479cbb0348d84d0eeb8b5d46
      https://github.com/llvm/llvm-project/commit/008b7f1dfdba5cd0479cbb0348d84d0eeb8b5d46
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/test/Lower/HLFIR/internal-procedures.f90

  Log Message:
  -----------
  [flang] implement capture of procedure pointers in internal procedures (#89619)


  Commit: 46b011d0ccb468613bcc7e9e756518f9f383001d
      https://github.com/llvm/llvm-project/commit/46b011d0ccb468613bcc7e9e756518f9f383001d
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

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


  Commit: 9a8235a290b87a311217b9ffd811de06bff38746
      https://github.com/llvm/llvm-project/commit/9a8235a290b87a311217b9ffd811de06bff38746
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp

  Log Message:
  -----------
  [ORC] Fix -Wunused-variable in LLJIT.cpp (NFC)

llvm-project/llvm/lib/ExecutionEngine/Orc/LLJIT.cpp:684:8:
error: unused variable 'ConcurrentCompilationSettingDefaulted' [-Werror,-Wunused-variable]
  bool ConcurrentCompilationSettingDefaulted = !SupportConcurrentCompilation;
       ^
1 error generated.


  Commit: 78ebaa2d798f939e35e44778572eb54c4bf36550
      https://github.com/llvm/llvm-project/commit/78ebaa2d798f939e35e44778572eb54c4bf36550
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp

  Log Message:
  -----------
  [ORC] Fix build failure (NFC)


  Commit: b3ca9c30dedf28ecf687779294c1343a840bfd35
      https://github.com/llvm/llvm-project/commit/b3ca9c30dedf28ecf687779294c1343a840bfd35
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add tests for isKnowNonZero of `trunc nuw/nsw`; NFC


  Commit: b933c8447b2a8797a882d3506460f49fb6f7bf34
      https://github.com/llvm/llvm-project/commit/b933c8447b2a8797a882d3506460f49fb6f7bf34
  Author: Noah Goldstein <goldstein.w.n at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll

  Log Message:
  -----------
  [ValueTracking] Add support for `trunc nuw/nsw` in isKnowNonZero

With `nsw`/`nuw`, the `trunc` is non-zero if its operand is non-zero.

Proofs: https://alive2.llvm.org/ce/z/iujmk6

Closes #89643


  Commit: 62db43497fb019d0ac0677ae0c9ea2eba136b230
      https://github.com/llvm/llvm-project/commit/62db43497fb019d0ac0677ae0c9ea2eba136b230
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M lldb/docs/conf.py

  Log Message:
  -----------
  [lldb] Enable support for Markdown documentation pages (#89716)

RST is powerful but usually too powerful for 90% of what we need it for.
Markdown is easier to edit and can be previewed easily without building
the entire website.

This copies what llvm does already, making myst_parser optional if you
only want man pages.

Previously we had Markdown enabled in
8b95bd3310c126e76e0714bea6003a9b1aa739fb but that got reverted. That did
this in a different way but I've gone with the standard llvm set this
time.

I intend the first Markdown pages to be the remote protocol extension
docs, as they are not in any set format right now.


  Commit: 662ef8604268b207910225ecca90daf30a46720b
      https://github.com/llvm/llvm-project/commit/662ef8604268b207910225ecca90daf30a46720b
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/lib/Serialization/ASTWriter.cpp

  Log Message:
  -----------
  [clang][NFC] Remove useless code in ASTWriter

A follow-up to #71709, addressing the static analysis finding reported in https://github.com/llvm/llvm-project/pull/71709/files#r1576846306


  Commit: 71c5964f5c0686be3319bc55a0dbfb0e3a60a917
      https://github.com/llvm/llvm-project/commit/71c5964f5c0686be3319bc55a0dbfb0e3a60a917
  Author: Tomas Matheson <Tomas.Matheson at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/CMakeLists.txt
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h
    M llvm/lib/TargetParser/CMakeLists.txt
    A llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    M llvm/utils/TableGen/CMakeLists.txt

  Log Message:
  -----------
  [ARM][AArch64] autogenerate header file for TargetParser from Target tablegen files (#88378)

Introduce a mechanism to share data between the ARM and AArch64 backends and
TargetParser, to reduce duplication of code. This is similar to the current
RISC-V implementation.

The target tablegen file (in this case `ARM.td` or `AArch64.td`) is
processed during building of `TargetParser` to generate the following
files in the build tree:
 - `build/include/llvm/TargetParser/ARMTargetParserDef.inc`
 - `build/include/llvm/TargetParser/AArch64TargetParserDef.inc`

For now, the use of these generated files is limited to files _outside_
of `TargetParser`. The main reason for this is that the modifications to
`TargetParser` will require additional data added to the tablegen files,
which I want to split into separate PRs.


  Commit: 69703b1f94ac8e5c03bd39d0a581bf6e553545e4
      https://github.com/llvm/llvm-project/commit/69703b1f94ac8e5c03bd39d0a581bf6e553545e4
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp

  Log Message:
  -----------
  [ORC] Fix bot failure due to 7da63426ac5 (ORC task dispatch unification).

Fixes the failure at https://lab.llvm.org/buildbot/#/builders/131/builds/62928,
and add comments about unused variable and update debugging output.

Coding my way home: 6.44615S, 128.16704W


  Commit: 601d0caf3b347a666b59928e4c3ad6b8e3d1d35c
      https://github.com/llvm/llvm-project/commit/601d0caf3b347a666b59928e4c3ad6b8e3d1d35c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M lldb/docs/index.rst
    R lldb/docs/lldb-gdb-remote.txt
    A lldb/docs/resources/lldbgdbremote.md

  Log Message:
  -----------
  [lldb][Docs] Convert GDB protocol extensions doc to Markdown and add to website (#89718)

This document has never been on the website, unlike GDB's protocol docs.
It will be useful to have both available online to compare.

Markdown is easier to edit and preview in many editors (including Github
itself), so I've chosen that over RST. Plus, building the website takes
minutes and I lose the will to make nice edits when I have to deal with
that.

The standard dialiect lacks some things notably multi-line table cells,
so I've converted large tables into bullet point lists
so that we still get text wrapping. This is a downside but I think the
simplicity of Markdown outweighs this.

I have applied the plain text markers where I've noticed it and escaped
some HTML characters. There may be more changes needed but, it's
Markdown, so it's in theory a lot easier for someone to fix it!


  Commit: c071c1d3abfedaf081d77308a24bb38c061ff999
      https://github.com/llvm/llvm-project/commit/c071c1d3abfedaf081d77308a24bb38c061ff999
  Author: Michal Paszkowski <michal at paszkowski.org>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/SPIRV/pointers/argument-ptr-to-struct.ll
    A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
    A llvm/test/CodeGen/SPIRV/types/or-i1.ll

  Log Message:
  -----------
  [SPIR-V] New validation tests for pointer and primitive types (#89632)

This patch adds new tests mostly checking SPIR-V validation of pointer
and primitive types.


  Commit: 603ba4c59635ff5f8a54d1106719124aee20271d
      https://github.com/llvm/llvm-project/commit/603ba4c59635ff5f8a54d1106719124aee20271d
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
    M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir

  Log Message:
  -----------
  [RISCV] Separate doLocalPostpass into new pass and move to post vector regalloc (#88295)

This patch splits off part of the work to move vsetvli insertion to post
regalloc in #70549.

The doLocalPostpass operates outside of RISCVInsertVSETVLI's dataflow,
so we can move it to its own pass. We can then move it to post vector
regalloc which should be a smaller change.

A couple of things that are different from #70549:

- This manually fixes up the LiveIntervals rather than recomputing it
via createAndComputeVirtRegInterval. I'm not sure if there's much of a
difference with either.
- For the postpass it's sufficient enough to just check isUndef() in
hasUndefinedMergeOp, i.e. we don't need to lookup the def in VNInfo.

Running on llvm-test-suite and SPEC CPU 2017 there aren't any changes in
the number of vsetvlis removed. There are some minor scheduling diffs as
well as extra spills and less spills in some cases (caused by transient
vsetvlis existing between RISCVInsertVSETVLI and RISCVCoalesceVSETVLI
when vec regalloc happens), but they are minor and should go away once
we finish moving the rest of RISCVInsertVSETVLI.

We could also potentially turn off this pass for unoptimised builds.


  Commit: 788d1598212b402057889f5eb973b8665a735d04
      https://github.com/llvm/llvm-project/commit/788d1598212b402057889f5eb973b8665a735d04
  Author: Guillaume Chatelet <gchatelet at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
    M utils/bazel/llvm-project-overlay/libc/libc_build_rules.bzl
    A utils/bazel/llvm-project-overlay/libc/libc_configure_options.bzl
    M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl

  Log Message:
  -----------
  [libc][bazel] Allow configure options to alter all targets (#89251)

The previous state was leading to inconsistencies. Some targets would
get the options and some wouldn't. As an example, the `MEMORY_COPTS`
definitions would only apply to the `:string_memory_utils` target but
not to the `:memcpy` target. This patch makes sure definitions are
applied throughout the LLVM libc targets as `local_defines`. This
ensures that the preprocessor definitions don't propagate to depending
targets outside of LLVM libc, and that all libc targets have consistent
preprocessor definitions.


  Commit: 46163688e111956a9aeb3a35b8f85a40ef7035d0
      https://github.com/llvm/llvm-project/commit/46163688e111956a9aeb3a35b8f85a40ef7035d0
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll

  Log Message:
  -----------
  [AMDGPU] Allow WorkgroupID intrinsics in amdgpu_gfx functions (#89773)

With GFX12 architected SGPRs the workgroup ids are trivially available
in any function called from a compute entrypoint.


  Commit: 91526d64a8adb14edc55adfd5270858791822837
      https://github.com/llvm/llvm-project/commit/91526d64a8adb14edc55adfd5270858791822837
  Author: Martin Storsjö <martin at martin.st>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M libcxx/modules/std.compat/cstdlib.inc

  Log Message:
  -----------
  [libcxx] [modules] Add _LIBCPP_USING_IF_EXISTS on aligned_alloc (#89827)

This is missing e.g. on Windows. With this change, it's possible to make
the libcxx std module work on mingw-w64 (although that requires a few
fixes to those headers).

In the regular cstdlib header, we have _LIBCPP_USING_IF_EXISTS flagged
on every single reexported function (since
a9c9183ca42629fa83cdda297d1d30c7bc1d7c91), but the modules seem to only
have _LIBCPP_USING_IF_EXISTS set on a few individual functions, so far.


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

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/commutable.ll

  Log Message:
  -----------
  [RISCV] Add test coverage for commutable RVV instructions

This patch adds test coverage for commutable RVV instructions
added in #88379.

For each kind of instruction, I add two tests (one for unmasked and
one for masked). These tests don't cover all the SEWs/LMULs as I
think it's not worthy because there is no difference when handling
instructions with different SEWs/LMULs.

As the tests shown, we can't eliminate two equal instructions if
there is a use of `V0`. This may be fixed in the future.

Reviewers: asb, jacquesguan, topperc, lukel97, preames

Reviewed By: lukel97

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


  Commit: 945eeb2d92758ef907ef3aeb3251fadc64b731b3
      https://github.com/llvm/llvm-project/commit/945eeb2d92758ef907ef3aeb3251fadc64b731b3
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/test/Transforms/InstCombine/add4.ll

  Log Message:
  -----------
  [InstCombine] Simplify `(X / C0) * C1 + (X % C0) * C2` to `(X / C0) * (C1 - C2 * C0) + X * C2` (#76285)

Since `DivRemPairPass` runs after `ReassociatePass` in the optimization
pipeline, I decided to do this simplification in `InstCombine`.

Alive2: https://alive2.llvm.org/ce/z/Jgsiqf
Fixes #76128.


  Commit: e400e908b2d97529b1a65dd0bdad80d481c39527
      https://github.com/llvm/llvm-project/commit/e400e908b2d97529b1a65dd0bdad80d481c39527
  Author: Lang Hames <lhames at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp

  Log Message:
  -----------
  [ORC] Fix SpeculativeJIT example after 7da63426ac5 (ORC dispatch unification).

Fixes the bot failure at
https://lab.llvm.org/buildbot/#/builders/272/builds/14788.

Coding my way home: 6.48551S, 128.21109W


  Commit: effb2f1917f11b58262d0e13aa085303b5896852
      https://github.com/llvm/llvm-project/commit/effb2f1917f11b58262d0e13aa085303b5896852
  Author: Fraser Cormack <fraser at codeplay.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M libclc/cmake/modules/AddLibclc.cmake

  Log Message:
  -----------
  [libclc] Use a response file when building on Windows (#89756)

We've recently seen the libclc llvm-link invocations become so long that
they exceed the character limits on certain platforms.

Using a 'response file' should solve this by offloading the list of
inputs into a separate file, and using special syntax to pass it to
llvm-link. Note that neither the response file nor syntax aren't
specific to Windows but we restrict it to that platform regardless. We
have the option of expanding it to other platforms in the future.


  Commit: 4c3b0a6e009228e8c45586eea7a1f7955d36dd42
      https://github.com/llvm/llvm-project/commit/4c3b0a6e009228e8c45586eea7a1f7955d36dd42
  Author: Jack Frankland <jack.frankland at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir

  Log Message:
  -----------
  [mlir][tosa] Fix Map for Bias Broadcast (#89059)


  Commit: 282b56f43d5dfac1dda548924e91fbc380451603
      https://github.com/llvm/llvm-project/commit/282b56f43d5dfac1dda548924e91fbc380451603
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll

  Log Message:
  -----------
  [VectorCombine] foldShuffleOfBinops - add support for length changing shuffles (#88899)

Refactor to be closer to foldShuffleOfCastops - sibling patch to #88743 that can be used to address some of the issues identified in #88693


  Commit: 89d125564a619068cead98c970215e69653503e8
      https://github.com/llvm/llvm-project/commit/89d125564a619068cead98c970215e69653503e8
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/test/CodeGen/SPIRV/transcoding/memcpy-zext.ll

  Log Message:
  -----------
  Bit width of input/result types in OpSConvert/OpUConvert must not be the same (#89737)

This PR fixes the issue
https://github.com/llvm/llvm-project/issues/88908
Attached test case is updated to check that OpSConvert/OpUConvert is not
generated when input and result types are identical.


  Commit: 486ea1ec6e436d502064b610027361523adc537b
      https://github.com/llvm/llvm-project/commit/486ea1ec6e436d502064b610027361523adc537b
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    A llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll

  Log Message:
  -----------
  [SPIR-V] Fix pre-legalizer pass in SPIR-V Backend to support more gMIR opcode inserted by IRTranslator (#89890)

Translating global values, IRTranslator pass can sometimes generates
code patterns that require additional efforts during pre-legalization.
This PR addresses this problem to support G_PTRTOINT instruction used in
initialization of GV.


  Commit: 18bf0c3c1d07fb5ccde9ce91473568668d5df8e2
      https://github.com/llvm/llvm-project/commit/18bf0c3c1d07fb5ccde9ce91473568668d5df8e2
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    A flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90

  Log Message:
  -----------
  [flang][OpenMP] fix reduction of arrays with non-default lower bounds (#89611)

It turned out that `hlfir::genVariableBox` didn't add lower bounds to
the boxes it created. Using a shapeshift instead of only a shape adds
the lower bounds information to the thread-local copy of the box.

Fixes #89259


  Commit: ceca523581c60a7034429645b7f7401d4eec8379
      https://github.com/llvm/llvm-project/commit/ceca523581c60a7034429645b7f7401d4eec8379
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/array-value-copy-2.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/loop01.fir
    M flang/test/Fir/loop02.fir
    M flang/test/Lower/OpenMP/FIR/flush.f90
    M flang/test/Lower/OpenMP/FIR/master.f90
    M flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    M flang/test/Transforms/omp-reduction-cfg-conversion.fir

  Log Message:
  -----------
  [flang] de-duplicate CFGConversion pass (#89783)

See RFC at
https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

I previously did the same for the AbstractResult pass
https://github.com/llvm/llvm-project/pull/88867


  Commit: b8e97f0768f2b537c45930f56f4027a4c0a07f24
      https://github.com/llvm/llvm-project/commit/b8e97f0768f2b537c45930f56f4027a4c0a07f24
  Author: Tomas Matheson <tomas.matheson at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/utils/TableGen/CMakeLists.txt

  Log Message:
  -----------
  [ARM] Add ARMTargetDefEmitter to llvm-tblgen source

Missed from #88378, only showed up in the sanitizer builds.


  Commit: 3cb660d772ecc4605196ba65f09c4117e8435ef3
      https://github.com/llvm/llvm-project/commit/3cb660d772ecc4605196ba65f09c4117e8435ef3
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  DAG: Fix missing fptrunc_round name in debug dumps


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

  Changed paths:
    M llvm/test/CodeGen/RISCV/bitreverse-shift.ll

  Log Message:
  -----------
  [RISCV] bitreverse-shift.ll - fix typo

Noticed in #89897


  Commit: 506c84a7198630b7476b02d985c6ed09338f757d
      https://github.com/llvm/llvm-project/commit/506c84a7198630b7476b02d985c6ed09338f757d
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
    M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.h

  Log Message:
  -----------
  [TTI] getArithmeticInstrCost - use std:nullopt to create default empty `ArrayRef<const Value *> Args` argument. NFC.


  Commit: 4d3308202e52b213a05023c8b8b470b346151de6
      https://github.com/llvm/llvm-project/commit/4d3308202e52b213a05023c8b8b470b346151de6
  Author: Guray Ozen <guray.ozen at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    A mlir/test/Examples/NVGPU/Ch0.py
    A mlir/test/Examples/NVGPU/Ch1.py
    A mlir/test/Examples/NVGPU/Ch2.py
    A mlir/test/Examples/NVGPU/Ch3.py
    A mlir/test/Examples/NVGPU/Ch4.py
    A mlir/test/Examples/NVGPU/Ch5.py
    A mlir/test/Examples/NVGPU/lit.local.cfg
    A mlir/test/Examples/NVGPU/tools/lit.local.cfg
    A mlir/test/Examples/NVGPU/tools/nvdsl.py
    A mlir/test/Examples/NVGPU/tools/nvgpucompiler.py

  Log Message:
  -----------
  [mlir][nvgpu] NVGPU Tutorials (#87065)

I have a tutorial at EuroLLVM 2024 ([Zero to Hero: Programming Nvidia
Hopper Tensor Core with MLIR's NVGPU
Dialect](https://llvm.swoogo.com/2024eurollvm/session/2086997/zero-to-hero-programming-nvidia-hopper-tensor-core-with-mlir's-nvgpu-dialect)).
For that, I implemented tutorial codes in Python. The focus is the nvgpu
dialect and how to use its advanced features. I thought it might be
useful to upstream this.

The tutorial codes are as follows:
- **Ch0.py:** Hello World
- **Ch1.py:** 2D Saxpy
- **Ch2.py:** 2D Saxpy using TMA
- **Ch3.py:** GEMM 128x128x64 using Tensor Core and TMA 
- **Ch4.py:** Multistage performant GEMM using Tensor Core and TMA
- **Ch5.py:** Warp Specialized GEMM using Tensor Core and TMA

I might implement one more chapter:

- **Ch6.py:** Warp Specialized Persistent ping-pong GEMM

This PR also introduces the nvdsl class, making IR building in the
tutorial easier.


  Commit: 333aad7195b568e03db52a561052eba9f73758d5
      https://github.com/llvm/llvm-project/commit/333aad7195b568e03db52a561052eba9f73758d5
  Author: David Green <david.green at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/AArch64/concatbinop.ll

  Log Message:
  -----------
  [AArch64] Add tests for concat binop patterns. NFC


  Commit: a13ff06dce501d8863b3c7068db87ff790ba8734
      https://github.com/llvm/llvm-project/commit/a13ff06dce501d8863b3c7068db87ff790ba8734
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll

  Log Message:
  -----------
  AMDGPU: Remove dead arguments in test and add SGPR variants

Also cleanup to avoid the memory noise by using return values
in the trivial cases.


  Commit: 401658cb4bad619254316ff936c527fec0861472
      https://github.com/llvm/llvm-project/commit/401658cb4bad619254316ff936c527fec0861472
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll

  Log Message:
  -----------
  AMDGPU: Fix vector handling of fptrunc_round


  Commit: 01f8da908ca3616c266fd0afb8490b7f7633ef4b
      https://github.com/llvm/llvm-project/commit/01f8da908ca3616c266fd0afb8490b7f7633ef4b
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/LoopUnroll/unroll-loads-cse.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll

  Log Message:
  -----------
  [LoopUnroll] Add tests for performing load CSE after unrolling.

Precommit tests for https://github.com/llvm/llvm-project/pull/83860.


  Commit: c81ec1f35c8226a13df4e2988d3be7b45ebd4e85
      https://github.com/llvm/llvm-project/commit/c81ec1f35c8226a13df4e2988d3be7b45ebd4e85
  Author: Dmitry Chernenkov <dmitryc at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [llvm][Bazel] Fix Bazel build for  71c5964f5c0686be3319bc55a0dbfb0e3a60a917


  Commit: af81d8ec224900de7a4d2c96a675269499b55a0c
      https://github.com/llvm/llvm-project/commit/af81d8ec224900de7a4d2c96a675269499b55a0c
  Author: Allen <zhongyunde at huawei.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
    M llvm/test/CodeGen/AArch64/sve-vl-arith.ll
    M llvm/test/CodeGen/AArch64/vscale-and-sve-cnt-demandedbits.ll

  Log Message:
  -----------
  [AArch64][CodeGen] Add patterns for small negative VScale const (#89607)

On AArch64, rdvl can accept a nagative value, while cntd/cntw/cnth can't.
As we do support VScale with a negative multiply value, so we did not limit
the negative value and instead took the hit of having the extra patterns according PR88108.
Also add NoUseScalarIncVL to avoid affecting patterns works for -mattr=+use-scalar-inc-vl
    
Fix https://github.com/llvm/llvm-project/issues/84620


  Commit: 62549dbbf286823e400e07cff5ae219e48c175d2
      https://github.com/llvm/llvm-project/commit/62549dbbf286823e400e07cff5ae219e48c175d2
  Author: Joseph Huber <huberjn at outlook.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/test/Driver/amdgpu-toolchain.c

  Log Message:
  -----------
  [AMDGPU] Correctly determine the toolchain linker (#89803)

Summary:
The AMDGPU toolchain simply took the short name to get the link job
instead of using the common utilities that respect options like
`-fuse-ld`. Any linker that isn't `ld.lld` will fail, however we should
be able to override it.


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

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

  Log Message:
  -----------
  [AMDGPU] Fix linker test on platforms without BFD


  Commit: 9f2a068bffad4a36db088673210f680bfd08b3d1
      https://github.com/llvm/llvm-project/commit/9f2a068bffad4a36db088673210f680bfd08b3d1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [DAG] Add getValid*ShiftAmountConstant wrappers without DemandedElts

Simplify callers which don't have their own DemandedElts mask.

Noticed while reviewing #88801


  Commit: 6e9ea6ea6897561a9c3bd77b0b93e415fdc7eeb3
      https://github.com/llvm/llvm-project/commit/6e9ea6ea6897561a9c3bd77b0b93e415fdc7eeb3
  Author: Christian Ulmann <christianulmann at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/test/Dialect/LLVMIR/mem2reg.mlir

  Log Message:
  -----------
  [MLIR][LLVM][Mem2Reg] Extends support for partial stores (#89740)

This commit enhances the LLVM dialect's Mem2Reg interfaces to support
partial stores to memory slots. To achieve this support, the `getStored`
interface method has to be extended with a parameter of the reaching
definition, which is now necessary to produce the resulting value after
this store.


  Commit: 79d4d165638b7587937fc60431e0865fd73c9334
      https://github.com/llvm/llvm-project/commit/79d4d165638b7587937fc60431e0865fd73c9334
  Author: Maksim Levental <maksim.levental at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/python/mlir/dialects/LLVMOps.td
    M mlir/python/mlir/dialects/llvm.py
    M mlir/test/python/dialects/llvm.py

  Log Message:
  -----------
  [mlir][python] extend LLVM bindings (#89797)

Add bindings for LLVM pointer type.


  Commit: d3f6c2c5a76ed4eafd1ef76bd64cb01c8934c914
      https://github.com/llvm/llvm-project/commit/d3f6c2c5a76ed4eafd1ef76bd64cb01c8934c914
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn

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


  Commit: 2bcbe40f8a1c6cc9a256711261d8aa8fde50f7b3
      https://github.com/llvm/llvm-project/commit/2bcbe40f8a1c6cc9a256711261d8aa8fde50f7b3
  Author: Daniel Grumberg <dgrumberg at apple.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/APIRecords.inc
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/test/ExtractAPI/anonymous_record_no_typedef.c
    M clang/test/ExtractAPI/enum.c
    M clang/test/ExtractAPI/function_noexcepts.cpp
    M clang/test/ExtractAPI/methods.cpp
    M clang/test/ExtractAPI/objc_block.m
    M clang/test/ExtractAPI/typedef_anonymous_record.c
    M clang/test/ExtractAPI/typedef_struct_enum.c

  Log Message:
  -----------
  [clang][ExtractAPI] Fix handling of anonymous TagDecls (#87772)

This changes the handling of anonymous TagDecls to the following rules:
- If the TagDecl is embedded in the declaration for some VarDecl (this
is the only possibility for RecordDecls), then pretend the child decls
belong to the VarDecl
- If it's an EnumDecl proceed as we did previously, i.e., embed it in
the enclosing DeclContext.

Additionally this fixes a few issues with declaration fragments not
consistently including "{ ... }" for anonymous TagDecls. To make testing
these additions easier this patch fixes some text declaration fragments
merging issues and updates tests accordingly.

rdar://121436298


  Commit: 93eeca331e1304e0a75e606ec5a32e8704432c67
      https://github.com/llvm/llvm-project/commit/93eeca331e1304e0a75e606ec5a32e8704432c67
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/docs/LangRef.rst

  Log Message:
  -----------
  LangRef: fix broken link


  Commit: b87b6e2c880de5ecc4c7b3a8b9b2db09e6149851
      https://github.com/llvm/llvm-project/commit/b87b6e2c880de5ecc4c7b3a8b9b2db09e6149851
  Author: Nico Weber <thakis at chromium.org>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [gn] port 71c5964f5c0 (-gen-arm-target-def)

Reverts d3f6c2c5a76e, since ARMTargetDefEmitter.cpp has to be in
llvm-min-tblgen too.


  Commit: d577518d98c7b93cc7e55ae9aafd0fc1ce38ec0e
      https://github.com/llvm/llvm-project/commit/d577518d98c7b93cc7e55ae9aafd0fc1ce38ec0e
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/unittests/Frontend/OpenMPCompositionTest.cpp

  Log Message:
  -----------
  [Frontend][OpenMP] Implement getLeafOrCompositeConstructs (#89104)

This function will break up a construct into constituent leaf and
composite constructs, e.g. if OMPD_c_d_e and OMPD_d_e are composite
constructs, then OMPD_a_b_c_d_e will be broken up into the list {OMPD_a,
OMPD_b, OMPD_c_d_e}.


  Commit: 9cbf96ad5b6fe777bf5acd43b65abfb062381f8c
      https://github.com/llvm/llvm-project/commit/9cbf96ad5b6fe777bf5acd43b65abfb062381f8c
  Author: Fabio D'Urso <fdurso at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp

  Log Message:
  -----------
  Allow ZX_ERR_NO_RESOURCES with MAP_ALLOWNOMEM on Fuchsia (#89767)

This can occur if the virtual address space is (almost) entirely
mapped or heavily fragmented.


  Commit: bd34bc6dc2e4e60813ddea31bfb4ca46d3a96013
      https://github.com/llvm/llvm-project/commit/bd34bc6dc2e4e60813ddea31bfb4ca46d3a96013
  Author: Dinar Temirbulatov <Dinar.Temirbulatov at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-func-attrs.c

  Log Message:
  -----------
  [Clang][AArch64] Extend diagnostics when warning non/streaming about vector size difference (#88380)

Add separate messages about passing arguments or returning parameters
with scalable types.

---------

Co-authored-by: Sander de Smalen <sander.desmalen at arm.com>


  Commit: 07e6c1609d0a57f7ddc0537b7794be2e0296658b
      https://github.com/llvm/llvm-project/commit/07e6c1609d0a57f7ddc0537b7794be2e0296658b
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/CAPI/execution_engine.c
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Dialect/LLVMIR/legalize-for-export.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Make omp.wsloop into a loop wrapper (1/5) (#89209)

This patch updates the definition of `omp.wsloop` to enforce the
restrictions of a loop wrapper operation.

Related tests are updated but this PR on its own will not pass premerge
tests. All patches in the stack are needed before it can be compiled and
passes tests.


  Commit: f6d431f208c0fa48827eac40e7acf788346a9967
      https://github.com/llvm/llvm-project/commit/f6d431f208c0fa48827eac40e7acf788346a9967
  Author: Xu Zhang <simonzgx at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
    M llvm/lib/CodeGen/CalcSpillWeights.cpp
    M llvm/lib/CodeGen/CodeGenCommonISel.cpp
    M llvm/lib/CodeGen/EarlyIfConversion.cpp
    M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/LiveVariables.cpp
    M llvm/lib/CodeGen/MachineCSE.cpp
    M llvm/lib/CodeGen/MachineCombiner.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
    M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
    M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
    M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/ARM/A15SDOptimizer.cpp
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
    M llvm/lib/Target/ARM/MVEVPTBlockPass.cpp
    M llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
    M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
    M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInsertReadWriteCSR.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
    M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
    M llvm/lib/Target/X86/X86CmovConversion.cpp
    M llvm/lib/Target/X86/X86FixupSetCC.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86FloatingPoint.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp

  Log Message:
  -----------
  [CodeGen] Make the parameter TRI required in some functions. (#85968)

Fixes #82659

There are some functions, such as `findRegisterDefOperandIdx` and  `findRegisterDefOperand`, that have too many default parameters. As a result, we have encountered some issues due to the lack of TRI  parameters, as shown in issue #82411.

Following @RKSimon 's suggestion, this patch refactors 9 functions, including `{reads, kills, defines, modifies}Register`,  `registerDefIsDead`, and `findRegister{UseOperandIdx, UseOperand, DefOperandIdx, DefOperand}`, adjusting the order of the TRI parameter and making it required. In addition, all the places that call these functions have also been updated correctly to ensure no additional impact.

After this, the caller of these functions should explicitly know whether to pass the `TargetRegisterInfo` or just a `nullptr`.


  Commit: 4c16b1231cc78cc6271cff5ab33f799cd437ac31
      https://github.com/llvm/llvm-project/commit/4c16b1231cc78cc6271cff5ab33f799cd437ac31
  Author: Hans Wennborg <hans at chromium.org>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Coroutines/CoroInstr.h

  Log Message:
  -----------
  [coro] Tweak comments about CoroAwaitSuspendInst

to reflect that there are three variants.


  Commit: 1465299092c647fdb484235cc864826dca36f308
      https://github.com/llvm/llvm-project/commit/1465299092c647fdb484235cc864826dca36f308
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/test/Dialect/OpenMP/invalid.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Update op verifiers dependent on omp.wsloop (2/5) (#89211)

This patch updates verifiers for `omp.ordered`, `omp.ordered.region`,
`omp.cancel` and `omp.cancellation_point`, which check for a parent
`omp.wsloop`.

After transitioning to a loop wrapper-based approach, the expected
direct parent will become `omp.loop_nest` instead, so verifiers need to
take this into account.

This PR on its own will not pass premerge tests. All patches in the
stack are needed before it can be compiled and passes tests.


  Commit: 8843d541b6640ec8928cfda835ff22a657656037
      https://github.com/llvm/llvm-project/commit/8843d541b6640ec8928cfda835ff22a657656037
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
    M mlir/test/Conversion/SCFToOpenMP/scf-to-openmp.mlir

  Log Message:
  -----------
  [MLIR][SCF] Update scf.parallel lowering to OpenMP (3/5) (#89212)

This patch makes changes to the `scf.parallel` to `omp.parallel` +
`omp.wsloop` lowering pass in order to introduce a nested
`omp.loop_nest` as well, and to follow the new loop wrapper role for
`omp.wsloop`.

This PR on its own will not pass premerge tests. All patches in the
stack are needed before it can be compiled and passes tests.


  Commit: 2e37f28f3bac768465e9112caf88e9370a62234d
      https://github.com/llvm/llvm-project/commit/2e37f28f3bac768465e9112caf88e9370a62234d
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
    M mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
    M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-data-target-device.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-nested.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir

  Log Message:
  -----------
  [MLIR][OpenMP] Update omp.wsloop translation to LLVM IR (4/5) (#89214)

This patch introduces minimal changes to the MLIR to LLVM IR translation
of `omp.wsloop` to support the loop wrapper approach.

There is `omp.loop_nest` related translation code that should be
extracted and shared among all loop operations (e.g. `omp.simd`). This
would possibly also help in the addition of support for compound
constructs later on. This first approach is only intended to keep things
running after the transition to loop wrappers and not to add support for
other use cases enabled by that transition.

This PR on its own will not pass premerge tests. All patches in the
stack are needed before it can be compiled and passes tests.


  Commit: ca4dbc271842e8c9b5ed01bd66b687ab703896d0
      https://github.com/llvm/llvm-project/commit/ca4dbc271842e8c9b5ed01bd66b687ab703896d0
  Author: Sergio Afonso <safonsof at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Lower/OpenMP/FIR/copyin.f90
    M flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/FIR/location.f90
    M flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/FIR/target.f90
    M flang/test/Lower/OpenMP/FIR/unstructured.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
    M flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
    M flang/test/Lower/OpenMP/FIR/wsloop.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/location.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-ordered.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/OpenMP/wsloop-simd.f90
    M flang/test/Lower/OpenMP/wsloop-unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90

  Log Message:
  -----------
  [Flang][OpenMP][Lower] Update workshare-loop lowering (5/5) (#89215)

This patch updates lowering from PFT to MLIR of workshare loops to
follow the loop wrapper approach. Unit tests impacted by this change are
also updated.

As the last patch of the stack, this should compile and pass unit tests.


  Commit: 3328ccf68985ed512d448890ee900ed5f4bdb620
      https://github.com/llvm/llvm-project/commit/3328ccf68985ed512d448890ee900ed5f4bdb620
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [flang] lower SHAPE intrinsic (#89785)

Semantics usually fold SHAPE into an array constructor, but sometimes it
cannot (like when the source is a function result that cannot be
duplicated in expression analysis). Add lowering handling for shape.


  Commit: 96b2e35a58819eb2fbe1821650e35a1f0e085bd7
      https://github.com/llvm/llvm-project/commit/96b2e35a58819eb2fbe1821650e35a1f0e085bd7
  Author: David Sherwood <57997763+david-arm at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll

  Log Message:
  -----------
  [CostModel][AArch64] Improve fixed-width vector costs for get.active.lane.mask (#89068)

When SVE is available we can lower calls to get.active.lane.mask using
the SVE whilelo instruction, however in practice since vXi1 types are
not legal for NEON we often end up expanding the predicate into a vector
of integers, e.g. v4i1 -> v4i32. This usually happens when we have to
keep the predicate live out of the block, for example when the predicate
is the incoming value to a PHI node in a tail-folded vector loop.
Currently in such cases the intrinsic call has a cost of 1, which is far
too low when considering the extra instructions required to expand the
predicate. This patch fixes that by basing the cost on the number of
lane moves required for expansion. This is required for a follow-on
patch that adds the cost of the intrinsic call to the vectorisation cost
model, so that we can teach the vectoriser to make better choices.


  Commit: e58dcf135f3a6e453e7b123642675e39b8527f2d
      https://github.com/llvm/llvm-project/commit/e58dcf135f3a6e453e7b123642675e39b8527f2d
  Author: smanna12 <soumi.manna at intel.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp

  Log Message:
  -----------
  [Clang] [NFC] Prevent null pointer dereference in Sema::InstantiateFunctionDefinition (#89801)

In the lambda function within
clang::Sema::InstantiateFunctionDefinition, the return value of a
function that may return null is now checked before dereferencing to
avoid potential null pointer dereference issues which can lead to
crashes or undefined behavior in the program.


  Commit: a04714701f17663e3e9879a50ed07bbb421ca209
      https://github.com/llvm/llvm-project/commit/a04714701f17663e3e9879a50ed07bbb421ca209
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap-gfx11.mir
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll

  Log Message:
  -----------
  [AMDGPU] Add a trap lowering workaround for gfx11 (#85854)

On gfx11 shaders run with PRIV=1, which causes `s_trap 2` to be treated
as a nop, which means it isn't a correct lowering for the trap
intrinsic. As a workaround, this commit instead lowers the trap
intrinsic to instructions that simulate the behavior of s_trap 2.

Fixes: SWDEV-438421


  Commit: 21ef187654c819fd097171afcc6c9855dccdb36d
      https://github.com/llvm/llvm-project/commit/21ef187654c819fd097171afcc6c9855dccdb36d
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/unittests/IR/IntrinsicsTest.cpp

  Log Message:
  -----------
  [PGO] Test for inheritance relationships for `instrprof` intrinsics (#89485)


  Commit: 50082d64e633b9baa918a209fc9105aa330b89fa
      https://github.com/llvm/llvm-project/commit/50082d64e633b9baa918a209fc9105aa330b89fa
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll

  Log Message:
  -----------
  DAG: Fix widening of fptrunc_round vectors (#89918)


  Commit: e1aa16299f626317068c3d99e035d447145353c7
      https://github.com/llvm/llvm-project/commit/e1aa16299f626317068c3d99e035d447145353c7
  Author: yingopq <115543042+yingopq at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
    M llvm/test/CodeGen/Mips/atomic-min-max.ll

  Log Message:
  -----------
  [Mips] Use ANDi in for zero-extend in subword atomic umax/umin for both r2 and pre-R2 (#89881)

About unsigned max/min, ANDi is available for all ISA revisions in
extend before slt insn.
So that we can reduce one instruction.


  Commit: a682f528d4d2523c044ab08cf3a8ecfd8e42760d
      https://github.com/llvm/llvm-project/commit/a682f528d4d2523c044ab08cf3a8ecfd8e42760d
  Author: pvanhout <pierre.vanhoutryve at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/unittests/IR/MemoryModelRelaxationAnnotationsTest.cpp

  Log Message:
  -----------
  [IR][test] Fix warning in MMRA tests


  Commit: 418bdb49a758a5b3a128781a819b4e160521b7ed
      https://github.com/llvm/llvm-project/commit/418bdb49a758a5b3a128781a819b4e160521b7ed
  Author: Brandon Wu <brandon.wu at sifive.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/riscv_vector.td
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdf.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdm.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesef.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesem.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesz.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm4r.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdf.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdm.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesef.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesem.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesz.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm4r.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdf.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdm.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesef.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesem.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesz.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm4r.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdf.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdm.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesef.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesem.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesz.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm4r.c

  Log Message:
  -----------
  [clang][RISCV] Remove LMUL=8 scalar input for some vector crypto instructions (#89867)

Since the requirement is EEW=32, it's impossible that EGW=128
needs LMUL=8.


  Commit: a38f201f1ec70c2b1f3cf46e7f291c53bb16753e
      https://github.com/llvm/llvm-project/commit/a38f201f1ec70c2b1f3cf46e7f291c53bb16753e
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [CMake][Release] Add stage2-package target (#89517)

This target will be used to generate the release binary package for
uploading to GitHub.


  Commit: b4f923e9124c5ec0619a962deb386dd9b52a29be
      https://github.com/llvm/llvm-project/commit/b4f923e9124c5ec0619a962deb386dd9b52a29be
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll

  Log Message:
  -----------
  [RISCV] Strength reduce mul by 2^M - 3/5/9 (#88993)

We can expand these as the three instruction sequence: (sub (shl X, C1), (shXadd X, x)).


  Commit: c1d00510ab5e7f5052efb1e678173e3a97302e61
      https://github.com/llvm/llvm-project/commit/c1d00510ab5e7f5052efb1e678173e3a97302e61
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll

  Log Message:
  -----------
  [Inline][Cloning] Introduce test for PR87963 (NFC)


  Commit: a61f9fe31750cee65c726fb51f1b14e31e177258
      https://github.com/llvm/llvm-project/commit/a61f9fe31750cee65c726fb51f1b14e31e177258
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
    M llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
    M llvm/test/Transforms/Inline/prof-update-sample.ll

  Log Message:
  -----------
  [Inline][Cloning] Defer simplification after phi-nodes resolution

A logic issue arose when inlining via `CloneAndPruneFunctionInto`,
which, besides cloning, performs instruction simplification as well.
By the time a new cloned instruction is being simplified, phi-nodes
are not remapped yet as the whole CFG needs to be processed first.
As `VMap` state at this stage is incomplete, `threadCmpOverPHI` and
variants could lead to unsound optimizations. This issue has been
addressed by performing basic constant folding while cloning, and
postponing instruction simplification once phi-nodes are revisited.

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


  Commit: e0adf63afc33a1e7fd4494c4f327d5ee4082b393
      https://github.com/llvm/llvm-project/commit/e0adf63afc33a1e7fd4494c4f327d5ee4082b393
  Author: Alexander M <iammorjj at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M lldb/CMakeLists.txt

  Log Message:
  -----------
  [lldb] fix python extension debug suffix on Win (#89037)

ae389b2450bd604a3f3bbe5b09b333b2d99801dd change doesn't cover "_d"
suffix for Debug build on Windows.

Fixed #87381.


  Commit: fb302b19443ceb5a79628bb0f83383a3e96a4b74
      https://github.com/llvm/llvm-project/commit/fb302b19443ceb5a79628bb0f83383a3e96a4b74
  Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
    R mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir

  Log Message:
  -----------
  [mlir][ArmSME] Move tests out of `vector-ops-to-llvm.mlir` (#89905)

These tests basically were integration tests as unit tests, checking too
many passes at once to be useful, and brittle to any changes.

This patch moves (non-duplicated) tests to `vector-to-arm-sme.mlir`
(which only tests `-convert-vector-to-arm-sme`). The lowering after 
that e.g. `ArmSME -> SCF` and `ArmSME -> LLVM` already have their 
own set of tests covering these cases.


  Commit: fc13353e10b443101b7304c5f90d70a06e20e589
      https://github.com/llvm/llvm-project/commit/fc13353e10b443101b7304c5f90d70a06e20e589
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
    M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir

  Log Message:
  -----------
  Revert "[RISCV] Separate doLocalPostpass into new pass and move to post vector regalloc (#88295)"

Seems to cause an address sanitizer failure on one of the buildbots related
to live intervals.


  Commit: cd3e71fb7a5fed9a7e5ee54a2f956ce33b90b90c
      https://github.com/llvm/llvm-project/commit/cd3e71fb7a5fed9a7e5ee54a2f956ce33b90b90c
  Author: Mike Rice <michael.p.rice at intel.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [NFC][clang][analyzer] Initialize pointer field in StreamOperationEvaluator (#89837)

Add an initializer for StreamSym, which is a pointer. The pointers in
this class are set in the Init function, but all should be initialized
in the constructor to avoid confusion and static verifier hits.


  Commit: 3abcd5f282fd17be679fa1775154672feead4ead
      https://github.com/llvm/llvm-project/commit/3abcd5f282fd17be679fa1775154672feead4ead
  Author: jeanPerier <jperier at nvidia.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
    A flang/test/Lower/OpenMP/function-filtering-3.f90

  Log Message:
  -----------
  [flang][openmp] fix OMPFunctionFiltering pass after #87796 (#89776)

The pass assumed that all fun.func symbol usages could be safely
replaced by undef, that is not true after #87796 that added a back link
from internal procedure back to the parent procedure. This caused the
internal procedures to be erased and then processed (segfault).

Also set visibility of such internal procedures so that MLIR do not remove them before
the target function is generated for the target region.


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

  Changed paths:
    M llvm/lib/TargetParser/RISCVISAInfo.cpp

  Log Message:
  -----------
  [RISCV] Sort the ImpliedExts tables in RISCVISAInfo.cpp alphabetically. NFC


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

  Changed paths:
    M libcxx/include/__numeric/saturation_arithmetic.h

  Log Message:
  -----------
  [libc++] Makes saturation functions privately available. (#89503)

These functions are useful in the implementation of the time zone
database. So expose them with private names.

The functions could be exposed before C++ 20, but since libc++ is mostly
C++ 17 complete it seems less useful to allow earlier.

---------

Co-authored-by: Hristo Hristov <zingam at outlook.com>


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

  Changed paths:
    M flang/include/flang/Lower/Allocatable.h
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/OpenACC/acc-declare.f90

  Log Message:
  -----------
  [flang][cuda] Use fir.cuda_deallocate for automatic deallocation (#89662)

Automatic deallocation of allocatable that are cuda device variable must
use the fir.cuda_deallocate operation. This patch update the automatic
deallocation code generation to use this operation when the variable is
a cuda variable.

This patch has also the side effect to correctly call
`attachDeclarePostDeallocAction` for OpenACC declare variable on
automatic deallocation as well. Update the code in
`attachDeclarePostDeallocAction` so we do not attach on fir.result but
on the correct last op.


  Commit: d3f6a88a1fb36f94c71940514e576821c6cc3ade
      https://github.com/llvm/llvm-project/commit/d3f6a88a1fb36f94c71940514e576821c6cc3ade
  Author: Sander de Smalen <sander.desmalen at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.h
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll

  Log Message:
  -----------
  [AArch64] Unify lowering logic for fixed-length vectors. (#89393)

In preparation of decoupling codegen for SME from SVE, this patch does a
bit of cleanup to unify the logic around calling
'addTypeForFixedLengthSVE'.

We only want to call this function when:
* We have access to both SVE and NEON, but we prefer to use SVE.
* We have access to SVE, but there is no access to NEON.

Inside 'addTypeForFixedLengthSVE', we normally use Custom lowering for
all operations so they can be converted to/from scalable vector
operations.

However, there are some exceptions:

* For 64/128bit vector loads/stores we prefer the AdvSIMD LDR/STR
D/Q-reg instructions, since these are available in Streaming-SVE mode.

* For some operations like gather/scatter, we can only use SVE if the
full set of SVE instructions is available (as opposed to the
streaming[-compatible] subset). Otherwise, these operations need to
expand (scalarise)


  Commit: b10e4b82e624af870c2a03ce0c5515148136e287
      https://github.com/llvm/llvm-project/commit/b10e4b82e624af870c2a03ce0c5515148136e287
  Author: Usman Nadeem <mnadeem at quicinc.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/test/Transforms/GVN/condprop.ll
    M llvm/unittests/Analysis/LoadsTest.cpp

  Log Message:
  -----------
  [GVN] Restrict equality propagation for pointers (#82458)

This patch does the following:

Adds the following functions:
- replaceDominatedUsesWithIf() that takes a callback.

- canReplacePointersIfEqual(...) returns true if the underlying object
is the same, and for null and const dereferencable pointer replacements.

- canReplacePointersIfEqualInUse(...) returns true for the above as well
as if the use is in icmp/ptrtoint or phi/selects feeding into them.

Updates GVN using the functions above so that the pointer replacements
are only made using the above API.

https://reviews.llvm.org/D143129


  Commit: d609029d6c9aae84b52238f39c35200316bdbb93
      https://github.com/llvm/llvm-project/commit/d609029d6c9aae84b52238f39c35200316bdbb93
  Author: Jan Svoboda <jan_svoboda at apple.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    A clang/test/Modules/prune-non-affecting-module-map-files-textual.c

  Log Message:
  -----------
  [clang][modules] Allow module maps with textual headers to be non-affecting (#89441)

When writing out a PCM, we skip serializing headers' `HeaderFileInfo`
struct whenever this condition evaluates to `true`:

```c++
!HFI || (HFI->isModuleHeader && !HFI->isCompilingModuleHeader)
```

However, when Clang parses a module map file, each textual header gets a
`HFI` with `isModuleHeader=false`, `isTextualModuleHeader=true` and
`isCompilingModuleHeader=false`. This means the condition evaluates to
`false` even if the header was never included and the module map did not
affect the compilation. Each PCM file that happened to parse such module
map then contains a copy of the `HeaderFileInfo` struct for all textual
headers, and considers the containing module map affecting.

This patch makes it so that we skip headers that have not been included,
essentially removing the virality of textual headers when it comes to
PCM serialization.


  Commit: 84bc21f9101730af611a0175d89ae2056d5f41a7
      https://github.com/llvm/llvm-project/commit/84bc21f9101730af611a0175d89ae2056d5f41a7
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/unittests/CMakeLists.txt
    A mlir/unittests/Tools/CMakeLists.txt
    A mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
    A mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [mlir-lsp] Add transport unit tests (#89855)

Add unit tests for some aspects of the JSON transport and message
handler. These will be expanded in future patches as behavior is
modified.


  Commit: 12d47247e5046b959af180e12f648c54e2c5e863
      https://github.com/llvm/llvm-project/commit/12d47247e5046b959af180e12f648c54e2c5e863
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h

  Log Message:
  -----------
  [RISCV][NFC] Move RISCVMaskedPseudoTable to RISCVInstrInfo


  Commit: cdc3931f085b6b57da997b1d8c88be49a06c9f45
      https://github.com/llvm/llvm-project/commit/cdc3931f085b6b57da997b1d8c88be49a06c9f45
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h

  Log Message:
  -----------
  [RISCV][NFC] Include RISCVVInversePseudosTable in RISCVMCTargetDesc


  Commit: 80f510bbc9561324fc13bac22aad2e3ef47a59c5
      https://github.com/llvm/llvm-project/commit/80f510bbc9561324fc13bac22aad2e3ef47a59c5
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td

  Log Message:
  -----------
  [RISCV] Use lookup tables to find CVTFOpc


  Commit: af82d01fbbce7808605f3a8b22dd1ca7fdec7886
      https://github.com/llvm/llvm-project/commit/af82d01fbbce7808605f3a8b22dd1ca7fdec7886
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
    M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir

  Log Message:
  -----------
  Reapply "[RISCV] Separate doLocalPostpass into new pass and move to post vector regalloc (#88295)"

The original commit was calling shrinkToUses on an interval for a virtual
register whose def was erased. This fixes it by calling shrinkToUses first
and removing the interval if we erase the old VL def.


  Commit: 286bd42a7a799e3d9035c09bf0d64cb1a1eef682
      https://github.com/llvm/llvm-project/commit/286bd42a7a799e3d9035c09bf0d64cb1a1eef682
  Author: Jorn Tuyls <jtuyls at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
    M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
    M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
    M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/SCF/Transforms/ForallToFor.cpp
    A mlir/test/Dialect/SCF/forall-to-for.mlir

  Log Message:
  -----------
  [mlir] Extract forall_to_for logic into reusable function and add pass (#89636)

This PR extracts the existing `scf.forall` to `scf.for` conversion logic
inside a transform op (https://github.com/llvm/llvm-project/pull/65474)
into a standalone function which can be used in other transformations
and adds a `scf-forall-to-for` pass.


  Commit: 8350d9c23d76fb95f42674a1563cbe8c32582dd5
      https://github.com/llvm/llvm-project/commit/8350d9c23d76fb95f42674a1563cbe8c32582dd5
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/test/MC/RISCV/rv32dc-valid.s
    M llvm/test/MC/RISCV/rv32fc-valid.s
    M llvm/test/MC/RISCV/rv64dc-valid.s

  Log Message:
  -----------
  [RISCV] Sync RISCVFeatures.td implies list with RISCVISAInfo.cpp.

This makes Zcf imply F and Zcd imply D in RISCVFeatures.td. They
were already implied in RISCISAInfo.cpp.

Some test RUN lines had to be removed because they were testing
that Zcf without F or Zcd without D would reject some instructions.


  Commit: a45eb628779562fac72366f594fbcdc5607b4f8d
      https://github.com/llvm/llvm-project/commit/a45eb628779562fac72366f594fbcdc5607b4f8d
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll

  Log Message:
  -----------
  AtomicExpand: Fix dropping a syncscope when bitcasting atomicrmw


  Commit: fd9273593390c4e5004bba27eeeea60e44175dcf
      https://github.com/llvm/llvm-project/commit/fd9273593390c4e5004bba27eeeea60e44175dcf
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/docs/Tutorials/UnderstandingTheIRStructure.md

  Log Message:
  -----------
  [MLIR][Doc] Fix NamedAttribute API in code sample (NFC)


  Commit: 744d469500d209b7bf548d81f607d61a156db2e6
      https://github.com/llvm/llvm-project/commit/744d469500d209b7bf548d81f607d61a156db2e6
  Author: Thurston Dang <thurston at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/fixed-shadow.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll

  Log Message:
  -----------
  [hwasan] Optimize outlined memaccess for fixed shadow on Aarch64 (#88544)

The HWASan transform currently always uses x20 to pass the shadow base to hwasan_check_memaccess_shortgranules, even if the shadow base is a constant known at compile time (e.g., for Fuchsia, KHWASan, or via -hwasan-mapping-offset).  This patch uses the fixed shadow variant of the hwasan_check_memaccess_shortgranules intrinsic (introduced in https://github.com/llvm/llvm-project/commit/365bddf634993d5ea357e9715d8aacd7ee40c4b5), allowing the shadow base to be materialized inside the memaccess callee.

We currently only support this optimization for AArch64; it is a no-op on other platforms due to lack of support for lowering the intrinsic.

Note: when a binary is instrumented with -hwasan-mapping-offset, it is necessary to specify HWASAN_OPTIONS=fixed_shadow_base=... (see ea991a11b2a3d2bfa545adbefb71cd17e8970a43) at runtime to ensure the shadow is mapped appropriately.


  Commit: 69a3976e427d95eca3670cac963088c76612c9db
      https://github.com/llvm/llvm-project/commit/69a3976e427d95eca3670cac963088c76612c9db
  Author: Scott Linder <Scott.Linder at amd.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst

  Log Message:
  -----------
  [AMDGPU][NFC] Fix typo in HeterogeneousDWARF doc


  Commit: ff57f40673f0db2c1a867e5697d5407bc9f39a5e
      https://github.com/llvm/llvm-project/commit/ff57f40673f0db2c1a867e5697d5407bc9f39a5e
  Author: Oleksandr "Alex" Zinenko <zinenko at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/python/mlir/dialects/transform/interpreter/__init__.py
    M mlir/test/python/dialects/transform_interpreter.py

  Log Message:
  -----------
  [mlir][py] fix option passing in transform interpreter (#89922)

There was a typo in dispatch trampoline.


  Commit: b8f3024a315074e0f880542c33cb89681eebc5a3
      https://github.com/llvm/llvm-project/commit/b8f3024a315074e0f880542c33cb89681eebc5a3
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
    M clang/test/Headers/wasm.c
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/test/Transforms/InstCombine/bit_ceil.ll
    M llvm/test/Transforms/InstCombine/bit_floor.ll
    M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll
    M llvm/test/Transforms/InstCombine/ctlz-cttz-bitreverse.ll
    M llvm/test/Transforms/InstCombine/ctlz-cttz-shifts.ll
    M llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll
    M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
    M llvm/test/Transforms/InstCombine/ctpop-pow2.ll
    M llvm/test/Transforms/InstCombine/ctpop.ll
    M llvm/test/Transforms/InstCombine/cttz-abs.ll
    M llvm/test/Transforms/InstCombine/cttz-negative.ll
    M llvm/test/Transforms/InstCombine/cttz.ll
    M llvm/test/Transforms/InstCombine/ffs-1.ll
    M llvm/test/Transforms/InstCombine/ffs-i16.ll
    M llvm/test/Transforms/InstCombine/fls-i16.ll
    M llvm/test/Transforms/InstCombine/fls.ll
    M llvm/test/Transforms/InstCombine/fold-ctpop-of-not.ll
    M llvm/test/Transforms/InstCombine/fold-log2-ceil-idiom.ll
    M llvm/test/Transforms/InstCombine/freeze-integer-intrinsics.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll
    M llvm/test/Transforms/InstCombine/intrinsics.ll
    M llvm/test/Transforms/InstCombine/ispow2.ll
    M llvm/test/Transforms/InstCombine/known-non-zero.ll
    M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
    M llvm/test/Transforms/InstCombine/minmax-fold.ll
    M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/reduction-xor-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
    M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/sext.ll
    M llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/sub-xor.ll
    M llvm/test/Transforms/InstCombine/xor.ll
    M llvm/test/Transforms/InstCombine/zext-ctlz-trunc-to-ctlz-add.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
    M llvm/test/Transforms/PhaseOrdering/X86/loop-idiom-vs-indvars.ll
    M llvm/test/Transforms/PhaseOrdering/lower-table-based-cttz.ll

  Log Message:
  -----------
  [InstCombine] Swap out range metadata to range attribute for cttz/ctlz/ctpop (#88776)

Since all optimizations that use range metadata now also handle range attribute, this patch replaces writes of
range metadata for call instructions to range attributes.


  Commit: 2e770edd8ce13f48402f1d93e5fb982d8a2ebe64
      https://github.com/llvm/llvm-project/commit/2e770edd8ce13f48402f1d93e5fb982d8a2ebe64
  Author: Sebastian Poeplau <poeplau at adacore.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/tools/c-index-test/c-index-test.c
    M clang/tools/libclang/CXSourceLocation.cpp
    M clang/unittests/libclang/LibclangTest.cpp

  Log Message:
  -----------
  [libclang] Compute the right spelling location (#72400)

Locations inside macro expansions have different spelling/expansion
locations. Apply a FIXME to make the libclang function
clang_getSpellingLocation return the right spelling location, and adapt
the testsuite driver code to use the file location rather than the
spelling location to compute source ranges.

Co-authored-by: Matthieu Eyraud <eyraud at adacore.com>


  Commit: 57f0284efc74dfad7a3ff20e2cf1f74a70a08824
      https://github.com/llvm/llvm-project/commit/57f0284efc74dfad7a3ff20e2cf1f74a70a08824
  Author: Keith Smiley <keithbsmiley at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [bazel] Mark linux LLDB plugin as linux only (#89961)

Otherwise if you bazel build //... on macOS this fails to build


  Commit: 3c2e614acd76495fda74f945dddd8bb89ae0f41f
      https://github.com/llvm/llvm-project/commit/3c2e614acd76495fda74f945dddd8bb89ae0f41f
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h

  Log Message:
  -----------
  [llvm][AArch64] Add missing default cases (#89930)

Addresses issue #89709.

Functions getAUTOpcodeForKey() and getPACOpcodeForKey() contain switch
statements without default cases. Resolved by adding a call to
llvm_unreachable() at the end of each function.

---------

Signed-off-by: Troy-Butler <squintik at outlook.com>
Co-authored-by: Troy-Butler <squintik at outlook.com>


  Commit: 0e57c3eb0dbfe2929ab899b2409807402acfc38e
      https://github.com/llvm/llvm-project/commit/0e57c3eb0dbfe2929ab899b2409807402acfc38e
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/test/Driver/fast-math.c

  Log Message:
  -----------
  Clean up the checks in the fast-math driver test

This change replaces most of the cc1 option checks in the driver test for fast-math option handling. These changes rely on the assumption that the order in which the driver emits floating-point options is stable.
  
The changes also rely on the assumption that the order of prefixes listed on the FileCheck command line is unimportant and that all prefixed checks will be combined and checked as if they were a single prefix. At the time of the change, that worked.


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

  Changed paths:
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/std_format_spec_string_unicode_escape.bench.cpp

  Log Message:
  -----------
  [libc++][format] Adds an escaped output benchmark. (#88020)

This is a preparation to measure the performance impact of
- P2713R1 Escaping improvements in std::format

and its performance improving followup patch.


  Commit: 007e859258540cef0dcb1f0a1bdd9e74111f9ba0
      https://github.com/llvm/llvm-project/commit/007e859258540cef0dcb1f0a1bdd9e74111f9ba0
  Author: Abhinav Garg <39309352+abhigargrepo at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/AMDGPU/mode-register-fpconstrain.ll

  Log Message:
  -----------
  AMDGPU: Pre-commit test to verify mode change in fp constrained operations (#88858)

This test will check the mode register in case of constrained floating
point operations.

---------

Co-authored-by: Matt Arsenault <Matthew.Arsenault at amd.com>


  Commit: d421a6c9ef1dd286832fce3b4f955d4ba99ce192
      https://github.com/llvm/llvm-project/commit/d421a6c9ef1dd286832fce3b4f955d4ba99ce192
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [flang][driver] Remove `flang -help` tests (#89504)

These tests were introduced when the Flang driver was originally
incepted. Back then, `flang-new` only supported a handful of basic
options (e.g. `-v`, `-help`, `-E`) and those `-help` tests were used to
guard against Clang options "leaking" into `flang-new -help`.

With the introduction of the concept of "visibility" (see
https://reviews.llvm.org/D157837 and https://reviews.llvm.org/D157151),
these tests are effectively redundant. Also, with the number of flags
growing, these tests are getting rather brittle.


  Commit: 2575cd8a900283368e451cdbc27a2e4db0722af9
      https://github.com/llvm/llvm-project/commit/2575cd8a900283368e451cdbc27a2e4db0722af9
  Author: Andy Kaylor <andrew.kaylor at intel.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/docs/GettingInvolved.rst

  Log Message:
  -----------
  Add ics link for Floating Point WG (#82545)

This adds a link to an ics file for the LLVM Floating Point WG line in
the Getting Involved page.


  Commit: 57794835279669358ff2828d659eb7133fc0e4bf
      https://github.com/llvm/llvm-project/commit/57794835279669358ff2828d659eb7133fc0e4bf
  Author: Alex Langford <alangford at apple.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/ThreadedCommunication.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Target/TargetList.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Utility/Broadcaster.h
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/API/SBCommunication.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBEvent.cpp
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/ThreadedCommunication.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/Broadcaster.cpp

  Log Message:
  -----------
  [lldb][nfc] Move broadcaster class strings away from ConstString (#89690)

These are hardcoded strings that are already present in the data section
of the binary, no need to immediately place them in the ConstString
StringPools. Lots of code still calls `GetBroadcasterClass` and places
the return value into a ConstString. Changing that would be a good
follow-up.

Additionally, calls to these functions are still wrapped in ConstStrings
at the SBAPI layer. This is because we must guarantee the lifetime of
all strings handed out publicly.


  Commit: 37e13d4924841bd84edb8c67c667d6d2a6c2bc63
      https://github.com/llvm/llvm-project/commit/37e13d4924841bd84edb8c67c667d6d2a6c2bc63
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [mlir-lsp] Log invalid notification params (#89856)

When the `lsp::MessageHandler` processes a request with invalid params
(that is, the "params" JSON sent along with the request does not match
the shape expected by the message handler for the given method), it
replies by sending an error response to the client.

On the other hand, the language server protocol specifies that
notifications must not result in responses. As a result, when the
JSON params accompanying a notification cannot be parsed, no error is
sent back; there is no indication that an error has occurred at all.

This patch adds an error log for that case. Although clients cannot
parse error logs, this at least provides an indication that something
went wrong on the language server side.


  Commit: 791161516f48f41ae90f1231fdfc7374f43b5a9f
      https://github.com/llvm/llvm-project/commit/791161516f48f41ae90f1231fdfc7374f43b5a9f
  Author: Frederic Cambus <fred at statdns.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M compiler-rt/lib/fuzzer/build.sh

  Log Message:
  -----------
  [compiler-rt] Update libFuzzer build script to use C++17. (#89604)

libFuzzer uses std::clamp which was introduced in C++17.


  Commit: 03bb10dfb3725ec2c31fb66deede96d066f2b49a
      https://github.com/llvm/llvm-project/commit/03bb10dfb3725ec2c31fb66deede96d066f2b49a
  Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/XeGPU/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir

  Log Message:
  -----------
  [MLIR][XeGPU] Add dpas, atomic, and named barrier ops (#88973)

---------

Co-authored-by: Mehdi Amini <joker.eph at gmail.com>
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>


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

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

  Log Message:
  -----------
  [SelectionDAG] Pass SDVTList instead of VTs to *SDNode constructors. NFC (#89880)

All of these constructors were creating a SDVTList using an EVT* created
by SDNode::getValueTypeList. This EVT needs to live at least as long as
the SDNode that uses it. To do this, SDNode::getValueTypeList contains
several function scoped static variables that hold the memory for the
EVT. So the EVT lives until global destructors run.

This is problematic since an EVT contains a Type* that points to memory
allocated by an LLVMContext. If multiple LLVMContexts are used that
don't have overlapping lifetimes, we can end up with stale or or
incorrect pointers cached in the EVTs owned by SDNode::getValueTypeList.

I want to try to make the EVTs be owned by SelectionDAG instead. This is
already done for SDVTLists with more than 1 VT. The single value case is
a very old optimizaton that should be re-evaluated. In order to do this,
I need the SDVTLists to be created by SelectionDAG rather than by the
SDNode itself.

This patch doesn't change how the allocation is done yet. It just moves
the code around.

This patch does reduce the number of calls to getVTList since we now
share with the call needed for the SDNode FoldingSet.

Part of fixing #88233.


  Commit: 712d7dba4f27a1990241e02435d765a5a3808aea
      https://github.com/llvm/llvm-project/commit/712d7dba4f27a1990241e02435d765a5a3808aea
  Author: Bill Wendling <5993918+bwendling at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [Clang] Improve testing for the flexible array member (#89462)

Testing for the name of the flexible array member isn't as robust as
testing the FieldDecl pointers.


  Commit: f3f6f22dfcced21116710a477c78e0739c942139
      https://github.com/llvm/llvm-project/commit/f3f6f22dfcced21116710a477c78e0739c942139
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/lib/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [mlir-lsp] Initialize Reply::method member  (#89857)

When debug level logging is enabled (by adding a call to
`Logger::setLogLevel(Logger::Level::Debug)`), the
`TransportInputTest.RequestWithInvalidParams` unit test logs:

```
[18:35:00.565] --> reply:(92)
```

The format string for this log statement is `"--> reply:{0}({1})"`,
where `{0}` is the original request's method name (that is, the method
name of the request being replied to), and `{1}` is the request ID.
However, because the `Reply` class never initializes its `method`
member, `{0}` is always empty. Initializing it results in the (nicer)
log error below:

```
I[18:35:00.565] --> reply:invalid-params-request(92)
```

Because this is only ever logged for now, its not possible to add a test
case for this. Future patches will rely on `method` being initialized,
however, and will add test cases for this path.


  Commit: 63b6efeebf3003b075f384742ade189d2ed6b429
      https://github.com/llvm/llvm-project/commit/63b6efeebf3003b075f384742ade189d2ed6b429
  Author: Arthur Eubanks <aeubanks at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp

  Log Message:
  -----------
  [EntryExitInstrumenter] Don't invalidate analyses if no change was made


  Commit: 11bd19a7a25b291af61b6c06cb249b567c116d0e
      https://github.com/llvm/llvm-project/commit/11bd19a7a25b291af61b6c06cb249b567c116d0e
  Author: aniplcc <aniplccode at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M libc/include/assert.h.def
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/assert-macros.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/assert_test.cpp

  Log Message:
  -----------
  [libc][assert] define __STDC_VERSION_ASSERT_H__ (#87592)

Fixes #87561


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

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

  Log Message:
  -----------
  [SelectionDAG] Move GlobalAddressSDNode and AddrSpaceCastSDNode constructors into header. NFC

These constructors are no more complicated than any of the other
*SDNode constructors that are already in the header.


  Commit: 13188bcd9f748dee13cf848340833f6eec2d90d4
      https://github.com/llvm/llvm-project/commit/13188bcd9f748dee13cf848340833f6eec2d90d4
  Author: AtariDreams <gfunni234 at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll

  Log Message:
  -----------
  [GlobalISel]: Simplify udiv lowering by determining known zeros (#89678)


  Commit: 96c45a7fa12619c3abd6b81effe4c80f0916b78b
      https://github.com/llvm/llvm-project/commit/96c45a7fa12619c3abd6b81effe4c80f0916b78b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

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

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

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

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

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

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


  Commit: 7b06ec073d0bd8abad1274d12900a849bd3829c5
      https://github.com/llvm/llvm-project/commit/7b06ec073d0bd8abad1274d12900a849bd3829c5
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M compiler-rt/test/CMakeLists.txt
    A compiler-rt/test/ctx_profile/CMakeLists.txt
    A compiler-rt/test/ctx_profile/Unit/lit.site.cfg.py.in
    M compiler-rt/test/memprof/CMakeLists.txt
    A compiler-rt/test/memprof/Unit/lit.site.cfg.py.in

  Log Message:
  -----------
  [compiler-rt] Make sure `memprof` and `ctx_profile` unittests run (#89814)

They weren't run before as part of `check-compiler-rt`.

Verified by adding a `EXPECT_TRUE(false)` in both and observing test failure.


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

  Changed paths:
    M llvm/lib/Target/M68k/M68kISelLowering.cpp

  Log Message:
  -----------
  [M68k] Fix killRegister use


  Commit: ea3eeb483fbbe09b9a66ed4c032cc7168f0265dd
      https://github.com/llvm/llvm-project/commit/ea3eeb483fbbe09b9a66ed4c032cc7168f0265dd
  Author: Peiming Liu <peiming at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    A mlir/test/Dialect/SparseTensor/fuse_sparse_concat_with_extract_slice.mlir

  Log Message:
  -----------
  [mlir][sparse] fuse concat and extract_slice op if possible. (#89825)


  Commit: 418e4b0c4ff2bc22dda318fce0293002a22fa76f
      https://github.com/llvm/llvm-project/commit/418e4b0c4ff2bc22dda318fce0293002a22fa76f
  Author: Maksim Panchenko <maks at fb.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/X86/indirect-goto-pie.test
    M bolt/test/X86/shrinkwrapping-do-not-pessimize.s
    R bolt/test/runtime/X86/Inputs/indirect_goto.c
    R bolt/test/runtime/X86/indirect-goto-pie.test

  Log Message:
  -----------
  [BOLT] Detect incorrect update of dynamic relocations (#89681)

When we rewrite dynamic relocations, there could be cases where they
reference code locations inside functions that were rewritten. When this
happens, we need to precisely map old address to a new one. Until we can
reliably perform the mapping, detect such condition and issue an error
refusing to write a broken binary.


  Commit: 82a8c1cf35e6794d4d1e56797d58abbed0112ad9
      https://github.com/llvm/llvm-project/commit/82a8c1cf35e6794d4d1e56797d58abbed0112ad9
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/include/flang/Runtime/numeric.h
    M flang/lib/Evaluate/type.cpp
    M flang/runtime/numeric.cpp

  Log Message:
  -----------
  [flang][runtime] Support SELECTED_CHAR_KIND, SELECTED_LOGICAL_KIND (#89691)

Add code to the runtime support library for the SELECTED_CHAR_KIND and
SELECTED_LOGICAL_KIND intrinsic functions. These are usually used with
constant folding in constant expressions, but the are available for use
with dynamic arguments as well.

Lowering support remains to be implemented.


  Commit: 186952f0176fda0f73989c2c9335faf26632e112
      https://github.com/llvm/llvm-project/commit/186952f0176fda0f73989c2c9335faf26632e112
  Author: Chao Chen <116223022+chencha3 at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/XeGPU/IR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR][XeGPU] Fix Bot failure for #88973 (#89991)


  Commit: 69bde04230d45f9bb54cc10af1a6d19cf565dd9e
      https://github.com/llvm/llvm-project/commit/69bde04230d45f9bb54cc10af1a6d19cf565dd9e
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  split XeGPU enums into a separate build rule (#89997)

Fixes the bazel build. Note the addition of the Arith dependency created
duplicate arith enum declarations in the two dialects, so it had to be
spit into its own build rule. This matches what the cmake build does for
this dialect.


  Commit: 29c98e59cd84ed5c8dde27876779d6b8830ccac5
      https://github.com/llvm/llvm-project/commit/29c98e59cd84ed5c8dde27876779d6b8830ccac5
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
    M llvm/test/Transforms/Inline/prof-update-sample-alwaysinline.ll
    M llvm/test/Transforms/Inline/prof-update-sample.ll

  Log Message:
  -----------
  Revert "[Inline][Cloning] Defer simplification after phi-nodes resolution" #87963

Reopens #87534.

Breaks multiple bots:
https://lab.llvm.org/buildbot/#/builders/168/builds/20028
https://lab.llvm.org/buildbot/#/builders/74/builds/27773

And reproducer in a61f9fe31750cee65c726fb51f1b14e31e177258.

This reverts commit a61f9fe31750cee65c726fb51f1b14e31e177258.


  Commit: c3def59d0f28edf32eb43236db88f21321f36dca
      https://github.com/llvm/llvm-project/commit/c3def59d0f28edf32eb43236db88f21321f36dca
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [flang] Fix bogus error about duplicate binding names (#89786)

Don't call SetBindNameOn() from DeclareUnknownEntity() unless there is
an explicit BIND(C) attribute.

Fixes https://github.com/llvm/llvm-project/issues/89439 and
https://github.com/llvm/llvm-project/issues/89558.


  Commit: 1b232fa0e9864dde230db8da82a906c588baf792
      https://github.com/llvm/llvm-project/commit/1b232fa0e9864dde230db8da82a906c588baf792
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/cmake/modules/CMakeLists.txt
    M mlir/cmake/modules/MLIRConfig.cmake.in
    M mlir/include/mlir/TableGen/CodeGenHelpers.h
    M mlir/lib/TableGen/CodeGenHelpers.cpp
    A mlir/test/mlir-tblgen/shard-op-defs.td
    A mlir/tools/mlir-src-sharder/CMakeLists.txt
    A mlir/tools/mlir-src-sharder/mlir-src-sharder.cpp
    M mlir/tools/mlir-tblgen/OpDefinitionsGen.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.cpp
    M mlir/tools/mlir-tblgen/OpGenHelpers.h
    M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
    M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl

  Log Message:
  -----------
  [mlir][ods] Allow sharding of op definitions (#89423)

Adds an option to `mlir-tblgen -gen-op-defs` `op-shard-count=N` that
divides the
op class definitions and op list into N segments, e.g.

```
// mlir-tblgen -gen-op-defs -op-shard-count=2

void FooDialect::initialize() {
  addOperations<
  >();
  addOperations<
  >();
}

```

When split across multiple source files, this can help significantly
improve
dialect compile time for dialects with a large opset.


  Commit: ae22ac95354629baca45d979038d73a4ce40d081
      https://github.com/llvm/llvm-project/commit/ae22ac95354629baca45d979038d73a4ce40d081
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/test/lib/Dialect/Test/CMakeLists.txt
    M mlir/test/lib/Dialect/Test/TestDialect.cpp
    M mlir/test/lib/Dialect/Test/TestOps.cpp
    M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel

  Log Message:
  -----------
  [mlir][test] Shard the Test Dialect (NFC) (#89628)

This PR uses the new op sharding mechanism in tablegen to shard the test
dialect's op definitions. This breaks the definition of ops into
multiple source files, speeding up compile time of the test dialect
dramatically. This improves developer cycle times when iterating on the
test dialect.


  Commit: 83d06162cca4f35a68e9c64032ba348ac3e27647
      https://github.com/llvm/llvm-project/commit/83d06162cca4f35a68e9c64032ba348ac3e27647
  Author: Jeff Niu <jeff at modular.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/docs/DefiningDialects/Operations.md

  Log Message:
  -----------
  [mlir][ods] Add documentation on how to use sharded op definitions (NFC) (#89664)

This adds explanations and instructions on how to set up a dialect for
sharded op definitions to the MLIR documentation.


  Commit: 0e1bb1d8352ce21808523357d315b73da0d53560
      https://github.com/llvm/llvm-project/commit/0e1bb1d8352ce21808523357d315b73da0d53560
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/expression.cpp
    A flang/test/Semantics/arg-convert.f90

  Log Message:
  -----------
  [flang] Don't convert actual arguments when interface is implicit (#89795)

When the interface of a procedure is implicit at the point of call,
don't perform actual argument type conversion to the types of the dummy
arguments. This was inadvertently taking place in a case where the
procedure has an implicit interface but was also defined in the same
source file, so that its characteristics were known.


  Commit: 68a27989d0c8d58a64dcbb1c78b7002c68a723b2
      https://github.com/llvm/llvm-project/commit/68a27989d0c8d58a64dcbb1c78b7002c68a723b2
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/include/flang/Parser/parse-tree.h
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Semantics/program-tree.cpp
    M flang/lib/Semantics/program-tree.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/test/Parser/unrecognized-dir.f90

  Log Message:
  -----------
  [flang] Accept and ignore compiler directives between internal subpro… (#89810)

…grams

The parser only recognizes compiler directives that appear within
internal / module subprograms, not those that might appear between them.
Extend to allow them between subprograms as well.


  Commit: 6fd475fe2e7b15a6f6344430d02c454cf8928a35
      https://github.com/llvm/llvm-project/commit/6fd475fe2e7b15a6f6344430d02c454cf8928a35
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/runtime/edit-output.cpp
    M flang/unittests/Runtime/RuntimeCrashTest.cpp

  Log Message:
  -----------
  [flang][runtime] 'A' output editing for LOGICAL (#89817)

We support 'A' output editing for INTEGER and REAL as an extension; it
turns out to be used as well for LOGICAL in application code.


  Commit: fa465b479b09b638e95c8b92ecf358c38910f8b0
      https://github.com/llvm/llvm-project/commit/fa465b479b09b638e95c8b92ecf358c38910f8b0
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/runtime/edit-output.cpp
    M flang/unittests/Runtime/NumericalFormatTest.cpp

  Log Message:
  -----------
  [flang][runtime] Improve confusing list-directed REAL(2) output (#89846)

List-directed output editing of REAL values will minimize the number of
digits that are emitted by calculating a decimal value that, if read
back in to a REAL variable of the same kind, would compare equal.

This behavior is causing some confusion when applied to list-directed
output of large REAL(2) values. Specifically, the value HUGE(0._2)
(which is 0x7bff in hex) is exactly 65504, but is edited to 65500. by
list-directed output, which selects F0 editing, minimizes the value to
6.55e4, and then formats it without the exponent.

This small patch changes that behavior for cases where the output of
digit-minimized F editing has no digits after the decimal point and
zeroes need to be emitted before it due to the decimal exponent. Digit
minimization is disabled in this case and the exact digits are emitted
instead.


  Commit: 8b512e525d3adc56da626a6e4f16c3b2f602aade
      https://github.com/llvm/llvm-project/commit/8b512e525d3adc56da626a6e4f16c3b2f602aade
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M flang/docs/Preprocessing.md
    M flang/include/flang/Parser/preprocessor.h
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    A flang/test/Preprocessing/backslash-contin1.F90

  Log Message:
  -----------
  [flang][preprocessor] Support \ as line continuation (#89970)

When prescanning a Fortran source file with preprocessing enabled in
free source form, interpret a line-ending backslash as a source line
continuation marker as a C preprocessor would. This usage isn't
completely portable, but it is supported by GNU Fortran and appears in
the source for FPM package manager.


  Commit: 14339aba9ca3299f0f76999e0e8f42a7e1eacb10
      https://github.com/llvm/llvm-project/commit/14339aba9ca3299f0f76999e0e8f42a7e1eacb10
  Author: Peter Klausler <35819229+klausler at users.noreply.github.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [flang] Catch error on REPEAT(x,NCOPIES=array) (#89993)

The NCOPIES= argument to the intrinsic function REPEAT must be a scalar
integer.

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


  Commit: 9961311216f7b22be4fc1221b70ebd1d63bb9843
      https://github.com/llvm/llvm-project/commit/9961311216f7b22be4fc1221b70ebd1d63bb9843
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

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

Reverts llvm/llvm-project#89693

This broke the premerge bot (bolt tests failing)


  Commit: 49586eacd306c70f81986644921e12e55dd7422f
      https://github.com/llvm/llvm-project/commit/49586eacd306c70f81986644921e12e55dd7422f
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  remove duplicate td_library import (#90003)

Reverts bad part of one line from
https://github.com/llvm/llvm-project/commit/ae22ac95354629baca45d979038d73a4ce40d081#diff-9b538219c38ed73e193087a031284f10c62de8692ccc0efbe8c670fe9bfe868f


  Commit: a10d67f9fb559d0c35a12b2d26974636bbf642c0
      https://github.com/llvm/llvm-project/commit/a10d67f9fb559d0c35a12b2d26974636bbf642c0
  Author: Yinying Li <yinyingli at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/test/CAPI/sparse_tensor.c
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/python/dialects/sparse_tensor/dialect.py

  Log Message:
  -----------
  [mlir][sparse] Enable explicit and implicit value in sparse encoding (#88975)

1. Explicit value means the non-zero value in a sparse tensor. If
explicitVal is set, then all the non-zero values in the tensor have the
same explicit value. The default value Attribute() indicates that it is
not set.

2. Implicit value means the "zero" value in a sparse tensor. If
implicitVal is set, then the "zero" value in the tensor is equal to the
implicit value. For now, we only support `0` as the implicit value but
it could be extended in the future. The default value Attribute()
indicates that the implicit value is `0` (same type as the tensor
element type).

Example:

```
#CSR = #sparse_tensor.encoding<{
  map = (d0, d1) -> (d0 : dense, d1 : compressed),
  posWidth = 64,
  crdWidth = 64,
  explicitVal = 1 : i64,
  implicitVal = 0 : i64
}>
```

Note: this PR tests that implicitVal could be set to other values as
well. The following PR will add verifier and reject any value that's not
zero for implicitVal.


  Commit: 4c8ec8f8bc3fb4dda4fd36c3b2ad745bd3451970
      https://github.com/llvm/llvm-project/commit/4c8ec8f8bc3fb4dda4fd36c3b2ad745bd3451970
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/test/tools/llvm-profdata/memprof-merge-v0.test
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp

  Log Message:
  -----------
  [memprof] Reduce schema for Version2 (#89876)

Curently, the compiler only uses several fields of MemoryInfoBlock.
Serializing all fields into the indexed MemProf file simply wastes
storage.

This patch limits the schema down to four fields for Version2 by
default.  It retains the old behavior of serializing all fields via:

  llvm-profdata merge --memprof-version=2 --memprof-full-schema

This patch reduces the size of the indexed MemProf profile I have by
40% (1.6GB down to 1.0GB).


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

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

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

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

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

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

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

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


  Commit: d5308949cf884d8e4b971d51a8b4f73584c4adec
      https://github.com/llvm/llvm-project/commit/d5308949cf884d8e4b971d51a8b4f73584c4adec
  Author: Nathan Ridge <zeratul976 at hotmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/test/AST/ast-dump-recovery.cpp

  Log Message:
  -----------
  [clang][Sema] Preserve the initializer of invalid VarDecls (#88645)

Fixes https://github.com/clangd/clangd/issues/1821


  Commit: a35d7d7d124172632a9a108f76deba647f4da863
      https://github.com/llvm/llvm-project/commit/a35d7d7d124172632a9a108f76deba647f4da863
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [AArch64][SelectionDAG] Correct the shift amounts bound

Accord D152827, when the shift amounts is 4 or less, they are
cheap as a move.


  Commit: a6bdd6df23613c3ee5b3d7c31b1cf1fb78403a15
      https://github.com/llvm/llvm-project/commit/a6bdd6df23613c3ee5b3d7c31b1cf1fb78403a15
  Author: zhongyunde 00443407 <zhongyunde at huawei.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [AArch64][SelectionDAG] Lower multiplication by a constant to shl+add+shl+add

Change the costmodel to lower a = b * C where C = (1 + 2^m) * 2^n + 1 to
          add   w8, w0, w0, lsl #m
          add   w0, w0, w8, lsl #n
Note: The latency of add can vary depending on the shirt amount
      They are cheap as a move when the shift amounts is 4 or less.
Fix part of https://github.com/llvm/llvm-project/issues/89430


  Commit: 1d77eb49a4278521180146c977995bf0356f69c3
      https://github.com/llvm/llvm-project/commit/1d77eb49a4278521180146c977995bf0356f69c3
  Author: Chen Zheng <czhengsz at cn.ibm.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/PowerPC/legalize-vaarg.ll

  Log Message:
  -----------
  Revert "[PPC] [NFC] add testcase for more store forwarding"

This reverts commit 29c7d1a60c9d45e82f08cd7487178846ed5f9c6d.
The store forwarding patch https://github.com/llvm/llvm-project/pull/87465
is closed.


  Commit: 919187871d142496d53bca8732677e0811b32409
      https://github.com/llvm/llvm-project/commit/919187871d142496d53bca8732677e0811b32409
  Author: Kai Luo <lkail at cn.ibm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp

  Log Message:
  -----------
  [PowerPC] Use `SmallSetVector` to enable deterministic build (#89875)

This is to address the issue in
https://lab.llvm.org/buildbot/#/builders/54.
`SmallSetVector` interfaces as set and can be iterated in a
deterministic order.


  Commit: 1b54805dfcebe02f28e23f655c8fbf4dc610aa70
      https://github.com/llvm/llvm-project/commit/1b54805dfcebe02f28e23f655c8fbf4dc610aa70
  Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [lldb][docs] Update instructions for debugging API tests (#89979)


  Commit: d6cc8d45b3da91b8d48c59fa86b6f1dba9c3e87b
      https://github.com/llvm/llvm-project/commit/d6cc8d45b3da91b8d48c59fa86b6f1dba9c3e87b
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [buildbot] VE builders: disable ctx_profile (#89969)


  Commit: 10661ba2403f73cd2c4b76ebd177fdcf9261cbf2
      https://github.com/llvm/llvm-project/commit/10661ba2403f73cd2c4b76ebd177fdcf9261cbf2
  Author: Nathan Lanza <nathanlanza at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

  Changed paths:
    M clang/CMakeLists.txt
    M clang/include/clang/CIR/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    A clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CIR/CMakeLists.txt
    A clang/lib/CIR/Dialect/CMakeLists.txt
    A clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/lib/CIR/Dialect/IR/CMakeLists.txt

  Log Message:
  -----------
  [CIR][NFC] Add scaffolding for the CIR dialect and CIROps.td

This adds no real content, it just incrementally adds some scaffolding
necessary to enable a future patch to just add our first few ops.

Test Plan:
```
$ cmake -Sllvm -Bbuild -DCLANG_ENABLE_CIR=1 \
  -DLLVM_ENABLE_PROJECTS='clang;mlir' \
  -DCMAKE_BUILD_TYPE=Release -GNinja
$ ninja -C build check-clang
$ ninja -C build MLIRCIROpsIncGen
$ ninja -C build MLIRCIR
```

Reviewers: AaronBallman, erichkeane, bcardosolopes

Reviewed By: erichkeane, AaronBallman, bcardosolopes

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


  Commit: 090c92e01586fc515d584b1367b1b5928277c7f2
      https://github.com/llvm/llvm-project/commit/090c92e01586fc515d584b1367b1b5928277c7f2
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Rewrite/RewriteInstance.cpp
    M bolt/test/X86/cdsplit-symbol-names.s

  Log Message:
  -----------
  [BOLT] Emit synthetic FILE symbol for local cold fragments of global symbols (#89794)


  Commit: 865b73ae457bcc5fb121f8180d4cfeba57e6f2ac
      https://github.com/llvm/llvm-project/commit/865b73ae457bcc5fb121f8180d4cfeba57e6f2ac
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/shift.ll

  Log Message:
  -----------
  [InstCombine] Add multi-use tests for shift-of-shift transform (NFC)

Also drop irrelevant function attributes from tests.


  Commit: 4b10ade1a6afa1fcff5752aaebd86a1611d499d7
      https://github.com/llvm/llvm-project/commit/4b10ade1a6afa1fcff5752aaebd86a1611d499d7
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-24 (Wed, 24 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Annotate enum braces as BK_Block (#89871)

Fixes #89759.


  Commit: 873889b7fa23434876533c603e687fc70396b0ab
      https://github.com/llvm/llvm-project/commit/873889b7fa23434876533c603e687fc70396b0ab
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp

  Log Message:
  -----------
  [InstCombine] Extract logic for "emit offset and rewrite gep" (NFC)


  Commit: 7a77b763af3b6ac3218b9cf574d7d65f3196a4ec
      https://github.com/llvm/llvm-project/commit/7a77b763af3b6ac3218b9cf574d7d65f3196a4ec
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/sub.ll

  Log Message:
  -----------
  [InstCombine] Add additional multi-use test for sub of gep (NFC)

A case where still performing the fold is clearly profitable.


  Commit: fd5f06eb6d8d8b05846c8d7bd2431079ef707b37
      https://github.com/llvm/llvm-project/commit/fd5f06eb6d8d8b05846c8d7bd2431079ef707b37
  Author: Vassil Vassilev <v.g.vassilev at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/test/Interpreter/fail.cpp
    M clang/tools/clang-repl/ClangRepl.cpp

  Log Message:
  -----------
  [clang-repl] Fix the process return code if diagnostics occurred. (#89879)

Should fix the failure seen in the pre-merge infrastructure of #89804.


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

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/DeclBase.h
    A clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

  Log Message:
  -----------
  [NFC] Move DeclID from serialization/ASTBitCodes.h to AST/DeclID.h (#89873)

Previously, the DeclID is defined in serialization/ASTBitCodes.h under
clang::serialization namespace. However, actually the DeclID is not
purely used in serialization part. The DeclID is already widely used in
AST and all around the clang project via classes like `LazyPtrDecl` or
calling `ExternalASTSource::getExernalDecl()`. All such uses are via the
raw underlying type of `DeclID` as `uint32_t`. This is not pretty good.

This patch moves the DeclID class family to a new header `AST/DeclID.h`
so that the whole project can use the wrapped class `DeclID`,
`GlobalDeclID` and `LocalDeclID` instead of the raw underlying type.
This can improve the readability and the type safety.


  Commit: 42070a5c092ed420bf92ebf38229c594885e94c7
      https://github.com/llvm/llvm-project/commit/42070a5c092ed420bf92ebf38229c594885e94c7
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Avoid using DeclID directly as much as possible

This patch tries to remove all the direct use of DeclID except the real
low level reading and writing. All the use of DeclID is converted to
the use of LocalDeclID or GlobalDeclID. This is helpful to increase the
readability and type safety.


  Commit: 2c9e2e9f0b75d6b023a388564092cc852ba29bd5
      https://github.com/llvm/llvm-project/commit/2c9e2e9f0b75d6b023a388564092cc852ba29bd5
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb-zbkb.ll
    M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll

  Log Message:
  -----------
  [RISCV][ISel] Eliminate `andi rd, rs1, -1` instructions (#89976)

Inspired by https://github.com/llvm/llvm-project/pull/89966, this patch
handles the special case `binop_allwusers<and> GPR:$rs1, 0xffffffff ->
copy $rs1` to avoid creating redundant `andi rd, rs1, -1` instructions.


  Commit: 011a65353b8b4dc018541f86356f2dfa0f124f1a
      https://github.com/llvm/llvm-project/commit/011a65353b8b4dc018541f86356f2dfa0f124f1a
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir

  Log Message:
  -----------
  [RISCV] Split out VSETVLIInfo AVL states to be more explicit (#89964)

We currently use AVLIsReg to represent VLMAX as well as a dummy value
for
whenever the VL is ignored by vmv.x.s. This splits them out into
separate
states so that AVLIsReg is always a virtual register and should help
with
tracking the definition inside VSETVLIInfo directly in #89180.

This is almost an NFC but it sets the kill flag for x0 in more places.


  Commit: 72b58146b14308c0c745111f082fc6354cefda22
      https://github.com/llvm/llvm-project/commit/72b58146b14308c0c745111f082fc6354cefda22
  Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp

  Log Message:
  -----------
  Revert "[NFC] [Serialization] Avoid using DeclID directly as much as possible"

This reverts commit 42070a5c092ed420bf92ebf38229c594885e94c7.

I forgot to touch lldb.


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

  Changed paths:
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclFriend.h
    M clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp

  Log Message:
  -----------
  [NFC] [Serialization] Avoid using DeclID directly as much as possible

This patch tries to remove all the direct use of DeclID except the real
low level reading and writing. All the use of DeclID is converted to
the use of LocalDeclID or GlobalDeclID. This is helpful to increase the
readability and type safety.


  Commit: 565bdb55453f0bdd59d9325b8a748cb42e6df95b
      https://github.com/llvm/llvm-project/commit/565bdb55453f0bdd59d9325b8a748cb42e6df95b
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/API/SBType.h
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Symbol/CompilerDecl.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/source/API/SBType.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerDecl.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/type/main.cpp

  Log Message:
  -----------
  [lldb] Add SB API to access static constexpr member values (#89730)

The main change is the addition of a new SBTypeStaticField class,
representing a static member of a class. It can be retrieved created
through SBType::GetStaticFieldWithName. It contains several methods
(GetName, GetMangledName, etc.) whose meaning is hopefully obvious. The
most interesting method is
	lldb::SBValue GetConstantValue(lldb::SBTarget)
which returns a the value of the field -- if it is a compile time
constant. The reason for that is that only constants have their values
represented in the clang AST.

For non-constants, we need to go back to the module containing that
constant, and ask retrieve the associated ValueObjectVariable. That's
easy enough if the we are still in the type system of the module
(because then the type system will contain the pointer to the module
symbol file), but it's hard when the type has been copied into another
AST (e.g. during expression evaluation). To do that we would need to
walk the ast import chain backwards to find the source TypeSystem, and I
haven't found a nice way to do that.

Another possibility would be to use the mangled name of the variable to
perform a lookup (in all modules). That is sort of what happens when
evaluating the variable in an expression (which does work), but I did
not want to commit to that implementation as it's not necessary for my
use case (and if anyone wants to, he can use the GetMangledName function
and perform the lookup manually).

The patch adds a couple of new TypeSystem functions to surface the
information needed to implement this functionality.


  Commit: 8bfdbb9570c87fc98c9d6b41409e4c59ba285f51
      https://github.com/llvm/llvm-project/commit/8bfdbb9570c87fc98c9d6b41409e4c59ba285f51
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [InstCombine] Remove redundant shift folds (NFCI) (#90016)

These are already handled by canEvaluateShifted/getShiftedValue (one-use
only), and also in reassociateShiftAmtsOfTwoSameDirectionShifts (also
multi-use), so let's at least get rid of the *third* implementation...


  Commit: 9b0651f5ae6510577302ea527b2cc79e80ec9ccc
      https://github.com/llvm/llvm-project/commit/9b0651f5ae6510577302ea527b2cc79e80ec9ccc
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Don't propagate result objects in nested declarations. (#89903)

Trying to do so can cause crashes -- see newly added test and the
comments in
the fix.


  Commit: b9208ce318907b1a5ea4ad0d2aa4414dfba0616c
      https://github.com/llvm/llvm-project/commit/b9208ce318907b1a5ea4ad0d2aa4414dfba0616c
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Crash fix for `widenDistinctValues()`. (#89895)

We used to crash if the previous iteration contained a `BoolValue` and
the
current iteration contained an `IntegerValue`. The accompanying test
sets up
this situation -- see comments there for details.

While I'm here, clean up the tests for integral casts to use the test
helpers we
have available now. I was looking at these tests to understand how we
handle
integral casts, and the test helpers make the tests easier to read.


  Commit: ed6e6afd5938e7d04862eb5ae2d09eb723663f25
      https://github.com/llvm/llvm-project/commit/ed6e6afd5938e7d04862eb5ae2d09eb723663f25
  Author: Hans <hans at hanshq.net>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
    R llvm/test/Transforms/Coroutines/coro-split-musttail11.ll

  Log Message:
  -----------
  [coro] Merge two almost identical tests (#89928)

llvm/test/Transforms/Coroutines/coro-split-musttail10.ll and
coro-split-musttail11.ll were the same except for the triple.

Also add a requires clause.


  Commit: 08949464ac4de9bac2a415fb3c0963060936ec17
      https://github.com/llvm/llvm-project/commit/08949464ac4de9bac2a415fb3c0963060936ec17
  Author: Hans <hans at hanshq.net>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail1.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail10.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail11.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail12.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail13.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail2.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail3.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail4.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail5.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail6.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail7.ll

  Log Message:
  -----------
  [coro][pgo] Remove redundant coroutine test files (#89620)

Each of these is a copy of a test under Transforms/Coroutines/

The PGO functionality is already covered by multiple runlines (pgo and
no pgo) in the original files, so the copies add no new coverage, only
maintenance problems.


  Commit: 5e767bd7d16dcdfc1ad8b32ba399f969dd940f57
      https://github.com/llvm/llvm-project/commit/5e767bd7d16dcdfc1ad8b32ba399f969dd940f57
  Author: Daniel M. Katz <katzdm at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/TreeTransform.h
    M clang/test/SemaCXX/cxx2a-consteval.cpp

  Log Message:
  -----------
  Push immediate function context while transforming lambdas in templates. (#89702)

The following program is [accepted](https://godbolt.org/z/oEc34Trh4) by
Clang, EDG, and MSVC, but rejected by Clang:
```cpp
#include <vector>

consteval auto fn() { return std::vector {1,2,3}; }

template <typename T = int>
void fn2() {
    (void)[]() consteval {
      for (auto e : fn()) {}
    };
}

void caller() {
    fn2();
}
```

The stated diagnostic is:
```cpp
<source>:8:21: error: call to consteval function 'fn' is not a constant expression
    8 |       for (auto e : fn()) {}
```

The body of the lambda should be evaluated as within an immediate
function context when the lambda is marked as `consteval`.

Co-authored-by: cor3ntin <corentinjabot at gmail.com>


  Commit: 51f6570eba69b7030f2845e30b7973bd9ac6c522
      https://github.com/llvm/llvm-project/commit/51f6570eba69b7030f2845e30b7973bd9ac6c522
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/docs/index.rst
    R lldb/docs/lldb-platform-packets.txt
    A lldb/docs/resources/lldbplatformpackets.md

  Log Message:
  -----------
  [lldb][Docs] Convert platform packets doc to Markdown (#89913)

As before, script did most of the work, hand edits after that.

There's a lot more we can do dedupe this and the packets doc, this will
come in a follow up PR.


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

  Changed paths:
    M clang/lib/Frontend/ASTUnit.cpp

  Log Message:
  -----------
  [NFC] [ASTUnit] [Serialization] Transalte local decl ID to global decl ID before consuming

Discovered from
https://github.com/llvm/llvm-project/commit/d86cc73bbfd9a22d9a0d498d72c9b2ee235128e9.

There is a potential issue of using DeclID in ASTUnit. ASTUnit may
record the declaration ID from ASTWriter. And after loading the
preamble, the ASTUnit may consume the recorded declaration ID directly
in ExternalASTSource. This is not good. According to the design, all
local declaration ID consumed in ASTReader need to be translated by
`ASTReader::getGlobaldeclID()`.

This will be problematic if we changed the encodings of declaration IDs or if we
make preamble to work more complexly.


  Commit: 7bc0177fc73a75f5195b09ee9d46579eb43c79c4
      https://github.com/llvm/llvm-project/commit/7bc0177fc73a75f5195b09ee9d46579eb43c79c4
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir

  Log Message:
  -----------
  [flang] run character conversion pass on all top level ops (#89910)

See RFC:

https://discourse.llvm.org/t/rfc-add-an-interface-for-top-level-container-operations

Some of the changes are from moving declaration and definition of the
constructor function into tablegen (as requested in code review when
altering another pass).


  Commit: 92f4f0b061651fc57e8434f0d651851878e0eab5
      https://github.com/llvm/llvm-project/commit/92f4f0b061651fc57e8434f0d651851878e0eab5
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/SimplifyRegionLite.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to create simplifyRegionLite constructor (#89957)

This is a ModuleOp pass anyway so it doesn't need to be run on
particular top level operations.


  Commit: 81442f8d97e50f5d8c33136b105b478a8137685e
      https://github.com/llvm/llvm-project/commit/81442f8d97e50f5d8c33136b105b478a8137685e
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to create SimplifyIntrinsics constructor (#89963)

This pass runs on ModuleOp, internally walking all func::CallOps so it
shouldn't need anything special to work on other top level operations.


  Commit: 87ec4ab72cb3ae27ac08d040b2825ee01214fe75
      https://github.com/llvm/llvm-project/commit/87ec4ab72cb3ae27ac08d040b2825ee01214fe75
  Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGDebugInfo.cpp
    A clang/test/CodeGenCXX/dependent-template-alias.cpp

  Log Message:
  -----------
  [Clang] Fall back to DW_TAG_typedef for instantiation dependent template aliases (#90032)

Workaround for issue #89774 until it can be properly fixed.

When `-gtemplate-alias` is specified Clang emits a DW_TAG_template_alias
for template aliases. This patch avoids an assertion failure by falling
back to the `-gno-template-alias` (default) behaviour, emitting a
DW_TAG_typedef, if the alias is instantiation dependent.


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

  Changed paths:
    A llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll

  Log Message:
  -----------
  [LAA] Tests with different strides where BTC can rule out dependence.

Tests to add support for different strides with isSafeDependenceDistance
as follow-up to https://github.com/llvm/llvm-project/pull/88039.


  Commit: 2125080fd5e12d54b745e36db6b68ec8a1377c33
      https://github.com/llvm/llvm-project/commit/2125080fd5e12d54b745e36db6b68ec8a1377c33
  Author: Wang Pengcheng <wangpengcheng.pp at bytedance.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Undef CASE_RVV_OPCODE* macros after using


  Commit: 2c5d7a888589a608a4cd6adc34f19a65dc4551af
      https://github.com/llvm/llvm-project/commit/2c5d7a888589a608a4cd6adc34f19a65dc4551af
  Author: Jannik Silvanus <37809848+jasilvanus at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [clang-format] Remove YAML hack to emit a BasedOnStyle comment (#89228)

When serializing a formatting style to YAML, we were emitting a comment
`# BasedOnStyle: <style>` if the serialized formatting style matches one
of the known styles. This is useful, but mis-uses the YAML API.

An upcoming change to fix keys with special characters by quoting them
breaks this,
and will emit a non-comment **key** `'# BasedOnStyle': <style>` instead.
(https://github.com/llvm/llvm-project/pull/88763)

Thus, remove this hack. There doesn't seem to be a specific use for it,
and it is not tested.

If we want the comment back, we should add comment support to the YAML writer,
and use that instead.


  Commit: 03b1a0c2a72dd24943642ef15e6c046d982643c2
      https://github.com/llvm/llvm-project/commit/03b1a0c2a72dd24943642ef15e6c046d982643c2
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/lib/Frontend/FrontendAction.cpp
    A clang/test/Frontend/ast-dump-on-llvm.ll

  Log Message:
  -----------
  [Clang] Diagnose apply AST consume actions on LLVM IR (#88602)

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

This PR introduce a new diagnostic to report apply AST consume actions
on LLVM IR.

---------

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


  Commit: 76ea5feb1f12ab35547a3aa1bc1b84d4bca69aa7
      https://github.com/llvm/llvm-project/commit/76ea5feb1f12ab35547a3aa1bc1b84d4bca69aa7
  Author: David Green <david.green at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/concatbinop.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll

  Log Message:
  -----------
  [AArch64] Combine concat(binop, binop) into binop(concat, concat) (#89911)

This generalizes the existing combine for concat(radd, radd) to any
binops. For much the same reason as the existing code, pushing the
concat up through the tree are hopefully quicker (or the same) as the
existing two half-vector operations, and can help combine away the
concat.


  Commit: deafb36f87a3541715854d4a620a4cfd6b1ac672
      https://github.com/llvm/llvm-project/commit/deafb36f87a3541715854d4a620a4cfd6b1ac672
  Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/FIR/if-clause.f90
    M flang/test/Lower/OpenMP/FIR/simd.f90
    M flang/test/Lower/OpenMP/FIR/target.f90
    M flang/test/Lower/OpenMP/if-clause.f90
    M flang/test/Lower/OpenMP/simd.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90

  Log Message:
  -----------
  [flang][OpenMP] Add OpenMP versions to some tests (#89295)

Some constructs used in the tests are only allowed in certain OpenMP
spec versions. Add a flag with the minimum required OpenMP version
(other than the default version) to these tests that need it.


  Commit: ee7365198c5575337cfcbf3cb0a0c6689dd703f5
      https://github.com/llvm/llvm-project/commit/ee7365198c5575337cfcbf3cb0a0c6689dd703f5
  Author: Fanbo Meng <fanbo.meng at ibm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp

  Log Message:
  -----------
  [z/OS] Implement shared memory handling for JIT (#89933)

Fix 'use of undeclared identifier' build errors for shm_ functions on
z/OS by implementing the functionality using shmget(), shmat(), and
shmdt(). Use the BLAKE3 hash to map the name of the shared memory to a
key.

---------

Co-authored-by: Kai Nacke <kai.peter.nacke at ibm.com>


  Commit: 697fcd009855a579f756dfe34498a815ed9dc3fd
      https://github.com/llvm/llvm-project/commit/697fcd009855a579f756dfe34498a815ed9dc3fd
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll

  Log Message:
  -----------
  [SimplifyCFG] Handle `llvm.assume` in `passingValueIsAlwaysUndefined` (#89929)

See the following example:
```
define i32 @test(i32 %cond) {
entry:
  switch i32 %cond, label %default [
    i32 0, label %case0
    i32 1, label %case1
    i32 2, label %case2
  ]

case0:
  br label %exit

case1:
  br label %exit

case2:
  br label %exit

default:
  br label %exit

exit:
  %bool = phi i1 [ false, %default ], [ true, %case0 ], [ true, %case1 ], [ true, %case2 ]
  %res = phi i32 [ 0, %default ], [ 1, %case0 ], [ 2, %case1 ], [ 3, %case2 ]
  call void @llvm.assume(i1 %bool)
  ret i32 %res
}
```
The edge `%default -> %bool` is dead since it will trigger an immediate
UB.

Alive2: https://alive2.llvm.org/ce/z/gywJiE

My benchmark shows many rust applications and some c/c++ applications
(e.g., arrow/php/qemu) will benefit from this patch :)


  Commit: 4a12589de1388885d0f198605de3b1fbc0f25100
      https://github.com/llvm/llvm-project/commit/4a12589de1388885d0f198605de3b1fbc0f25100
  Author: Aaron Ballman <aaron at aaronballman.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/utils/LLVMVisualizers/llvm.natvis

  Log Message:
  -----------
  Fix NATVIS for llvm::PointerIntPair

We don't need to cast to the type of the template argument because it
is always an unsigned number. When passed an enumeration type, MSVC's
debug formatter would get confused, so this fixes issues like looking
at a llvm::PointerIntPair<const ContentCache *, 3, CharacteristicKind>
such as what's used in SrcMgr::FileInfo.


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

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

  Log Message:
  -----------
  [DAG] visitORCommutative - pull out repeated SDLoc(). NFC.


  Commit: 2c50f8ffbb3fa2a951d97974325e132987d619a5
      https://github.com/llvm/llvm-project/commit/2c50f8ffbb3fa2a951d97974325e132987d619a5
  Author: Emma Pilkington <emma.pilkington95 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll

  Log Message:
  -----------
  [AMDGPU] Include missing FeatureMADIntraFwdBug in gfx11-generic (#89936)

It seems like this happened because #79460 moved this from
`FeatureISAVersion11_Common` to `FeatureISAVersion11_0_Common` while
#76955 was being reviewed.


  Commit: fcf86673b88845e8fa9621fe55480719fc2b28d8
      https://github.com/llvm/llvm-project/commit/fcf86673b88845e8fa9621fe55480719fc2b28d8
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [libc++] Tag PRs that modify libc++ workflows appropriately (#89798)


  Commit: 584a9bfa0eb60ef04406eef50da26a5cb32c801d
      https://github.com/llvm/llvm-project/commit/584a9bfa0eb60ef04406eef50da26a5cb32c801d
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/include/variant

  Log Message:
  -----------
  [libc++] Reorganize the std::variant macros (#89419)

std::variant uses multiple macros to generate special member functions.
These macros were very subtle to read because of e.g. a macro argument
appearing in the middle of a macro-ized class definition. In conjunction
with clang-format, this could lead to extremely subtle macro expansions
that were not easy to parse for humans.

By adding semi-colons in macro expansions in judicious places,
clang-format does a better job and makes these macros a lot easier to
read.

As a drive-by fix, I noticed that several of these functions were
missing HIDE_FROM_ABI annotations, so I added them.


  Commit: 182f5e9b2f034bf8a3a6dd8a80e8fe7d8292e411
      https://github.com/llvm/llvm-project/commit/182f5e9b2f034bf8a3a6dd8a80e8fe7d8292e411
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/include/__availability

  Log Message:
  -----------
  [libc++] Reformulate availability in terms of LLVM releases (#87563)

To make it easier to maintain the availability macros for both upstream
developers and vendors, this patch reformulates availability macros as a
function of the upstream LLVM release that a feature was introduced in.
This way, upstream developers can easily use the appropriate LLVM
version, and vendors can simply fill in the platform version(s) in which
a LLVM version landed.


  Commit: ed962a66c5a2257100ca20624521ef51c0abcfb3
      https://github.com/llvm/llvm-project/commit/ed962a66c5a2257100ca20624521ef51c0abcfb3
  Author: Louis Dionne <ldionne.2 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/include/streambuf
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.cons/copy.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp

  Log Message:
  -----------
  [libc++] Implement LWG4023 (#87513)

This patch implements LWG4023 by adding explicit assertions for the
added preconditions and also fixes a few tests that were violating these
preconditions.


  Commit: 2554a85c0375b4c1c7c4f461811babef67e1a403
      https://github.com/llvm/llvm-project/commit/2554a85c0375b4c1c7c4f461811babef67e1a403
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/CodeGenPrepare/RISCV/noop-copy-sink.ll

  Log Message:
  -----------
  [CodeGenPrepare][test] Add test for sinking of truncs demonstrating nsw/nuw are dropped

SinkCast creates a new cast with the same type and inputs, which drops
the nsw/nuw flags.

Reviewed as part of <https://github.com/llvm/llvm-project/pull/89904>
but split out so I can land the test separately.


  Commit: 1c8410a67d9d7bbadc2e5f2c8698531b1060c8ac
      https://github.com/llvm/llvm-project/commit/1c8410a67d9d7bbadc2e5f2c8698531b1060c8ac
  Author: Alex Bradbury <asb at igalia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/Transforms/CodeGenPrepare/RISCV/noop-copy-sink.ll

  Log Message:
  -----------
  [CodeGenPrepare] Preserve flags (such as nsw/nuw) in SinkCast (#89904)

As demonstrated in the test change, when deciding to sink a trunc we
were losing its flags. This patch moves to cloning the original
instruction instead.


  Commit: 80628ee0d555d58a7af797e3fc971a1db4582075
      https://github.com/llvm/llvm-project/commit/80628ee0d555d58a7af797e3fc971a1db4582075
  Author: Craig Topper <craig.topper at sifive.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Generate RISCVISAInfo table from RISCVFeatures.td. (#89955)

This generates the SupportedExtensions and ImpliedExts information from
the RISCVExtension records found in RISCVFeatures.td.

Some of the extensions listed in the individual `ImpliedExts*` arrays
may be in a different, but the order in those array doesn't matter. I
manually verified the all the extensions were still present in each
array.

I've added the new information to the existing RISCVTargetParserDef.inc
and RISCVTargetDefEmitter.cpp so we don't need to re-parse the entirety
of RISCV.td a second time for a new file.


  Commit: 2a95022cff38dc0978f527ae580b5720eb9e4d98
      https://github.com/llvm/llvm-project/commit/2a95022cff38dc0978f527ae580b5720eb9e4d98
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/AMDGPU/atomic_load_local.ll
    M llvm/test/CodeGen/AMDGPU/atomic_store_local.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics.ll

  Log Message:
  -----------
  AMDGPU: Add atomic bfloat load/store codegen tests


  Commit: 76a3be7c766bd55221c3d0d0a74c42f82c5d76ed
      https://github.com/llvm/llvm-project/commit/76a3be7c766bd55221c3d0d0a74c42f82c5d76ed
  Author: Matt Arsenault <Matthew.Arsenault at amd.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-load.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-store.ll

  Log Message:
  -----------
  AMDGPU: Add baseline tests for bad bitcasting of atomic load/store


  Commit: 39ed3c68e51f1b04fe2890db9006ae1b176b1582
      https://github.com/llvm/llvm-project/commit/39ed3c68e51f1b04fe2890db9006ae1b176b1582
  Author: Alexandre Ganea <37383324+aganea at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/FileManager.h
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp

  Log Message:
  -----------
  [clang-scan-deps] Fix contention when updating `TrackingStatistic`s in hot code paths in `FileManager`. (#88427)

`FileManager::getDirectoryRef()` and `FileManager::getFileRef()` are hot code paths in `clang-scan-deps`. These functions are updating on every call a few atomics related to printing statistics, which causes contention on high core count machines.

![Screenshot 2024-04-10
214123](https://github.com/llvm/llvm-project/assets/37383324/5756b1bc-cab5-4612-8769-ee7e03a66479)

![Screenshot 2024-04-10
214246](https://github.com/llvm/llvm-project/assets/37383324/3d560e89-61c7-4fb9-9330-f9e660e8fc8b)

![Screenshot 2024-04-10
214315](https://github.com/llvm/llvm-project/assets/37383324/006341fc-49d4-4720-a348-7af435c21b17)

After this patch we make the variables local to the `FileManager`.

In our test case, this saves about 49 sec over 1 min 47 sec of `clang-scan-deps` run time (1 min 47 sec before, 58 sec after). These figures are after applying my suggestion in https://github.com/llvm/llvm-project/pull/88152#issuecomment-2049803229, that is:
```
static bool shouldCacheStatFailures(StringRef Filename) {
  return true;
}
```
Without the above, there's just too much OS noise from the high volume of `status()` calls with regular non-modules C++ code. Tested on Windows with clang-cl.


  Commit: 0f329e0246d1a52d8f3cd25fba8dae89204f5f31
      https://github.com/llvm/llvm-project/commit/0f329e0246d1a52d8f3cd25fba8dae89204f5f31
  Author: Dimitry Andric <dimitry at andric.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h

  Log Message:
  -----------
  [sanitizer_symbolizer] Cast arguments for format strings in markup (#89815)

When compiling the common sanitizer libraries, there are many warnings
about format specifiers, similar to:

    compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:31:32: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat]
       31 |   buffer->AppendF(kFormatData, DI->start);
          |                   ~~~~~~~~~~~  ^~~~~~~~~
    compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:33:46: note: format string is defined here
       33 | constexpr const char *kFormatData = "{{{data:%p}}}";
          |                                              ^~
          |                                              %lu
    compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp:46:43: warning: format specifies type 'void *' but the argument has type 'uptr' (aka 'unsigned long') [-Wformat]
       46 |   buffer->AppendF(kFormatFrame, frame_no, address);
          |                   ~~~~~~~~~~~~            ^~~~~~~
    compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h:36:48: note: format string is defined here
       36 | constexpr const char *kFormatFrame = "{{{bt:%u:%p}}}";
          |                                                ^~
          |                                                %lu
    ...

This is because `uptr` is dependent on the platform, and can be either
`unsigned long long`, `unsigned long`, or `unsigned int`.

To fix the warnings, cast the arguments to the expected type of the
format strings.


  Commit: d3f92e30bbd5c295a639f207b9ac92198d538fb3
      https://github.com/llvm/llvm-project/commit/d3f92e30bbd5c295a639f207b9ac92198d538fb3
  Author: Sopy <doimpt at sopy.one>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.h
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/min-max-use-initializer-list.rst
    A clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp

  Log Message:
  -----------
  [clang-tidy] add check to suggest replacement of nested std::min or std::max with initializer lists (#85572)

Identifies cases where `std::min` or `std::max` is used to find the
minimum or maximum value among more than two items through repeated
calls. The check replaces these calls with a single call to `std::min`
or `std::max` that uses an initializer list. This makes the code
slightly more efficient.

Closes #25340


  Commit: d285e54320e9bc42ea91b28a59a831c58627217a
      https://github.com/llvm/llvm-project/commit/d285e54320e9bc42ea91b28a59a831c58627217a
  Author: Luke Drummond <luke.drummond at codeplay.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    R clang/test/TestRunner.sh

  Log Message:
  -----------
  Delete old broken lit runner

Last updated before the monorepo was created, this lit wrapper can no
longer work. Since it's been broken for so long, I don't think anyone's
going to miss it.


  Commit: cbb0477e9a8d1e695d10a7e263d5e26757114f70
      https://github.com/llvm/llvm-project/commit/cbb0477e9a8d1e695d10a7e263d5e26757114f70
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll

  Log Message:
  -----------
  [InstCombine] Fold fneg over select (#89947)

As we folds fabs over select in
https://github.com/llvm/llvm-project/pull/86390, this patch folds fneg
over select to make sure nabs idioms are generated.
Addresses
https://github.com/llvm/llvm-project/pull/86390#discussion_r1568862289.

Alive2 for FMF propagation: https://alive2.llvm.org/ce/z/-h6Vuo


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

  Changed paths:
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/write_escaped.h
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/utils/generate_escaped_output_table.py

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

The change increments the size of the lookup table considerably. The
table has an "upper boundary" check. The removal of the code units with
the property Grapheme_Extend=Yes removes the range E0100..E01EF. This
breaks the trailing large continuous section in two parts. This will be
improved in a followup patch.

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

```
---------------------------------------------------------
Benchmark                           Before          After    
---------------------------------------------------------
BM_ascii_escaped<char>            95696 ns      110704 ns
BM_unicode_escaped<char>          89311 ns      101371 ns
BM_cyrillic_escaped<char>         58633 ns       63329 ns
BM_japanese_escaped<char>         44500 ns       41223 ns
BM_emoji_escaped<char>            99156 ns      111022 ns
BM_ascii_escaped<wchar_t>         92245 ns      112441 ns
BM_unicode_escaped<wchar_t>       80970 ns      102776 ns
BM_cyrillic_escaped<wchar_t>      51253 ns       58977 ns
BM_japanese_escaped<wchar_t>      37252 ns       36885 ns
BM_emoji_escaped<wchar_t>         96226 ns      115885 ns
```


  Commit: 60bbe5714d1b4b78381514a5e29bffbdd18b3d0c
      https://github.com/llvm/llvm-project/commit/60bbe5714d1b4b78381514a5e29bffbdd18b3d0c
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn

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


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

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

  Log Message:
  -----------
  [flang][cuda] Do not generate data transfer within cuf kernel (#89973)

CUDA data transfer with intrinsic assignment are not meant to be
generated in cuf kernel. This patch fix this issue.

@ImanHosseini


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

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

  Log Message:
  -----------
  [flang][cuda] Avoid hlfir.declare verifier error when creating temps (#89984)

When creating temporaries for implicit transfer, the newly create
hlfir.declare operation was missing some information like the shape and
the verifier was throwing an error. Fix it by making sure we have an
ExtendedValue when calling addSymbol to register the temp.

```
error: loc("cuda-data-transfer.cuf":67:22): 'hlfir.declare' op of array entity
with a raw address base must have a shape operand that is a shape or shapeshift
```

Thanks @jeanPerier for the advice!

FYI @ImanHosseini


  Commit: f4e3daa562ce077c729634bd3ae8757aae8d46ef
      https://github.com/llvm/llvm-project/commit/f4e3daa562ce077c729634bd3ae8757aae8d46ef
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [DAG] Early exit for flags in canCreateUndefOrPoison [nfc] (#89834)

This matches the style used in the Analysis version of this routine, and
makes it less likely we'll miss a poison generating flag in future
changes. Unlike IR, the check for poison generating flags doesn't need
to switch over opcode since all nodes have the SDFlags storage.


  Commit: ef2ca97f48f1aee1483f0c29de5ba52979bec454
      https://github.com/llvm/llvm-project/commit/ef2ca97f48f1aee1483f0c29de5ba52979bec454
  Author: Miro Bucko <mbucko at meta.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBProcess.h
    M lldb/source/API/SBProcess.cpp
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  [lldb-dap] Report exit status message in lldb-dap, same as lldb cli (#89405)

Summary:
When the target inferior process that is being debugged exits in lldb
command line, it emits following message:
`Process 4049526 exited with status = -1 (0xffffffff) debugserver died
with signal SIGTERM`
lldb-dap on the other hand does not emit a similar message. This PR adds
the same status message to lldb-dap.

Test Plan:
In VSCode debug any target and hit stop mode, kill lldb-server and
observe an exit status message similar to the following: Process 2167677
exited with status = -1 (0xffffffff) debugserver died with signal
SIGTERM

Reviewers:
@jeffreytan81, at clayborg, at kusmour,

Subscribers:

Tasks:
lldb-dap

Tags:


  Commit: 18376810f359dbd39d2a0aa0ddfc0f7f50eac199
      https://github.com/llvm/llvm-project/commit/18376810f359dbd39d2a0aa0ddfc0f7f50eac199
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/test/Driver/integrated-as.c

  Log Message:
  -----------
  [Driver] Don't default to -mrelax-all for non-RISCV -O0

Some assembly mnemonics may assemble to instructions of different
lengths. The longer form is to support instructions like a long branch.
On X86, -mrelax-all enables `MCRelaxAll`, which expands instructions to
the long form regardless of whether a short form suffices, while
-mno-relax-all only expands instructions when needed.

```
// x86 example
void foo(int a) {
  // -mno-relax-all or gas: short jump (2 bytes)
  // -mrelax-all: near jump (6 bytes)
  if (a) bar();
}
```

The -mrelax-all default for non-RISCV -O0 appears to only affect x86 and
increases code size without any compile time difference for a stage-2
x86-64 build of lld.
```
-mrelax-all:    file size: 60.9MiB   VM size: 52.4MiB
-mno-relax-all: file size: 58.2MiB   VM size: 49.7MiB
```

There is no compile time difference (other than noise) GNU assembler
doesn't expand instructions by default. Let's remove the -mrelax-all default.

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


  Commit: 2db782047b295730cd018b2641a16461f87ce55e
      https://github.com/llvm/llvm-project/commit/2db782047b295730cd018b2641a16461f87ce55e
  Author: Ayush Sahay <quic_asahay at quicinc.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp

  Log Message:
  -----------
  [lldb] [llgs] Fix assertion in Handle_qfThreadInfo (#88301)

Currently, GDBRemoteCommunicationServerLLGS::Handle_qfThreadInfo asserts
if the number of processes under debug isn’t 1 and the multiprocess
feature isn’t supported. This is so that we don't string IDs of threads
belonging to different processes together without including the IDs of
the processes themselves in the response when there are multiple
processes under debug. However, it’s conceivable that we have no process
under debug and the multiprocess feature isn’t supported. So, have
GDBRemoteCommunicationServerLLGS::Handle_qfThreadInfo assert if the
number of processes under debug is greater than 1 and the multiprocess
feature isn’t supported.


  Commit: 5fb59e744783cf686e6a355c8331eeab90678c00
      https://github.com/llvm/llvm-project/commit/5fb59e744783cf686e6a355c8331eeab90678c00
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/test/X86/pre-aggregated-perf.test

  Log Message:
  -----------
  [BOLT] Print program stats in perf2bolt/aggregate-only mode (#89763)


  Commit: d94aeb507d71d72f4153b4c87c77fcb5187b3e9a
      https://github.com/llvm/llvm-project/commit/d94aeb507d71d72f4153b4c87c77fcb5187b3e9a
  Author: Ryan Holt <ryanholt at mathworks.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    A mlir/test/Dialect/Linalg/runtime-verification.mlir
    A mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir

  Log Message:
  -----------
  [mlir][linalg] Add runtime verification for linalg ops (#89917)

This commit implements runtime verification for LinalgStructuredOps
using the existing `RuntimeVerifiableOpInterface`. The verification
checks that the runtime sizes of the operands match the runtime sizes
inferred by composing the loop ranges with the op's indexing maps.


  Commit: 8dc7db7a24633f55ef28f2ab4b379386a34505f8
      https://github.com/llvm/llvm-project/commit/8dc7db7a24633f55ef28f2ab4b379386a34505f8
  Author: Bhuminjay Soni <Soni5Happy at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.h
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/math-missing-parentheses.rst
    A clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp

  Log Message:
  -----------
  [clang-tidy] Add clang-tidy check readability-math-missing-parentheses (#84481)

This commit closes #80850 where author suggests adding a
readability check to detect missing parentheses around mathematical
expressions when operators of different priorities are used.

Signed-off-by: 11happy <soni5happy at gmail.com>


  Commit: 39adc8f423297c5741bb731bb8b1e545d558502c
      https://github.com/llvm/llvm-project/commit/39adc8f423297c5741bb731bb8b1e545d558502c
  Author: Erich Keane <ekeane at nvidia.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/include/clang-c/Index.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/BuiltinTypes.def
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprOpenMP.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/lib/AST/ASTContext.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/test/OpenMP/task_depend_messages.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp

  Log Message:
  -----------
  [NFC] Generalize ArraySections to work for OpenACC in the future (#89639)

OpenACC is going to need an array sections implementation that is a
simpler version/more restrictive version of the OpenMP version. 

This patch moves `OMPArraySectionExpr` to `Expr.h` and renames it `ArraySectionExpr`,
 then adds an enum to choose between the two.

This also fixes a couple of 'drive-by' issues that I discovered on the way,
but leaves the OpenACC Sema parts reasonably unimplemented (no semantic
analysis implementation), as that will be a followup patch.


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

  Changed paths:
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Remove getFullSchema in MemProfTest.cpp (#90072)

This patch removes getFullSchema in MemProfTest.cpp in favor of
llvm::memprof::PortableMemInfoBlock::getFullSchema as they do exactly
the same thing.


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

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

  Log Message:
  -----------
  Fix lldb build failure caused by 39adc8f42329

We changed the name of one of the types, which is consumed by LLDB.  My
patch local build + CI didn't catch it, but a build bot did!  This
commit fixes it by updating the name in LLDB.


  Commit: 5a1d85051fa4847b6a3fe4cae30e0a11843bec41
      https://github.com/llvm/llvm-project/commit/5a1d85051fa4847b6a3fe4cae30e0a11843bec41
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    A llvm/test/Transforms/InstCombine/gepofconstgepi8.ll

  Log Message:
  -----------
  [InstCombine] Canonicalize `gep T, (gep i8, base, C1), (Index + C2)` into `gep T, (gep i8, base, C1 + C2 * sizeof(T)), Index` (#76177)

This patch tries to canonicalize `gep T, (gep i8, base, C1), (Index +
C2)` into `gep T, (gep i8, base, C1 + C2 * sizeof(T)), Index`.

Alive2: https://alive2.llvm.org/ce/z/dxShKF
Fixes regressions found in
https://github.com/llvm/llvm-project/pull/68882.


  Commit: d3c9a97705d807afeb3fd92bb0d65fa895c6d139
      https://github.com/llvm/llvm-project/commit/d3c9a97705d807afeb3fd92bb0d65fa895c6d139
  Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn

  Log Message:
  -----------
  [gn build] Port 8dc7db7a2463


  Commit: eb05a2e89dccec734625aa336b553197b75f2340
      https://github.com/llvm/llvm-project/commit/eb05a2e89dccec734625aa336b553197b75f2340
  Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/visit.h

  Log Message:
  -----------
  [Flang] Add fallthrough annotations in visit.h (#90014)

Add fallthrough annotations to avoid warnings if -Wimplicit-fallthrough
is enabled.

Test plan: ninja check-all


  Commit: 63ecd2a72523fa591aacf54d310478aabcd30d08
      https://github.com/llvm/llvm-project/commit/63ecd2a72523fa591aacf54d310478aabcd30d08
  Author: Joshua Cranmer <joshua.cranmer at intel.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/test/Driver/default-denormal-fp-math.c
    M clang/test/Driver/linux-ld.c

  Log Message:
  -----------
  Disable FTZ/DAZ when compiling shared libraries by default. (#80475)

This fixes https://github.com/llvm/llvm-project/issues/57589, and aligns
Clang with the behavior of current versions of gcc. There is a new
option, -mdaz-ftz, to control the linking of the file that sets FTZ/DAZ
on startup, and this flag is on by default if -ffast-math is present and
-shared isn't.

This also partially reverts fa7cd549d60 in that it disables the attempt
to set the IR denormal-fp-math attribute based on whether or not
-ffast-math is applied as it is insufficiently reliable.


  Commit: 0b01b2143735a0becf2ed09825ddd33b98b1c5b5
      https://github.com/llvm/llvm-project/commit/0b01b2143735a0becf2ed09825ddd33b98b1c5b5
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/tools/gold/gold-plugin.cpp

  Log Message:
  -----------
  [LLVMgold] Suppress -Wcast-function-type-mismatch diagnostic

llvm/cmake/modules/HandleLLVMOptions.cmake adds -Wextra.
-Wcast-function-type-mismatch was recently added to -Wextra, leading to
a warning for the `get_wrap_symbols` code (https://reviews.llvm.org/D44235).

Suppress the diagnostic.

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


  Commit: 02660e274242b2dd61543a06d7ab4dc0efd2517d
      https://github.com/llvm/llvm-project/commit/02660e274242b2dd61543a06d7ab4dc0efd2517d
  Author: Jake Egan <jake.egan at ibm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp

  Log Message:
  -----------
  [NFC] Enable atomic tests on AIX

These tests pass on AIX.


  Commit: 2f2e31c3c980407b2660b4f5d10e7cdb3fa79138
      https://github.com/llvm/llvm-project/commit/2f2e31c3c980407b2660b4f5d10e7cdb3fa79138
  Author: jeffreytan81 <jeffreytan at meta.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/include/lldb/API/SBLineEntry.h
    M lldb/include/lldb/API/SBSymbolContextList.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBTarget.cpp
    A lldb/test/API/tools/lldb-dap/stepInTargets/Makefile
    A lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
    A lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/lldb-dap.cpp

  Log Message:
  -----------
  Initial step in targets DAP support  (#86623)

This patch provides the initial implementation for the "Step Into
Specific/Step In Targets" feature in VSCode DAP.

The implementation disassembles all the call instructions in step range
and try to resolve operand name (assuming one operand) using debug info.
Later, the call target function name is chosen by end user and specified
in the StepInto() API call.

It is v1 because of using the existing step in target function name API.
This implementation has several limitations:
* Won't for indirect/virtual function call -- in most cases, our
disassembler won't be able to solve the indirect call target
address/name.
* Won't work for target function without debug info -- if the target
function has symbol but not debug info, the existing
ThreadPlanStepInRange won't stop.
* Relying on function names can be fragile -- if there is some middle
glue/thunk code, our disassembler can only resolve the glue/thunk code's
name not the real target function name. It can be fragile to depend
compiler/linker emits the same names for both.
* Does not support step into raw address call sites -- it is a valid
scenario that in Visual Studio debugger, user can explicitly choose a
raw address to step into which land in the function without debug
info/symbol, then choose UI to load the debug info on-demand for that
module/frame to continue exploring.

A more reliable design could be extending the ThreadPlanStepInRange to
support step in based on call-site instruction offset/PC which I will
propose in next iteration.

---------

Co-authored-by: jeffreytan81 <jeffreytan at fb.com>


  Commit: a8fd0d029dca7d17eee72d0445223c2fe1ee7758
      https://github.com/llvm/llvm-project/commit/a8fd0d029dca7d17eee72d0445223c2fe1ee7758
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/HLSL/this-reference-template.hlsl
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.cpp
    A clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/Index/annotate-nested-name-specifier.cpp
    M clang/test/SemaCXX/member-expr.cpp
    M clang/test/SemaTemplate/instantiate-function-1.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  [Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)

Consider the following:
```cpp
template<typename T>
struct A
{
    auto f()
    {
        return this->x;
    }
};
```
Although `A` has no dependent base classes and the lookup context for
`x` is the current instantiation, we currently do not diagnose the
absence of a member `x` until `A<T>::f` is instantiated. This patch
moves the point of diagnosis for such expressions to occur at the point
of definition (i.e. prior to instantiation).


  Commit: 3dcd2cca7777b338d87deb1ca506df1376123667
      https://github.com/llvm/llvm-project/commit/3dcd2cca7777b338d87deb1ca506df1376123667
  Author: Hugo Melder <service at hugomelder.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    A clang/test/CodeGenObjCXX/msabi-stret-arm64.mm

  Log Message:
  -----------
  Fix Objective-C++ Sret of non-trivial data types on Windows ARM64 (#88671)

Linked to https://github.com/gnustep/libobjc2/pull/289.

More information can be found in issue: #88273.

My solution involves creating a new message-send function for this
calling convention when targeting MSVC. Additional information is
available in the libobjc2 pull request.

I am unsure whether we should check for a runtime version where
objc_msgSend_stret2_np is guaranteed to be present or leave it as is,
considering it remains a critical bug. What are your thoughts about this
@davidchisnall?


  Commit: 2e77aea22f11d0acf13b32fec0df81351a1e236a
      https://github.com/llvm/llvm-project/commit/2e77aea22f11d0acf13b32fec0df81351a1e236a
  Author: Philip Reames <preames at rivosinc.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Give up on correct undef semantics in mul strength reduction (#90097)

This is a change I really don't like posting, but I think we're out of
other options.  As can be seen in the test differences, we have cases
where adding the freeze inhibits real optimizations.
    
Given no other target handles the undef semantics correctly here, I
think the practical answer is that we shouldn't either.  Yuck.
    
As examples, consider:
* combineMulSpecial in X86.
* performMulCombine in AArch64
    
The only other real option I see here is to move all of the strength
reduction code out of ISEL.  We could do this either via tablegen rules,
or as an MI pass, but other than shifting the point where we ignore
undef
semantics, I don't this is meaningfully different.
    
Note that the particular tests included here would be fixed if we added
SHA/SHL to canCreateUndefOrPoison. However, a) that's already been tried
twice and exposes its own set of regressions, and b) these are simply
examples.  You can create many alternate examples.


  Commit: f72611b40de8c060c3901dab0ee9f8424dd3012b
      https://github.com/llvm/llvm-project/commit/f72611b40de8c060c3901dab0ee9f8424dd3012b
  Author: Michael Maitland <michaeltmaitland at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [RISCV][NFC] Trim line to 80 chars in RISCVInstrZvk.td


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

  Changed paths:
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Move getFullSchema and getHotColdSchema outside PortableMemInfoBlock (#90103)

These functions do not operate on PortableMemInfoBlock.  This patch
moves them outside the class.


  Commit: 6dd2617c80d5133b92fdff679364f2d8fcd93b47
      https://github.com/llvm/llvm-project/commit/6dd2617c80d5133b92fdff679364f2d8fcd93b47
  Author: Krystian Stasiowski <sdkrystian at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp

  Log Message:
  -----------
  [Clang][Sema] Fix warnings after #84050 (#90104)


  Commit: 8dcb90b083f1dd681478c5d036e52785bafcc205
      https://github.com/llvm/llvm-project/commit/8dcb90b083f1dd681478c5d036e52785bafcc205
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/visit.h

  Log Message:
  -----------
  Revert "[Flang] Add fallthrough annotations in visit.h (#90014)"

This reverts commit eb05a2e89dccec734625aa336b553197b75f2340.
(The comming broke Fortran runtime builders:
https://lab.llvm.org/buildbot/#/builders/267/builds/1277)


  Commit: ba1b52e6e764ad637822f0b63d144eca6e5d5627
      https://github.com/llvm/llvm-project/commit/ba1b52e6e764ad637822f0b63d144eca6e5d5627
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [mlir-lsp] Add `outgoingNotification` unit test

Add a unit test exercising `lsp::MessageHanlder::outgoingNotification`.
Split off from pull request #90076, as requested.


  Commit: b77416ea156acdec766c59d4781e6086963a26a7
      https://github.com/llvm/llvm-project/commit/b77416ea156acdec766c59d4781e6086963a26a7
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp

  Log Message:
  -----------
  [mlir-lsp] Rename `OutgoingNotification` (NFC) (#90076)

Rename `OutgoingNotification` to `OutgoingMessage`, since the same
callback function type will be used in a future commit to represent
outgoing requests, in addition to outgoing notifications.


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

  Changed paths:
    M .github/new-prs-labeler.yml

  Log Message:
  -----------
  [github] Add BOLT to new-prs-labeler.yml (#90114)


  Commit: 2c0a185e99dab199aabcf4cd165ac6a312d56b1e
      https://github.com/llvm/llvm-project/commit/2c0a185e99dab199aabcf4cd165ac6a312d56b1e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/tools/clang-installapi/Options.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp

  Log Message:
  -----------
  Remove unneeded LLVM_FALLTHROUGH. NFC


  Commit: 76739d1256bf7272b046e77ac2233fdd698e28d6
      https://github.com/llvm/llvm-project/commit/76739d1256bf7272b046e77ac2233fdd698e28d6
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/Parse/ParseOpenACC.cpp

  Log Message:
  -----------
  [clang] LLVM_FALLTHROUGH => [[fallthrough]]. NFC

Remove unneeded LLVM_FALLTHROUGH added after https://reviews.llvm.org/D131346


  Commit: 3005ca21596c4f4309a5692ffadc0db2b54c2055
      https://github.com/llvm/llvm-project/commit/3005ca21596c4f4309a5692ffadc0db2b54c2055
  Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir

  Log Message:
  -----------
  [mlir][linalg] Add a test for inferConvolutionDimsImpl (#90057)

Adds a test for `inferConvolutionDimsImpl` to exercise the logic for
depthwise convs.


  Commit: f2d99506950f1863015137c1185c745b875ad9fb
      https://github.com/llvm/llvm-project/commit/f2d99506950f1863015137c1185c745b875ad9fb
  Author: Chris B <chris.bieneman at me.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl

  Log Message:
  -----------
  [HLSL] Correctly set `__HLSL_ENABLE_16_BIT` (#89788)

The preprocessor define `__HLSL_ENABLE_16_BIT` should be set to 1 if
native 16-bit types are enabled and not set if they are not.

Previously we were setting the value to match the HLSL active language
version, and we had no test coverage verifing the value was set and not
set as expected.

Fixes #89787


  Commit: 933f49248bfede6b22d516baa5cf80bdf85c3c61
      https://github.com/llvm/llvm-project/commit/933f49248bfede6b22d516baa5cf80bdf85c3c61
  Author: Florian Hahn <flo at fhahn.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll

  Log Message:
  -----------
  [LAA] Support different strides & non constant dep distances using SCEV. (#88039)

Extend LoopAccessAnalysis to support different strides and as a
consequence non-constant distances between dependences using SCEV to
reason about the direction of the dependence.

In multiple places, logic to rule out dependences using the stride has
been updated to only be used if StrideA == StrideB, i.e. there's a
common stride.

We now also may bail out at multiple places where we may have to set
FoundNonConstantDistanceDependence. This is done when we need to bail
out and the distance is not constant to preserve original behavior.

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

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


  Commit: eae7554d3f1fb1546c629a9a2ae0654b1001ab41
      https://github.com/llvm/llvm-project/commit/eae7554d3f1fb1546c629a9a2ae0654b1001ab41
  Author: jofrn <jofernau at amd.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
    M llvm/test/TableGen/simplify-patfrag.td
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen] ShouldIgnore Pattern bit to disable DAG pattern imports during GISel (#88382)

Added GISelShouldIgnore property to class Pattern in TargetSelectionDAG.td; it's similar to FastISelShouldIgnore. This bit can be put on a record to avoid its pattern import within GlobalISelEmitter. This allows one to avoid the record's GISel .td implementation, .inc generation, and any skipped pattern warnings from -warn-on-skipped-patterns.


  Commit: 7045c14c840e7e759d1af7f40ed94f0ec3024722
      https://github.com/llvm/llvm-project/commit/7045c14c840e7e759d1af7f40ed94f0ec3024722
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  fix LinalgTransforms bazel build (#90120)


  Commit: 45b59cb1d42b57a40c79a61afc8d1b8892826480
      https://github.com/llvm/llvm-project/commit/45b59cb1d42b57a40c79a61afc8d1b8892826480
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/MC/MCDXContainerStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCGOFFStreamer.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCSPIRVStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp

  Log Message:
  -----------
  [MC] Move setRelaxAll() calls to MCObjectStreamer

Related to clean-up opportunities discussed at #90013.


  Commit: dbcc4549e6b75ff328256e3d914763c9a74b2635
      https://github.com/llvm/llvm-project/commit/dbcc4549e6b75ff328256e3d914763c9a74b2635
  Author: Zhaoshi Zheng <zhaoshiz at quicinc.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
    M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir

  Log Message:
  -----------
   [MLIR][Vector] Allow Scalable Dim in OneDimMultiReductionToTwoDim (#89978)

To correctly lower multi_reduction of 1-dim scalable vector, e.g., <[4]xf32>


  Commit: b7e9dae6f6a4610bee729179167a0ac4a3dd7b7b
      https://github.com/llvm/llvm-project/commit/b7e9dae6f6a4610bee729179167a0ac4a3dd7b7b
  Author: Fabio D'Urso <fdurso at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp

  Log Message:
  -----------
  [scudo] Improve readability of MemMapFuchsia's error handling (#90102)

By expressing the conditions covered by MAP_ALLOWNOMEM in a more
direct way.


  Commit: 72da62be2f67b6c6e9185e246d17f3b3753e6493
      https://github.com/llvm/llvm-project/commit/72da62be2f67b6c6e9185e246d17f3b3753e6493
  Author: Alexander Shaposhnikov <ashaposhnikov at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/visit.h

  Log Message:
  -----------
  Reapply "[Flang] Add fallthrough annotations in visit.h (#90014)"

Use [[fallthrough]] directly (similarly to
https://reviews.llvm.org/D131346).

This recommits eb05a2e89dccec734625aa336b553197b75f2340.


  Commit: 4e340356163aaaf2de83cd73f74bca8db735471b
      https://github.com/llvm/llvm-project/commit/4e340356163aaaf2de83cd73f74bca8db735471b
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/TargetRegistry.h
    M llvm/lib/MC/MCDXContainerStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCGOFFStreamer.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCSPIRVStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
    M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.cpp
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp

  Log Message:
  -----------
  [MC] Remove RelaxAll parameters from create*Streamer

Related to clean-up opportunities discussed at #90013.

After these cleanups, the `RelaxAll` parameter from
`createMCObjectStreamer` can be removed as well. As
`createMCObjectStreamer` is a more user-facing API and used by two files
in mlir/, we postpone the cleanup to the future.


  Commit: ddb67e68474092435634dd8a8e1c166f6ecd0e1a
      https://github.com/llvm/llvm-project/commit/ddb67e68474092435634dd8a8e1c166f6ecd0e1a
  Author: Mircea Trofin <mtrofin at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/docs/LangRef.rst
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/lib/IR/IntrinsicInst.cpp
    M llvm/unittests/IR/IntrinsicsTest.cpp

  Log Message:
  -----------
  [llvm][ctx_profile] Add the `llvm.instrprof.callsite` intrinsic (#89939)

Add the callsite intrinsic. 

Structurally, it is very similar to the counter intrinsics, hence the inheritance relationship. We can probably rename `InstrProfCntrInstBase` to `InstrProfIndexedBase` later - because the "counting" aspect is really left to derived types of `InstrProfCntrInstBase`, and it only concerns itself with the index aspect (which is what we care about for `callsite`, too)

(Tracking Issue: #89287, RFC referenced there)


  Commit: a5c4f969f4f2f15a4150229eebff769521759554
      https://github.com/llvm/llvm-project/commit/a5c4f969f4f2f15a4150229eebff769521759554
  Author: Fred Grim <fgrim at apple.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/unittests/Host/linux/HostTest.cpp

  Log Message:
  -----------
  [lldb] Reenable test HostTest.GetProcessInfo with relaxed constraints. (#89637)

@jimingham I am wondering if you are ok removing this test? It caused
failures in some of the build bots because the user time was less than a
microsecond. Alternatively we can increase the number of loops or maybe
I need some other approach? I had commented it out just to not impact
others


  Commit: 6473fbf2d68c8486d168f29afc35d3e8a6fabe69
      https://github.com/llvm/llvm-project/commit/6473fbf2d68c8486d168f29afc35d3e8a6fabe69
  Author: Tom Stellard <tstellar at redhat.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [CMake][Release] Refactor cache file and use two stages for non-PGO builds (#89812)

Completely refactor the cache file to simplify it and remove unnecessary
variables. The main functional change here is that the non-PGO builds
now use two stages, so `ninja -C build stage2-package` can be used with
both PGO and non-PGO builds.


  Commit: eb4a510283bdbf1e6f0b47a9e20ea88b775c5a85
      https://github.com/llvm/llvm-project/commit/eb4a510283bdbf1e6f0b47a9e20ea88b775c5a85
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M compiler-rt/test/ctx_profile/Unit/lit.site.cfg.py.in
    M compiler-rt/test/memprof/Unit/lit.site.cfg.py.in

  Log Message:
  -----------
  [compiler-rt] Avoid assertions when using LLVM_ENABLE_PER_TARGET_RUNTIME_DIR (#90127)

Previously, the memprof and ctx_profile lit.site.cfg would assert
if the enable_per_target_runtime_dir was set and the
config.target_arch != config.host_arch. However, config.host_arch would
never be set, meaning this would always fail in a when using
LLVM_ENABLE_PER_TARGET_RUNTIME_DIR.

This patch follows the example in the ASAN lit.site.cfg.py that updates
the compiler_rt_libdir appropriately.


  Commit: 1f38b8a281b1b4ed0d018f09c1a080bb7fdcc6ad
      https://github.com/llvm/llvm-project/commit/1f38b8a281b1b4ed0d018f09c1a080bb7fdcc6ad
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/unittests/ProfileData/MemProfTest.cpp

  Log Message:
  -----------
  [memprof] Use DenseMap::contains (NFC) (#90124)

This patch replaces count with contains, following the spirit of
clang-tidy's readability-container-contains.


  Commit: 78341f36abc14f66c86ee320e201ee68c79316ef
      https://github.com/llvm/llvm-project/commit/78341f36abc14f66c86ee320e201ee68c79316ef
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll

  Log Message:
  -----------
  [msan] Fork unchanged mmx tests (#90135)

Copy of llvm/test/CodeGen/X86/mmx-intrinsics.ll


  Commit: 354a04c8e6af0a119d71ce71e9a4fe6d9b3b6772
      https://github.com/llvm/llvm-project/commit/354a04c8e6af0a119d71ce71e9a4fe6d9b3b6772
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll

  Log Message:
  -----------
  Copied from llvm/test/CodeGen/X86/mmx-intrinsics.ll (#90131)


  Commit: fd5931983df836f3ba9f8ff2532ccd28861794cf
      https://github.com/llvm/llvm-project/commit/fd5931983df836f3ba9f8ff2532ccd28861794cf
  Author: Min Hsu <min.hsu at sifive.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll

  Log Message:
  -----------
  [RISCV][MachineCombiner] Pre-commit test for RVV reassociations

This is the pre-commit test for PR #88307.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-icmp-signed-op.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the incorrect comparison after minbiwidth analysis.


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

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-icmp-signed-op.ll

  Log Message:
  -----------
  [SLP]Fix PR89988: do extra analysis of the icmp args to correctly handle signed/unsigned comparison.

If operands of icmp has different signedness, need to consider extending
unsigned operands to correctly handle comparison with the signed
operands.


  Commit: 9221f3af8f832d990be986c05d964ad37e5a2356
      https://github.com/llvm/llvm-project/commit/9221f3af8f832d990be986c05d964ad37e5a2356
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    M lld/test/ELF/riscv-attributes.s
    M llvm/include/llvm/Support/RISCVAttributeParser.h
    M llvm/include/llvm/Support/RISCVAttributes.h
    M llvm/lib/Support/RISCVAttributeParser.cpp
    M llvm/lib/Support/RISCVAttributes.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute.s
    M llvm/test/MC/RISCV/invalid-attribute.s

  Log Message:
  -----------
  [RISCV] Support RISCV Atomics ABI attributes (#84597)

This patch adds support for the `atomic_abi` attribute, specifid in

https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-elf.adoc#tag_riscv_atomic_abi-14-uleb128version.

The atomics_abi tag merging is conducted as follows:

- UNKNOWN is safe to merge with all other values.
- A6C is compatible with A6S, and results in the A6C ABI.
- A6C is incompatible with A7, and results in an error.
- A6S and A7 are compatible, and merging results in the A7 ABI.

Note: the A7 is not yet supported in either LLVM or in any current
hardware,
and is therefore ommited from attribute generation in
RISCVTargetStreamer.


  Commit: 733b271db793ce30c504a1b5c4ae7a8775b0a6a2
      https://github.com/llvm/llvm-project/commit/733b271db793ce30c504a1b5c4ae7a8775b0a6a2
  Author: Paul Kirth <paulkirth at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/atomic-load-store.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll

  Log Message:
  -----------
  [llvm][RISCV] Enable trailing fences for seq-cst stores by default (#87376)

With the tag merging in place, we can safely change the default for
+seq-cst-trailing-fence to the default, according to the recommendation
in

https://github.com/riscv-non-isa/riscv-elf-psabi-doc/blob/master/riscv-atomic.adoc

This tag changes the default for the feature flag, and moves to more
consistent naming with respect to existing features.


  Commit: 5f67ce5611ba007ed363b6a78b9c4eac85b70837
      https://github.com/llvm/llvm-project/commit/5f67ce5611ba007ed363b6a78b9c4eac85b70837
  Author: Min-Yih Hsu <min.hsu at sifive.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll

  Log Message:
  -----------
  [RISCV][MachineCombiner] Add reassociation optimizations for RVV instructions (#88307)

This patch covers a really basic reassociation optimizations for VADD_VV and VMUL_VV.


  Commit: eb7dc991841489e2f8f18467705944c9136b06d2
      https://github.com/llvm/llvm-project/commit/eb7dc991841489e2f8f18467705944c9136b06d2
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M lldb/bindings/interface/SBValueDocstrings.i
    M lldb/include/lldb/API/SBValue.h
    M lldb/source/API/SBValue.cpp
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/Makefile
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/TestClearSBValueNonAddressableBits.py
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/main.c

  Log Message:
  -----------
  [lldb] Add SBValue::GetValueAsAddress API (#90144)

I previously added this API via https://reviews.llvm.org/D142792 in
2023, along with changes to the ValueObject class to treat pointer types
as addresses, and to annotate those ValueObjects with the original
uint64_t byte sequence AND the name of the symbol once stripped, if that
points to a symbol.

I did this unconditionally for all pointer type ValueObjects, and it
caused several regressions in the Objective-C data formatters which have
a ValueObject of an object, it has the address of its class -- but with
ObjC, sometimes it is a "tagged pointer" which is metadata, not an
actual pointer. (e.g. a small NSInteger value is stored entirely in the
tagged pointer, instead of a separate object) Treating these
not-addresses as addresses -- clearing the non-addressable-bits -- is
invalid.

The original version of this patch we're using downstream only does this
bits clearing for pointer types that are specifically decorated with the
pointerauth typequal, but not all of those clang changes are upstreamed
to github main yet, so I tried this simpler approach and hit the tagged
pointer issue and bailed on the whole patch.

This patch, however, is simply adding SBValue::GetValueAsAddress so
script writers who know that an SBValue has an address in memory, can
strip off any metadata. It's an important API to have for script writers
when AArch64 ptrauth is in use, so I'm going to put this part of the
patch back on github main now until we can get the rest of that original
patch upstreamed.


  Commit: bb2b04c73332f017955115fedb94790dac3608b9
      https://github.com/llvm/llvm-project/commit/bb2b04c73332f017955115fedb94790dac3608b9
  Author: Jason Molenda <jmolenda at apple.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [lldb] Recognize DW_TAG_LLVM_ptrauth_type as a type qual (#90140)

Jonas upstreamed recognition of DW_TAG_LLVM_ptrauth_type
https://reviews.llvm.org/D130215 but it isn't recognized as a type
qualifier tag in DWARFASTParserClang::ParseTypeFromDWARF.


  Commit: 5350052632fa3362a1ce89821703a96bc0066f26
      https://github.com/llvm/llvm-project/commit/5350052632fa3362a1ce89821703a96bc0066f26
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Move doUnion into DemandedFields. NFC

Keep the DemandedFields logic grouped together in the struct


  Commit: 8feedd5e067a5ea13e36c39dc634da5c34284ddd
      https://github.com/llvm/llvm-project/commit/8feedd5e067a5ea13e36c39dc634da5c34284ddd
  Author: Prashant Kumar <pk5561 at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp

  Log Message:
  -----------
  [mlir][linalg] Fix the semantic use of a flag (#90081)

`useInBoundsInsteadOfMasking` was doing the opposite i.e., when set to
true; was updating the mask instead of updating the inBounds.


  Commit: 45fc0e6b38b62a61b0ddcda2e7fe9b4fee7e3e58
      https://github.com/llvm/llvm-project/commit/45fc0e6b38b62a61b0ddcda2e7fe9b4fee7e3e58
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Fix warnings after #84050 (#90104)"

This reverts commit 6dd2617c80d5133b92fdff679364f2d8fcd93b47.


  Commit: 0c6e1ca1c704a3a0fb53ae54f7e3723736f477c7
      https://github.com/llvm/llvm-project/commit/0c6e1ca1c704a3a0fb53ae54f7e3723736f477c7
  Author: Pranav Kant <prka at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/clangd/unittests/SemanticHighlightingTests.cpp
    M clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/owning-memory.cpp
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-equals-default-copy.cpp
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Sema/Lookup.h
    M clang/include/clang/Sema/Sema.h
    M clang/lib/AST/Expr.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/HLSLExternalSemaSource.cpp
    M clang/lib/Sema/SemaAttr.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaExprCXX.cpp
    M clang/lib/Sema/SemaExprMember.cpp
    M clang/lib/Sema/SemaLookup.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/test/AST/HLSL/this-reference-template.hlsl
    M clang/test/CXX/drs/dr2xx.cpp
    M clang/test/CXX/drs/dr3xx.cpp
    R clang/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p4.cpp
    M clang/test/CXX/temp/temp.res/temp.local/p3.cpp
    M clang/test/CodeGenCXX/mangle.cpp
    M clang/test/Index/annotate-nested-name-specifier.cpp
    M clang/test/SemaCXX/member-expr.cpp
    M clang/test/SemaTemplate/instantiate-function-1.cpp
    M clang/unittests/ASTMatchers/ASTMatchersNarrowingTest.cpp

  Log Message:
  -----------
  Revert "[Clang][Sema] Diagnose class member access expressions naming non-existent members of the current instantiation prior to instantiation in the absence of dependent base classes (#84050)"

This reverts commit a8fd0d029dca7d17eee72d0445223c2fe1ee7758.


  Commit: 040df69b10fc173cfc8bee007d7c9bd22f21a06c
      https://github.com/llvm/llvm-project/commit/040df69b10fc173cfc8bee007d7c9bd22f21a06c
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Use VSETVLIInfo != operator in needVSETVLIPHI. NFC

Instead of manually checking hasSameVTYPE and hasSameAVL.


  Commit: 2804a79bf6ceddf9df12f6a09fdbbe39a6d7d650
      https://github.com/llvm/llvm-project/commit/2804a79bf6ceddf9df12f6a09fdbbe39a6d7d650
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll

  Log Message:
  -----------
  [RISCV] Add test where we can remove a vsetvli via needVSETVLIPHI. NFC


  Commit: c2170a31ed063d4ec6f44a0fb8d124be92911e8b
      https://github.com/llvm/llvm-project/commit/c2170a31ed063d4ec6f44a0fb8d124be92911e8b
  Author: Alexander Shaposhnikov <6532716+alexander-shaposhnikov at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M flang/include/flang/Common/visit.h

  Log Message:
  -----------
  [Flang] Allow using common::visit with Clang (#90137)

Allow using common::visit with Clang.

Test plan: ninja check-all


  Commit: 593f6fdcb4bb3ff81ba4e6f89d7b16540c4b9eaf
      https://github.com/llvm/llvm-project/commit/593f6fdcb4bb3ff81ba4e6f89d7b16540c4b9eaf
  Author: Rob Suderman <rob.suderman at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [mlir][tensor] Fix tensor.reshape canonicalization (#90141)

Canonicalization defaulted to replacement when the input dims were from
unknown source. This is obviously incorrect. Tweaked and included test
to prevent future issue.


  Commit: 5a12f2867a167bbe11099150f3cb6b6cb77d767c
      https://github.com/llvm/llvm-project/commit/5a12f2867a167bbe11099150f3cb6b6cb77d767c
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang-tools-extra/clangd/CodeCompletionStrings.cpp
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/Support/regcomp.c
    M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp

  Log Message:
  -----------
  LLVM_FALLTHROUGH => [[fallthrough]]. NFC


  Commit: 771e4e89662f623be6e45bd4b84103552e5e910f
      https://github.com/llvm/llvm-project/commit/771e4e89662f623be6e45bd4b84103552e5e910f
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M llvm/lib/Support/regcomp.c

  Log Message:
  -----------
  regcomp.c: Restore LLVM_FALLTHROUGH to fix -Wc23-extensions


  Commit: 1e1ec916d30dc842e914e8a884f1bb4f62916730
      https://github.com/llvm/llvm-project/commit/1e1ec916d30dc842e914e8a884f1bb4f62916730
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Move PPBInfo exit check in needVSETVLIPHI. NFC

Compare the predecessor's exit after we've already checked that the PHI
comes from a vsetvli. That way it's more obvious that Require has the same
VL as PBBExit.


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

  Changed paths:
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTypeUtilities.cpp

  Log Message:
  -----------
  [NFC][WASM] refactor `WebAssembly::parseType` with `StringSwitch` (#90149)


  Commit: cbe1760f02882328c91e5764648f97fe644f44c9
      https://github.com/llvm/llvm-project/commit/cbe1760f02882328c91e5764648f97fe644f44c9
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/test/Transforms/InstCombine/sub.ll

  Log Message:
  -----------
  [InstCombine] Allow multi-use OptimizePointerDifference() with two GEPs (#90017)

Currently, the OptimizePointerDifference fold does not trigger when
working on the sub of two geps where one of the geps has multiple uses,
to avoid duplicating the offset arithmetic too much.

However, there are cases where performing it would still be
clearly profitable, e.g. test_sub_ptradd_multiuse.

This patch drops the one-use restriction using the same strategy we use
in GEP comparison folds: If there are multiple uses, we rewrite the GEP
to use the expanded offset arithmetic instead (effectively
canonicalizing it into ptradd representation).

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


  Commit: a8c88de0dff865d1969b654bb5c0df181aa2df6a
      https://github.com/llvm/llvm-project/commit/a8c88de0dff865d1969b654bb5c0df181aa2df6a
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Tools/mlir-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/mlir-pdll-lsp-server/LSPServer.cpp
    M mlir/lib/Tools/tblgen-lsp-server/LSPServer.cpp

  Log Message:
  -----------
  Revert "[mlir-lsp] Rename `OutgoingNotification` (NFC) (#90076)"

This reverts commit b77416ea156acdec. While that seemed like an
appropriate rename at the time, further review on pull request #90078
makes it unnecessary. This revert changes the name back.


  Commit: 93de97d750548cd90c53efd4367dbd0367aa30fd
      https://github.com/llvm/llvm-project/commit/93de97d750548cd90c53efd4367dbd0367aa30fd
  Author: Andreas Jonson <andjo403 at hotmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    M llvm/include/llvm/IR/Function.h
    M llvm/lib/IR/Function.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/test/Transforms/FunctionSpecialization/discover-transitive-phis.ll
    M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
    M llvm/test/Transforms/FunctionSpecialization/literal-const.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
    M llvm/test/Transforms/PhaseOrdering/icmp-ashr-breaking-select-idiom.ll
    M llvm/test/Transforms/PhaseOrdering/min_max_loop.ll
    M llvm/test/Transforms/SCCP/and-add-shl.ll
    M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
    M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
    M llvm/test/Transforms/SCCP/ipsccp-basic.ll
    M llvm/test/Transforms/SCCP/switch.ll
    M llvm/test/Transforms/SCCP/trunc-nuw-nsw-flags.ll

  Log Message:
  -----------
  [SCCP] Swap out range metadata to range attribute (#90134)

Also moved the range from the function's call sites to the functions
return value as that is possible now.


  Commit: 6844c2feae93dd42516851057277f6130f1864e1
      https://github.com/llvm/llvm-project/commit/6844c2feae93dd42516851057277f6130f1864e1
  Author: Mehdi Amini <joker.eph at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/unittests/CMakeLists.txt
    R mlir/unittests/Tools/CMakeLists.txt
    R mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
    R mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  Revert 4 last "[mlir-lsp]" commits: pre-merge bot is broken

This reverts commits:
- f3f6f22dfcced21116710a477c78e0739c942139.
- 37e13d4924841bd84edb8c67c667d6d2a6c2bc63.
- ba1b52e6e764ad637822f0b63d144eca6e5d5627.
- 84bc21f9101730af611a0175d89ae2056d5f41a7.


  Commit: c8edf11dc9a03a8a128d4a1e170df05e8f12878d
      https://github.com/llvm/llvm-project/commit/c8edf11dc9a03a8a128d4a1e170df05e8f12878d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/array.ll

  Log Message:
  -----------
  [InstCombine] Add tests for inbounds preservation in gep+add fold (NFC)


  Commit: c7f4b3e1bd5cab43d6f733a5107b2946c76bc0bb
      https://github.com/llvm/llvm-project/commit/c7f4b3e1bd5cab43d6f733a5107b2946c76bc0bb
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [scudo] Fix the misused Exhausted in region allocation (#89852)

`Region->Exhausted` indicates that we don't have more pages to create
new blocks in the region. It has different meaning from region
allocation failure.

Also fix a minor lint in popBlocks()


  Commit: d26002ac38ee1dea32053e7d12f1bb5dc420ac2d
      https://github.com/llvm/llvm-project/commit/d26002ac38ee1dea32053e7d12f1bb5dc420ac2d
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [InstCombine] Fix use-after-free in OptimizePointerDifference()

EmitGEPOffset() may remove the old GEP, so be sure to cache the
inbounds flag beforehand.


  Commit: 28b55342e1a8d7a4fddde0fe1678883cd3b2d868
      https://github.com/llvm/llvm-project/commit/28b55342e1a8d7a4fddde0fe1678883cd3b2d868
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

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

This reverts commit 96c45a7fa12619c3abd6b81effe4c80f0916b78b.

Broke BOLT builders and all pre-merge testing:
https://lab.llvm.org/buildbot/#/builders/244/builds/28097


  Commit: 59bfc31068746dcae4cfb3cc648cd5cf243a3ccd
      https://github.com/llvm/llvm-project/commit/59bfc31068746dcae4cfb3cc648cd5cf243a3ccd
  Author: Amir Ayupov <aaupov at fb.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M .ci/monolithic-linux.sh

  Log Message:
  -----------
  [CI] Use trunk Clang in BOLT testing


  Commit: 2de0bedfebb77a6c8a5b0d00902f796fa4022fd6
      https://github.com/llvm/llvm-project/commit/2de0bedfebb77a6c8a5b0d00902f796fa4022fd6
  Author: NorthBlue333 <43409865+NorthBlue333 at users.noreply.github.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M clang/lib/Format/Format.cpp
    M clang/unittests/Format/SortIncludesTest.cpp

  Log Message:
  -----------
  [clang-format] Do not update cursor pos if no includes replacement (#77456)

Fix https://github.com/llvm/llvm-project/issues/77450.

---------

Signed-off-by: NorthBlue333 <north333 at free.fr>
Co-authored-by: Owen Pan <owenpiano at gmail.com>


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

  Changed paths:
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/RISCV/fake-label-no-entry.c
    R bolt/test/RISCV/unnamed-sym-no-entry.c

  Log Message:
  -----------
  [BOLT,RISCV] Remove empty name special case from #68977

The special case is unneeded after #89693.

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


  Commit: 21b84928f99169a5679c9195c2307c2dd4c8f1fd
      https://github.com/llvm/llvm-project/commit/21b84928f99169a5679c9195c2307c2dd4c8f1fd
  Author: Vitaly Buka <vitalybuka at google.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

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

  Log Message:
  -----------
  [msan] Don't crash in CreateShadowCast on vscale (#90126)

Code expects `VectorOrPrimitiveTypeSizeInBits` compile time value,
which is not available for vscale.
    
In trivial case of the same type we need to do nothing.


  Commit: 4b255085833b58392d7699aaf5c20ea49559fda9
      https://github.com/llvm/llvm-project/commit/4b255085833b58392d7699aaf5c20ea49559fda9
  Author: SunilKuravinakop <98882378+SunilKuravinakop at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/docs/OpenMPSupport.rst

  Log Message:
  -----------
  Notifying assume directive as 'worked on'.  (#90022)

Notifying assume directive as 'worked on'. When checked on slack
channel, nobody was working on assume directive.

 Changes to be committed:
	modified:   clang/docs/OpenMPSupport.rst

---------

Co-authored-by: Sunil Kuravinakop


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

  Changed paths:
    M llvm/docs/GlobalISel/MIRPatterns.rst

  Log Message:
  -----------
  [GlobalIsel]  Add Gallery to MIR Patterns (#89974)

examples for fold of zext(trunc:nuw)


  Commit: 7840fa91a24ec7b9b771fd105ee1a9e1ba58837f
      https://github.com/llvm/llvm-project/commit/7840fa91a24ec7b9b771fd105ee1a9e1ba58837f
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir

  Log Message:
  -----------
  [RISCV] Fix doPRE not checking for ignored AVLs

This fixes a crash introduced in 011a65353b8b4dc018541f86356f2dfa0f124f1a
that showed up when compiling with -mrvv-vector-bits=zvl. Beforehand, if a
basic block only contained vmv.s.x the AVL register in VSETVLIInfo would
have been NoRegister since it ignores VL.

In doPRE if AvailableInfo had a register AVL we checked that it dominated,
but coincidentally this failed for NoRegister. Now that the ignored AVL
case is separated out, check for it and bail.

As a side note, it turns out 011a65353b8b4dc018541f86356f2dfa0f124f1a is
less NFC than it seems as we can now do PRE on blocks where AvailableInfo's
AVL is VLMAX.


  Commit: f4efa067435c8137718c907bf0de2b891b76552d
      https://github.com/llvm/llvm-project/commit/f4efa067435c8137718c907bf0de2b891b76552d
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/AbstractBasicReader.h
    M clang/include/clang/AST/AbstractBasicWriter.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Basic/LangOptions.h
    A clang/include/clang/Basic/PointerAuthOptions.h

  Log Message:
  -----------
  [PAC][clang] Define `PointerAuthQualifier` and `PointerAuthenticationMode` (#84384)

This brings declarations of `PointerAuthQualifier` class and
`PointerAuthenticationMode` enum and related functions required for
PAuth support in lldb (see #84387) from downstream Apple's code. See
#84387 for tests as well.

Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>
Co-authored-by: John McCall <rjmccall at apple.com>

---------

Co-authored-by: John McCall <rjmccall at apple.com>
Co-authored-by: Ahmed Bougacha <ahmed at bougacha.org>


  Commit: 0d288e5b0ccf217e41944ad4fd8772d8ae45daa1
      https://github.com/llvm/llvm-project/commit/0d288e5b0ccf217e41944ad4fd8772d8ae45daa1
  Author: Sunho Kim <ksunhokim123 at gmail.com>
  Date:   2024-04-25 (Thu, 25 Apr 2024)

  Changed paths:
    M compiler-rt/lib/orc/common.h
    M compiler-rt/lib/orc/elfnix_platform.cpp
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
    M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
    A llvm/include/llvm/ExecutionEngine/Orc/IRPartitionLayer.h
    A llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    A llvm/include/llvm/ExecutionEngine/Orc/ReOptimizeLayer.h
    A llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
    A llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
    A llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    A llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
    A llvm/lib/ExecutionEngine/Orc/RedirectionManager.cpp
    M llvm/tools/lli/lli.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    A llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    A llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  [ORC] Implement basic reoptimization. (#67050)


  Commit: 82d87600e5141af85deb8f3c5387513fda50dc43
      https://github.com/llvm/llvm-project/commit/82d87600e5141af85deb8f3c5387513fda50dc43
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/mul.ll

  Log Message:
  -----------
  [InstCombine] Add extra tests for mul nuw inference (NFC)


  Commit: 47682e4b4a0c8e7637d65868a7208aa6806a50f4
      https://github.com/llvm/llvm-project/commit/47682e4b4a0c8e7637d65868a7208aa6806a50f4
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M compiler-rt/lib/orc/common.h
    M compiler-rt/lib/orc/elfnix_platform.cpp
    M llvm/examples/Kaleidoscope/BuildingAJIT/Chapter3/KaleidoscopeJIT.h
    M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
    M llvm/include/llvm/ExecutionEngine/Orc/CompileOnDemandLayer.h
    R llvm/include/llvm/ExecutionEngine/Orc/IRPartitionLayer.h
    R llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    R llvm/include/llvm/ExecutionEngine/Orc/ReOptimizeLayer.h
    R llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h
    M llvm/lib/ExecutionEngine/Orc/CMakeLists.txt
    M llvm/lib/ExecutionEngine/Orc/CompileOnDemandLayer.cpp
    R llvm/lib/ExecutionEngine/Orc/IRPartitionLayer.cpp
    R llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    R llvm/lib/ExecutionEngine/Orc/ReOptimizeLayer.cpp
    R llvm/lib/ExecutionEngine/Orc/RedirectionManager.cpp
    M llvm/tools/lli/lli.cpp
    M llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt
    R llvm/unittests/ExecutionEngine/Orc/JITLinkRedirectionManagerTest.cpp
    R llvm/unittests/ExecutionEngine/Orc/ReOptimizeLayerTest.cpp

  Log Message:
  -----------
  Revert "[ORC] Implement basic reoptimization. (#67050)"

This reverts commit 0d288e5b0ccf217e41944ad4fd8772d8ae45daa1.

Breaks the build.


  Commit: 0d56d88d9fc48f1b97a641422ee23cc6eabcd6ef
      https://github.com/llvm/llvm-project/commit/0d56d88d9fc48f1b97a641422ee23cc6eabcd6ef
  Author: Pavel Labath <pavel at labath.sk>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-abort.test

  Log Message:
  -----------
  [lldb] Update eh-frame-dwarf-unwind-abort.test for a change in llvm assembler

The jump instruction now gets encoded as a near jump, which changes some
offsets.


  Commit: 2308d4697e0b3b0cfd905e2b025ea905ee763fbe
      https://github.com/llvm/llvm-project/commit/2308d4697e0b3b0cfd905e2b025ea905ee763fbe
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Rename locals and add assertions to virtual casts


  Commit: 8979644bbd82b85ef40c17165b37769980455b75
      https://github.com/llvm/llvm-project/commit/8979644bbd82b85ef40c17165b37769980455b75
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Add InlineDescriptor::dump()


  Commit: c70f05831663915f1c66d3767803ff74c08e79ee
      https://github.com/llvm/llvm-project/commit/c70f05831663915f1c66d3767803ff74c08e79ee
  Author: martinboehme <mboehme at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp

  Log Message:
  -----------
  [clang][dataflow] Fix crash when `ConstantExpr` is used in conditional operator. (#90112)

`ConstantExpr` does not appear as a `CFGStmt` in the CFG, so
`StmtToEnvMap::getEnvironment()` was not finding an entry for it in the
map,
causing a crash when we tried to access the iterator resulting from the
map
lookup.

The fix is to make `ignoreCFGOmittedNodes()` ignore `ConstantExpr`, but
in
addition, I'm hardening `StmtToEnvMap::getEnvironment()` to make sure
release
builds don't crash in similar situations in the future.


  Commit: 2b2c66c00f968b439f159bf200f801da9afaf22f
      https://github.com/llvm/llvm-project/commit/2b2c66c00f968b439f159bf200f801da9afaf22f
  Author: long.chen <lipracer at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [NFC][llvm] refine generated code format (#90172)


  Commit: 88a733f8e6ca42de8c7818cc404e38cbc8f497c9
      https://github.com/llvm/llvm-project/commit/88a733f8e6ca42de8c7818cc404e38cbc8f497c9
  Author: bd1976bris <bd1976llvm at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/docs/CommandGuide/llvm-objcopy.rst

  Log Message:
  -----------
  [llvm-objcopy][docs] Use "Mark" rather than "Make" in the objcopy docs for consistency (#90080)

llvm-objcopy --help uses the term "Mark" rather than "Make".
  e.g. "Mark all symbols local"
Change llvm/docs to align.


  Commit: c2db883ff4340b2f70154eca04e3adbc8e0d082c
      https://github.com/llvm/llvm-project/commit/c2db883ff4340b2f70154eca04e3adbc8e0d082c
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Print virtual bases in Record::dump()


  Commit: bc8a4ea11070d06374b403cd09b771a99cc6ba1a
      https://github.com/llvm/llvm-project/commit/bc8a4ea11070d06374b403cd09b771a99cc6ba1a
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Move collectBaseOffset() to Context

We will need this outside of ByteCodeExprGen later.


  Commit: 22da5a6e34ed6146752b24d9156a678b50fddaef
      https://github.com/llvm/llvm-project/commit/22da5a6e34ed6146752b24d9156a678b50fddaef
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    A llvm/test/Transforms/IRCE/pr89959.ll

  Log Message:
  -----------
  [IRCE] Skip icmp ptr in `InductiveRangeCheck::parseRangeCheckICmp` (#89967)

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


  Commit: c4b28bf903644c8c540310594983eba741d45abe
      https://github.com/llvm/llvm-project/commit/c4b28bf903644c8c540310594983eba741d45abe
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md
    M lldb/docs/resources/lldbplatformpackets.md

  Log Message:
  -----------
  [lldb][Docs] Link from platform doc to extensions doc (#90029)

So we aren't describing the same packets twice. Basically turning the
platform doc into a list of cross links.

qLaunchSuccess was missing a description so I added one.


  Commit: d529e780f3935aadd42688fa8ab45d0350c2f70c
      https://github.com/llvm/llvm-project/commit/d529e780f3935aadd42688fa8ab45d0350c2f70c
  Author: Owen Anderson <resistor at mac.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/lib/Transforms/Scalar/GVN.cpp

  Log Message:
  -----------
  [GVN] Refactor the LeaderTable structure into a properly encapsulated data structure (#88347)

Hide the details of the one-off linked list used to implement the leader
lists by
wrapping them in iterators, and then use that to reimplement a number of
traversals
using standard algorithms and range-based for-loops.

No functional change intended.


  Commit: bd53c7cce418fe7f3e171859d4718df15d03dc2b
      https://github.com/llvm/llvm-project/commit/bd53c7cce418fe7f3e171859d4718df15d03dc2b
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md

  Log Message:
  -----------
  [lldb][Docs] Document vFile "MD5" and "exists"

This is a Markdown version of https://github.com/llvm/llvm-project/pull/89357.


  Commit: 1a343c9b0ff0b38d841a54bdbef130dbdc624451
      https://github.com/llvm/llvm-project/commit/1a343c9b0ff0b38d841a54bdbef130dbdc624451
  Author: zxc12523 <76193329+zxc12523 at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [X86] LowerVectorCTLZInRegLUT - fix: typo "CLTZ"-> "CTLZ" (#90051)


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

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

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


Since C++14 has been released for about nine years and most standard
libraries have implemented sized deallocation functions, it's time to
make this feature default again.

This is another try of https://reviews.llvm.org/D112921.

Fixes #60061


  Commit: 1c8ba24da884b612125aafed98f67f41883dc24c
      https://github.com/llvm/llvm-project/commit/1c8ba24da884b612125aafed98f67f41883dc24c
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Runtime/descriptor.h

  Log Message:
  -----------
  [flang] Silence warning in release builds

/home/david.spickett/llvm-project/flang/include/flang/Runtime/descriptor.h:458:30: warning: variable 'addendum' set but not used [-Wunused-but-set-variable]
  458 |     if (DescriptorAddendum * addendum{descriptor().Addendum()}) {
      |

The if body is purely asserts.


  Commit: e0a51553c40ec9193be30a5ee41d786ef896811b
      https://github.com/llvm/llvm-project/commit/e0a51553c40ec9193be30a5ee41d786ef896811b
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h

  Log Message:
  -----------
  [LoongArch] Simplify RISCVSubtarget. NFC

The flags, initialization of the flags, and the getter methods for
features defined in LoongArch.td can be generated by TableGen.


  Commit: 15f02723d49be9a828fbf072966a225babd60457
      https://github.com/llvm/llvm-project/commit/15f02723d49be9a828fbf072966a225babd60457
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/records.cpp

  Log Message:
  -----------
  [clang][Interp] Improve support for virtual bases

Fix initializing virtual bases. We only consider their base size,
not their virtual size because they get flattened into the Record
hierarchy when we create them. Fix that and also virtual
derived-to-base casts.


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

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

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

In the AMDGPU backend we have some cases where we'd like to mark an
intrinsic as IntrInaccessibleMemOnly to model dependencies, but the
corresponding MachineInstrs use uses/defs of a special physical register
to express the same thing. In this case TableGen would complain:

  Pattern doesn't match mayLoad/mayStore = 0

but the error is not useful.


  Commit: 23b6709c72357c8b8f0ffa6cdbd860977441982b
      https://github.com/llvm/llvm-project/commit/23b6709c72357c8b8f0ffa6cdbd860977441982b
  Author: Antonio Frighetto <me at antoniofrighetto.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64InstrInfo.cpp
    M llvm/test/CodeGen/AArch64/machine-combiner-subadd2.mir

  Log Message:
  -----------
  [AArch64] Drop poison-generating flags in `genSubAdd2SubSub` combiner

A miscompilation issue has been addressed with improved handling.

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


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

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

  Log Message:
  -----------
  [llvm-exegesis] Close file descriptors after use (#86584)

There are several insstances in the subprocess executor in llvm-exegesis
where we fail to close file descriptors after using them. This leaves
them open, which can cause issues later on if a third-party binary is
using the exegesis libraries and executing many blocks before exiting.
Leaving the descriptors open until process exit is also bad practice.
This patch fixes that by explicitly calling close() when we are done
with a specific file descriptor.

This patch fixes #86583.


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

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

  Log Message:
  -----------
  [clang] Fix -Wunused-variable in ByteCodeStmtGen.cpp (NFC)

llvm-project/clang/lib/AST/Interp/ByteCodeStmtGen.cpp:196:31:
error: unused variable 'B' [-Werror,-Wunused-variable]
          const Record::Base *B = R->getVirtualBase(BaseDecl);
                              ^
1 error generated.


  Commit: 08dc03c57078ab806dbf015554b9faf38ccc4d4d
      https://github.com/llvm/llvm-project/commit/08dc03c57078ab806dbf015554b9faf38ccc4d4d
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to create LoopVersioning constructor (#90037)

The pass is currently defined as only considering function arguments as
candidates for the optimization. I would prefer to generalise the pass
for other top level operations only when there is a concrete use case
before making too many assumptions about the current set of top level
operations. Therefore I have not adapted this pass to run on all top
level operations.


  Commit: 46b66dfd31ed0206b4444b77612df42193fe5b42
      https://github.com/llvm/llvm-project/commit/46b66dfd31ed0206b4444b77612df42193fe5b42
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/StackArrays.cpp

  Log Message:
  -----------
  [flang][NFC] use tablegen to create StackArrays constructor (#90038)

Stack arrays needs to stay running only on func.func because it needs to
know which block terminators can end the function (rather than just
branch between unstructured control flow). A similar concept does not
exist at the more abstract level of "any top level mlir operation".

For example, it currently looks for func::ReturnOp and
fir::UnreachableOp as points when execution can end. If this were to be
run on omp.declare_reduction, it would also need to understand
omp.YieldOp (perhaps only when omp.declare_reduction is the parent).
There isn't a generic concept in MLIR for this.


  Commit: 213ab9610ced9152f70f5b9777347c28e777a0ff
      https://github.com/llvm/llvm-project/commit/213ab9610ced9152f70f5b9777347c28e777a0ff
  Author: Tom Eccles <tom.eccles at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp

  Log Message:
  -----------
  [flang][NFC] Use tablegen to reduce MemoryAllocationOpt boilerplate (#90062)

This is another one that runs on functions but isn't appropriate to also
run on other top level operations. It needs to find all paths that
return from the function to free heap allocated memory. There isn't a
generic concept for general top level operations which is equivalent to
looking for function returns.

I removed the manual definition of the options structure because there
is already an identical definition in tablegen and the options are
documented in Passes.td.


  Commit: 2e3e0868748635b779ba89a772eae3664bd822e4
      https://github.com/llvm/llvm-project/commit/2e3e0868748635b779ba89a772eae3664bd822e4
  Author: CL <48561979+coderchenlin at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    A llvm/test/Transforms/LoopUnroll/unroll-remove-redundant-dbg.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-inlined.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll

  Log Message:
  -----------
  [BasicBlockUtils] Remove redundant llvm.dbg instructions after blocks to reduce compile time (#89069)

this patch is to fix the compile time for some cases, before this
change, some targets (riscv-64, ve) will spend much more compile time on
this case (https://godbolt.org/z/rrov17cTo). With this change, the
compile time was reduced a lot.

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

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


  Commit: 1ed1ec9a99bf543b0a926434beca53a42d2de94d
      https://github.com/llvm/llvm-project/commit/1ed1ec9a99bf543b0a926434beca53a42d2de94d
  Author: Vyacheslav Levytskyy <vyacheslav.levytskyy at intel.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    A llvm/test/CodeGen/SPIRV/printf.ll
    A llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll

  Log Message:
  -----------
  [SPIRV] Improve builtins matching  and type inference in SPIR-V Backend,  fix target ext type constants (#89948)

This PR is to improve builtins matching and type inference in SPIR-V
Backend. The model test case is printf call from OpenCL.std that has
several features allowing for a wider look at builtins support/type
inference:
(1) call in a "spirv-friendly" style (prefixed by __spirv_ocl_)
(2) restricted type of the 1st argument

Attached test cases checks several possible inputs. Support of the
extension SPV_EXT_relaxed_printf_string_address_space is to do (see:
https://github.com/KhronosGroup/SPIRV-Registry/blob/main/extensions/EXT/SPV_EXT_relaxed_printf_string_address_space.asciidoc).

This PR also fixes target ext type constants and
OpGroupAsyncCopy/OpGroupWaitEvents generation. A new test case is
attached.


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

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-load.ll

  Log Message:
  -----------
  AMDGPU: Do not bitcast atomic load in IR (#90060)

These hooks should be removed. This is a trivial legalization transform
the legalizer needs to support. The IR just complicates things, and it
was losing metadata. Implement the DAG promotion support, and switch
AMDGPU over to using it.

Really we'd be a lot better off merging ATOMIC_LOAD and LOAD like
GlobalISel does.


  Commit: 5c969af66ac1ea58425101772ad099698f49a20d
      https://github.com/llvm/llvm-project/commit/5c969af66ac1ea58425101772ad099698f49a20d
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    A flang/test/Lower/OpenMP/default-clause-implied-do-fix.f90

  Log Message:
  -----------
  [Flang][OpenMP] Skip default privatization of implied do indices (#89915)

The scope of these indices is limited to the implied-do and is mapped to
SSA values or registers and hence need not be privatized.

Fixes #87216


  Commit: 0fa1f1f2d117564d86a0df8383e84341ba85c531
      https://github.com/llvm/llvm-project/commit/0fa1f1f2d117564d86a0df8383e84341ba85c531
  Author: Paul Walker <paul.walker at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_sve.td
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td

  Log Message:
  -----------
  [LLVM][SVE] Seperate the int and floating-point variants of addqv. (#89762)

We only use common intrinsics for operations that treat their element
type as a container of bits.


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

  Changed paths:
    A llvm/test/CodeGen/X86/combine-or-shuffle.ll
    M llvm/test/CodeGen/X86/combine-or.ll

  Log Message:
  -----------
  [X86] Split off or + blend/shuffle combine tests from combine-or.ll

Add additional cpu test coverage


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

  Changed paths:
    M llvm/test/CodeGen/X86/combine-or.ll

  Log Message:
  -----------
  [X86] Add test coverage for #89533


  Commit: 1b2f970e9f40eb2a3bd082b6a660d4f58ba4f59b
      https://github.com/llvm/llvm-project/commit/1b2f970e9f40eb2a3bd082b6a660d4f58ba4f59b
  Author: CarolineConcatto <caroline.concatto at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Features.td
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/test/MC/AArch64/SME2p1/fadd-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fadd.s
    M llvm/test/MC/AArch64/SME2p1/fcvt.s
    M llvm/test/MC/AArch64/SME2p1/fcvtl-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fcvtl.s
    M llvm/test/MC/AArch64/SME2p1/fmla-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmla.s
    M llvm/test/MC/AArch64/SME2p1/fmls-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmls.s
    M llvm/test/MC/AArch64/SME2p1/fmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmopa.s
    M llvm/test/MC/AArch64/SME2p1/fmops-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmops.s
    M llvm/test/MC/AArch64/SME2p1/fsub-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fsub.s

  Log Message:
  -----------
  [LLVM][AARCH64]Replace +sme2p1+smef16f16 by +smef16f16 (#88860)

According to the latest ISA Spec release[1] all instructions under:
     HasSME2p1 and HasSMEF16F16
should now only require:
    HasSMEF16F16

    [1]https://developer.arm.com


  Commit: 468fecfc39a7ad4a88ac9f8b8acb5ea76cbb1fc7
      https://github.com/llvm/llvm-project/commit/468fecfc39a7ad4a88ac9f8b8acb5ea76cbb1fc7
  Author: Troy Butler <118708570+Troy-Butler at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h

  Log Message:
  -----------
  Fix mismatches between function parameter definitions and declarations (#89512)

Addresses issue #88716.

Some function parameter names in the affected header files did not match
the parameter names in the definitions, or were listed in a different
order.

---------

Signed-off-by: Troy-Butler <squintik at outlook.com>


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

  Changed paths:
    M llvm/docs/ReleaseNotes.rst
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/RISCV/atomic-load-store.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll

  Log Message:
  -----------
  Revert "[llvm][RISCV] Enable trailing fences for seq-cst stores by default (#87376)"

This reverts commit 733b271db793ce30c504a1b5c4ae7a8775b0a6a2.

Reverting in order to revert the companion patch adding the atomics ABI
ELF attributes due to the reported incompatibility with GNU ld.
https://github.com/llvm/llvm-project/pull/84597#issuecomment-2079128332


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

  Changed paths:
    M lld/ELF/Arch/RISCV.cpp
    M lld/test/ELF/riscv-attributes.s
    M llvm/include/llvm/Support/RISCVAttributeParser.h
    M llvm/include/llvm/Support/RISCVAttributes.h
    M llvm/lib/Support/RISCVAttributeParser.cpp
    M llvm/lib/Support/RISCVAttributes.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/MC/RISCV/attribute.s
    M llvm/test/MC/RISCV/invalid-attribute.s

  Log Message:
  -----------
  Revert "[RISCV] Support RISCV Atomics ABI attributes (#84597)"

This reverts commit 9221f3af8f832d990be986c05d964ad37e5a2356.

As reported
<https://github.com/llvm/llvm-project/pull/84597#issuecomment-2079128332>
and confirmed by me locally, adding these attributes causes current GNU
ld to segfault when processing the input. Reverted so we can discuss
the best next step.


  Commit: 73472c5996716cda0dbb3ddb788304e0e7e6a323
      https://github.com/llvm/llvm-project/commit/73472c5996716cda0dbb3ddb788304e0e7e6a323
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/combine-mul.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
    M llvm/test/CodeGen/X86/combine-mul.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/fold-masked-merge.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/freeze-combine.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/pr62286.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll

  Log Message:
  -----------
  [SelectionDAG] Treat CopyFromReg as freezing the value (#85932)

The description of CopyFromReg in ISDOpcodes.h says that the input
valus is defined outside the scope of the current SelectionDAG. I
think that means that we basically can treat it as a FREEZE in the
sense that it can be seen as neither being undef nor poison.

Being able to fold freeze(CopyFromReg) into CopyFromReg seems
useful to avoid regressions if we start to introduce freeze
instruction in DAGCombiner/foldBoolSelectToLogic, e.g. to solve
https://github.com/llvm/llvm-project/issues/84653

Things _not_ dealt with in this patch:
- Depending on calling convention an input argument can be passed
  also on the stack and not in a register. If it is allowed to treat
  an argument received in a register as not being poison, then I think
  we want to treat arguments received on the stack the same way. But
  then we need to attribute load instructions, or add explicit FREEZE
  when lowering formal arguments.
- A common pattern is that there is an AssertZext or AssertSext just
  after CopyFromReg. I think that if we treat CopyFromReg as never
  being poison, then it should be allowed to fold
     (freeze(AssertZext(CopyFromReg))) -> AssertZext(CopyFromReg))


  Commit: 8e2f6495c0bac1dd6ee32b6a0d24152c9c343624
      https://github.com/llvm/llvm-project/commit/8e2f6495c0bac1dd6ee32b6a0d24152c9c343624
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/test/CodeGen/X86/freeze-binary.ll

  Log Message:
  -----------
  [DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)

Avoid turning a BUILD_VECTOR that can be recognized as "all zeros",
"all ones" or "constant" into something that depends on
freeze(undef), as that would destroy those properties.

Instead we replace undef by 0/-1 in such vectors, making it possible
to fold away the freeze. We typically use -1 if the BUILD_VECTOR
would identify as "all ones", and otherwise we use the value 0.


  Commit: a670cdadca54910a8e65d5521f2119337fb0bd03
      https://github.com/llvm/llvm-project/commit/a670cdadca54910a8e65d5521f2119337fb0bd03
  Author: Jonathan Thackray <jonathan.thackray at arm.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/test/Driver/aarch64-mcpu.c
    M clang/test/Misc/target-invalid-cpu-note.c
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/TargetParser/Host.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp

  Log Message:
  -----------
  [AArch64] Add support for Neoverse-N3, Neoverse-V3 and Neoverse-V3AE (#90143)

Neoverse-N3, Neoverse-V3 and Neoverse-V3AE are Armv9.2 AArch64 CPUs.

Technical Reference Manual for Neoverse-N3:
   https://developer.arm.com/documentation/107997/latest/

Technical Reference Manual for Neoverse-V3:
   https://developer.arm.com/documentation/107734/latest/

Technical Reference Manual for Neoverse-V3AE:
   https://developer.arm.com/documentation/101595/latest/


  Commit: 134e645645832af6fe9c15d121551de989aa81cf
      https://github.com/llvm/llvm-project/commit/134e645645832af6fe9c15d121551de989aa81cf
  Author: Dan Klishch <30951924+DanShaders at users.noreply.github.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    M clang/lib/Headers/cpuid.h

  Log Message:
  -----------
  [clang][X86] Fix -Wundef warning in cpuid.h (#89842)

Caught by compiling a project (SerenityOS) that uses compiler-rt and not
silencing warnings from system headers.


  Commit: 39f1b2de6f6d45de226292fd24e2a2ceaab6c82f
      https://github.com/llvm/llvm-project/commit/39f1b2de6f6d45de226292fd24e2a2ceaab6c82f
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/RISCV/pr84653_pr85190.ll

  Log Message:
  -----------
  Add test cases for SELECT->AND miscompiles in DAGCombiner

Adding reproducers for github issues #84653 and #85190.


  Commit: c4c9d4f306732c854fa88d2f30c1a22bb025d0c9
      https://github.com/llvm/llvm-project/commit/c4c9d4f306732c854fa88d2f30c1a22bb025d0c9
  Author: Peter Lafreniere <peter at n8pjl.ca>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

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

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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

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

Fixes #89533


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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

This reverts commit 6578356a4e3e6acd7983c74feab43ac96925894c.

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


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

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

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

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

Metric: size..text

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

In all benchmarks extra code gets vectorized

Reviewers: RKSimon

Reviewed By: RKSimon

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


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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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


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

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

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


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

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

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

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

Fixes #60174

---------

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


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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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


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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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

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


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

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

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


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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

rdar://127049438


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

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

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

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


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

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

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

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


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

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

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

Resolves #89674


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

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

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

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

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


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

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

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

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


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

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

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

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


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

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

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

- One of tests needs target directx


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

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

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

This reverts commit 950b7ce0b88318f9099e9a7c9817d224ebdc6337.

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


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

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

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

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

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


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

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

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

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

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

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

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


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

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

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


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

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

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


  Commit: 022dc6bab5c47dfd18cde87f36e8fece43328fdf
      https://github.com/llvm/llvm-project/commit/022dc6bab5c47dfd18cde87f36e8fece43328fdf
  Author: Florian Mayer <fmayer at google.com>
  Date:   2024-04-26 (Fri, 26 Apr 2024)

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

  Log Message:
  -----------
  [NFC] [HWASan] factor out debug record annotation (#90252)

This will also be used by stack MTE


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

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

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

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

rdar://127128536


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

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

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

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


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

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

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

Data transfer should not be issued in device function.


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

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

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

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


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

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

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

Reference section name via wrapper.


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

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

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

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


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

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

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

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

rdar://125052667


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

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

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

Trying to do fewerElements on this results in an assert.

rdar://126373053


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

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

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

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

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

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


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

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

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


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

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

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

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


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

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

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

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

Fixes #90289


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

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

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

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


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

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

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

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

More details in #83774

This reverts commit cf5a8b489464d09dfdd7a48ce7c8b41d3c9bf819.


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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

Fixes #78166.


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

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

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

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

---------

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


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

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

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


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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

New test fails without the patch on

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


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

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

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

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

fix #88732


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

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

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

preliminary steps
poison symbols


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

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

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

Reverts llvm/llvm-project#90307

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


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

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

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

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


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

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

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

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


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

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

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

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

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


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

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

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

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


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

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

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


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

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

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

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


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

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

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

This patch automatically formats the code.


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

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

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

Fixes #90286


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

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

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

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


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

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

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

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


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

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

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

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

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

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


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

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

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

Fix minor style problems in release notes.


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

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

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

Reverts llvm/llvm-project#90207

LLD Bots are broken.


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

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

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

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


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

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

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


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

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

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

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


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

  Changed paths:
    M .github/CODEOWNERS

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


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

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

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

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


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

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

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


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

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

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

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

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

Reviewers: fpetrogalli, asb, topperc

Reviewed By: topperc, asb

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


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

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

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

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

Reviewers: michaelmaitland, 4vtomat, preames, asb

Reviewed By: michaelmaitland, preames, 4vtomat

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


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

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

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

So we can only mantain one place.

Reviewers: preames, yetingk, topperc

Reviewed By: topperc

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


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

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

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

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


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

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

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

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

---------

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


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

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

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

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

For the reproducer:

```
//--- header.h

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

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

    inline Y<int> x;
}

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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


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

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

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

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

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

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

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

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

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


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

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

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

This patch fixes a FIXME in StoredDeclList::replaceExternalDecls.

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

It should be better to avoid the second iterations.


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

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

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


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

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

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

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


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

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

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

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

This does not change the experimental state of modules.


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

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

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

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


  Commit: dc6ce60801ede0c6423470961d3728596ee46b04
      https://github.com/llvm/llvm-project/commit/dc6ce60801ede0c6423470961d3728596ee46b04
  Author: Fabian Mora <fmora.dev at gmail.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp

  Log Message:
  -----------
  [mlir][gpu] Remove `offloadingHandler` from `ModuleToBinary` (#90368)

This patch removes the `offloadingHandler` option from the
`ModuleToBinary` pass. The option is removed as it cannot be parsed from
textual form.

This fixes issue #90344.


  Commit: 4cec3b36f6d6c858992530fa5592824622ada9c7
      https://github.com/llvm/llvm-project/commit/4cec3b36f6d6c858992530fa5592824622ada9c7
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir

  Log Message:
  -----------
  [MLIR][Linalg] More Linalg named ops (#90236)

Adding `min` that was already implemented but not exposed.

Adding a few additional unary ops:
* Reciprocal as `arith.div(1,arg)`
* Round as `math.round(arg)`
* Sqrt as `math.sqrt(arg)`
* Rsqrt as `math.rsqrt(arg)`
* Square as `math.powf(arg, 2)`
* TanH as `math.tanh(arg)`

All with the agreed semantics at the round table: no implicit
broadcast/type cast.


  Commit: 256d76f48060a353ba3bb885698e2ba8d1c87ec6
      https://github.com/llvm/llvm-project/commit/256d76f48060a353ba3bb885698e2ba8d1c87ec6
  Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/docs/ConvergenceAndUniformity.rst
    M llvm/docs/ConvergentOperations.rst

  Log Message:
  -----------
  [Docs] Improve the description of convergence (#89038)

- Clarify convergence of threads v/s convergence of operations.
- Explicitly address operations that are not in any cycle.

This was inspired by a discussion on Discourse:
https://discourse.llvm.org/t/llvm-convergence-semantics/77642


  Commit: 98001a662c28c7e7d36b13be3073d41dbcd961b0
      https://github.com/llvm/llvm-project/commit/98001a662c28c7e7d36b13be3073d41dbcd961b0
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [X86] Fix tabs/spaces typo. NFC.


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

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

  Log Message:
  -----------
  [X86] cmp.ll - update check prefixes to share common CHECK

Split ndd/no-ndd check prefix cases


  Commit: 8ad092f126bd1d6f9fe6006eba1e3115a080235e
      https://github.com/llvm/llvm-project/commit/8ad092f126bd1d6f9fe6006eba1e3115a080235e
  Author: Fangrui Song <i at maskray.me>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    A clang/test/Misc/cc1as-relax-all.s
    M clang/tools/driver/cc1as_main.cpp

  Log Message:
  -----------
  [cc1as] Respect -mrelax-all

So that `clang -c -mrelax-all a.s` sets MCRelaxAll and assembles JMP/JCC
to a near jump instead of silently ignoring `-mrelax-all`.


  Commit: 216787cffc4a864e0effb165c1c32b92328a0a06
      https://github.com/llvm/llvm-project/commit/216787cffc4a864e0effb165c1c32b92328a0a06
  Author: Théo Degioanni <theo.degioanni.llvm.deluge062 at simplelogin.fr>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M mlir/test/Dialect/Arith/canonicalize.mlir

  Log Message:
  -----------
  [mlir][arith] Add tests for i0 canonicalization (#89665)

Before #87193, the canonicalizer in arith crashed when attempting signed
extension on an i0 value. To hopefully avoid it happening again, this PR
introduces tests for canonicalization of arith operations with i0
values, focusing on operations related to bit width or signedness.


  Commit: 6dd90616c477d83c156eed62c880e951bb508cfd
      https://github.com/llvm/llvm-project/commit/6dd90616c477d83c156eed62c880e951bb508cfd
  Author: cor3ntin <corentinjabot at gmail.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Parser/cxx1z-decomposition.cpp
    M clang/test/SemaCXX/unused.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement C++26 Attributes for Structured Bindings (P0609R3) (#89906)

https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p0609r3.pdf

We support this feature in all language mode.

maybe_unused applied to a binding makes the whole declaration unused.


  Commit: 352602010fac5c7e07bc6b992848ab746d0c2857
      https://github.com/llvm/llvm-project/commit/352602010fac5c7e07bc6b992848ab746d0c2857
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

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

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

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

This iteration fixes a problem uncovered with ubsan, where we were
dereferencing an uninitialized std::unique_ptr.


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

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

  Log Message:
  -----------
  [memprof] Add access checks to PortableMemInfoBlock::get* (#90121)

commit 4c8ec8f8bc3fb4dda4fd36c3b2ad745bd3451970
  Author: Kazu Hirata <kazu at google.com>
  Date:   Wed Apr 24 16:25:35 2024 -0700

introduced the idea of serializing/deserializing a subset of the
fields in PortableMemInfoBlock.  While it reduces the size of the
indexed MemProf profile file, we now could inadvertently access
unavailable fields and go without noticing.

To protect ourselves from the risk, this patch adds access checks to
PortableMemInfoBlock::get* methods by embedding a bit set representing
available fields into PortableMemInfoBlock.


  Commit: fac349a169976f822fb27f03e623fa0d28aec1f3
      https://github.com/llvm/llvm-project/commit/fac349a169976f822fb27f03e623fa0d28aec1f3
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  Reapply "[mlir] Mark `isa/dyn_cast/cast/...` member functions depreca… (#90406)

…ted. (#89998)" (#90250)

This partially reverts commit 7aedd7dc754c74a49fe84ed2640e269c25414087.

This change removes calls to the deprecated member functions. It does
not mark the functions deprecated yet and does not disable the
deprecation warning in TypeSwitch. This seems to cause problems with
MSVC.


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

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

  Log Message:
  -----------
  [VPlan] Make createScalarIVSteps return VPScalarIVStepsRecipe (NFC).

This avoids the need for using getVPSingleValue/getDefiningRecipe at the
place the return value is used.


  Commit: 9c1de620344b2518bb171be51066e1ec9a5be623
      https://github.com/llvm/llvm-project/commit/9c1de620344b2518bb171be51066e1ec9a5be623
  Author: Owen Pan <owenpiano at gmail.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

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

  Log Message:
  -----------
  [clang-format][NFC] Return early in isWordLike() for non-Verilog (#90363)


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

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

  Log Message:
  -----------
  [clang-format] Set Change.TokenLength to ColumnWidth (#90378)

Fixes #37705.
Fixes #47333.
Fixes #47624.
Fixes #58850.
Fixes #75929.
Fixes #87885.
Fixes #89916.


  Commit: 145176dc0c93566ce4aef721044d49ab8ba50f87
      https://github.com/llvm/llvm-project/commit/145176dc0c93566ce4aef721044d49ab8ba50f87
  Author: Jeremy Kun <jkun at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    A mlir/test/Dialect/Polynomial/ops.mlir
    A mlir/test/Dialect/Polynomial/ops_errors.mlir
    M mlir/test/Dialect/Polynomial/types.mlir

  Log Message:
  -----------
  polynomial: Add basic ops (#89525)

Adds a few basic polynomial ops.

- add, sub, mul
- mul_scalar
- leading_term, monomial_mul, monomial (useful for lowering `mul` to
standard MLIR)
- from_tensor, to_tensor, constant

---------

Co-authored-by: Jeremy Kun <j2kun at users.noreply.github.com>
Co-authored-by: Oleksandr "Alex" Zinenko <ftynse at gmail.com>


  Commit: 35b89dda2b9734917824b1457f149192669b314c
      https://github.com/llvm/llvm-project/commit/35b89dda2b9734917824b1457f149192669b314c
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/test/CodeGen/X86/avx512bwvl-arith.ll

  Log Message:
  -----------
  [X86][EVEX512] Check hasEVEX512 for canExtendTo512DQ (#90390)

Fixes #90356


  Commit: feaddc10194e54a5ef977320134956ad91591324
      https://github.com/llvm/llvm-project/commit/feaddc10194e54a5ef977320134956ad91591324
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/test/Transforms/InstCombine/array.ll

  Log Message:
  -----------
  [InstCombine] Preserve inbounds when canonicalizing gep+add (#90160)

When canonicalizing gep+add into gep+gep we can preserve inbounds if the
add is also nsw and both add operands are non-negative (or both
negative, but I don't think that's practically relevant).

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


  Commit: 3c553fc9e0503240c9fa6d937de0cbcb956303ce
      https://github.com/llvm/llvm-project/commit/3c553fc9e0503240c9fa6d937de0cbcb956303ce
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/test/Transforms/InstCombine/mul.ll

  Log Message:
  -----------
  [InstCombine] Infer nuw on mul nsw with non-negative operands (#90170)

If a mul nsw has non-negative operands, it's also nuw.

Proof: https://alive2.llvm.org/ce/z/2Dz9Uu

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


  Commit: 2951dba98beb97a73da3443dcdb2eb09069e1aca
      https://github.com/llvm/llvm-project/commit/2951dba98beb97a73da3443dcdb2eb09069e1aca
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/avx512bwvl-arith.ll

  Log Message:
  -----------
  [X86] Fix prefix type, NFC


  Commit: da213d77c026ded4e13911959c4a6ff24a6a0d73
      https://github.com/llvm/llvm-project/commit/da213d77c026ded4e13911959c4a6ff24a6a0d73
  Author: Jie Fu <jiefu at tencent.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt

  Log Message:
  -----------
  [MLIR] Fix linking error of PolynomialDialect on MacOS (NFC)

ld64.lld: error: undefined symbol: mlir::detail::verifyInferredResultTypes(mlir::Operation*)
>>> referenced by tools/mlir/lib/Dialect/Polynomial/IR/CMakeFiles/obj.MLIRPolynomialDialect.dir/PolynomialDialect.cpp.o:(symbol mlir::Op<mlir::polynomial::AddOp, mlir::OpTrait::ZeroRegions, mlir::OpTrait::OneResult, mlir::OpTrait::OneTypedResult<mlir::Type>::Impl, mlir::OpTrait::ZeroSuccessors, mlir::OpTrait::NOperands<2u>::Impl, mlir::OpTrait::OpInvariants, mlir::OpTrait::IsCommutative, mlir::ConditionallySpeculatable::Trait, mlir::OpTrait::AlwaysSpeculatableImplTrait, mlir::MemoryEffectOpInterface::Trait, mlir::OpTrait::SameOperandsAndResultType, mlir::OpTrait::Elementwise, mlir::OpTrait::Scalarizable, mlir::OpTrait::Vectorizable, mlir::OpTrait::Tensorizable, mlir::InferTypeOpInterface::Trait>::verifyRegionInvariants(mlir::Operation*)+0x14)
>>> referenced by tools/mlir/lib/Dialect/Polynomial/IR/CMakeFiles/obj.MLIRPolynomialDialect.dir/PolynomialDialect.cpp.o:(symbol mlir::Op<mlir::polynomial::MonicMonomialMulOp, mlir::OpTrait::ZeroRegions, mlir::OpTrait::OneResult, mlir::OpTrait::OneTypedResult<mlir::Type>::Impl, mlir::OpTrait::ZeroSuccessors, mlir::OpTrait::NOperands<2u>::Impl, mlir::OpTrait::OpInvariants, mlir::ConditionallySpeculatable::Trait, mlir::OpTrait::AlwaysSpeculatableImplTrait, mlir::MemoryEffectOpInterface::Trait, mlir::InferTypeOpInterface::Trait>::verifyRegionInvariants(mlir::Operation*)+0x14)


  Commit: 42bc4f692dfe699b90f4609b7ad7c6708cf3fc43
      https://github.com/llvm/llvm-project/commit/42bc4f692dfe699b90f4609b7ad7c6708cf3fc43
  Author: Phoebe Wang <phoebe.wang at intel.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/X86LowerTileCopy.cpp
    M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll

  Log Message:
  -----------
  Reland "[X86] X86LowerTileCopy: Find dead register to use to prevent save-reload of tile register (#83628)"

Fixes compile time regression in previous commit.


  Commit: 53cda4ca3b97b3787e5bf8738119dab2d5bd1889
      https://github.com/llvm/llvm-project/commit/53cda4ca3b97b3787e5bf8738119dab2d5bd1889
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp

  Log Message:
  -----------
  [Transforms] Use LLVMContext::MD_loop (NFC)


  Commit: 3785d7424680e0bcb914a485af61be51559ab1ba
      https://github.com/llvm/llvm-project/commit/3785d7424680e0bcb914a485af61be51559ab1ba
  Author: Kareem Ergawy <kareem.ergawy at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/include/flang/Tools/CLOptions.inc
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Fir/basic-program.fir
    A flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90

  Log Message:
  -----------
  [flang][OpenMP][LLVMIR] Support CFG and LLVM IR conversion for `omp.p… (#90164)

…rivate`

Adds support for CFG conversion and conversion to LLVM IR for
`omp.private` ops. This bridges a gap between FIR and LLVM to provide
more support for lowering `omp.private` ops for things like
allocatables.


  Commit: fa8fda85c6792d9078922ab8658c321c4939e63a
      https://github.com/llvm/llvm-project/commit/fa8fda85c6792d9078922ab8658c321c4939e63a
  Author: Adrian Kuegel <akuegel at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [mlir][Bazel] Add missing dependency after 145176dc0c93566ce4aef721044d49ab8ba50f87


  Commit: 501cfd5243c025b22075e1f13817a0a37fef96a6
      https://github.com/llvm/llvm-project/commit/501cfd5243c025b22075e1f13817a0a37fef96a6
  Author: Kazu Hirata <kazu at google.com>
  Date:   2024-04-28 (Sun, 28 Apr 2024)

  Changed paths:
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/X86RegisterInfo.cpp

  Log Message:
  -----------
  [X86] Use static_asserts instead of assert (NFC)

Identified with misc-static-assert.


  Commit: 6cd6bde3090a405e4091ef6f743cb2e56b376a55
      https://github.com/llvm/llvm-project/commit/6cd6bde3090a405e4091ef6f743cb2e56b376a55
  Author: Shih-Po Hung <shihpo.hung at sifive.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-int.ll

  Log Message:
  -----------
  [RISCV] Remove -riscv-v-fixed-length-vector-lmul-max from arith tests (#89886)

This patch splits off from #89170 to clean up the tests.


  Commit: b3c55b707110084a9f50a16aade34c3be6fa18da
      https://github.com/llvm/llvm-project/commit/b3c55b707110084a9f50a16aade34c3be6fa18da
  Author: Björn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll

  Log Message:
  -----------
  [SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)

[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison

Handle SELECT_CC similarly as SETCC.

Handle these operations that only propagate poison/undef based on the
input operands:
  SADDSAT, UADDSAT, SSUBSAT, USUBSAT, MULHU, MULHS,
  SMIN, SMAX, UMIN, UMAX

These operations may create poison based on shift amount and exact
flag being violated:
  SRL, SRA

One goal here is to allow pushing freeze through these operations
when allowed, as well as letting analyses such as
isGuaranteedNotToBeUndefOrPoison to not break on such operations.

Since some problems have been observed with pushing freeze through
SRA/SRL we block that explicitly in DAGCombiner::visitFreeze now.
That way we can still model SRA/SRL properly in
SelectionDAG::canCreateUndefOrPoison, e.g. when used by
isGuaranteedNotToBeUndefOrPoison, even if we do not want to push
freeze through those instructions.


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

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

  Log Message:
  -----------
  [ProfileData] Use static_assert instead of assert (NFC)

Identified with misc-static-assert.


  Commit: ec6c0a2b7da4a23a33de049ab9a07fd30fff56b8
      https://github.com/llvm/llvm-project/commit/ec6c0a2b7da4a23a33de049ab9a07fd30fff56b8
  Author: WANG Rui <wangrui at loongson.cn>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/CodeGen/LoongArch/sextw-removal.ll

  Log Message:
  -----------
  [LoongArch] Pre-commit tests for OptWInstrs. NFC


  Commit: 66274eb9f7e7fc4b023343476c4d066e4413180a
      https://github.com/llvm/llvm-project/commit/66274eb9f7e7fc4b023343476c4d066e4413180a
  Author: Tim Creech <timothy.m.creech at intel.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/UsersManual.rst

  Log Message:
  -----------
  Improve documented sampling profiler steps to best known methods (#88438)

1. Add `-fdebug-info-for-profiling -funique-internal-linkage-names`,
which improve the usefulness of debug info for profiling.

2. Recommend the use of `br_inst_retired.near_taken:uppp`, which
provides the most precise results on supporting hardware. Mention
`branches:u` as a more portable backup.

Both should portray execution counts better than the default event
(`cycles`) and have a better chance of working as an unprivileged user
due to the `:u` modifier.


  Commit: e2b8af7e149c38e3b7ab0d25f86792fcbdd06507
      https://github.com/llvm/llvm-project/commit/e2b8af7e149c38e3b7ab0d25f86792fcbdd06507
  Author: Luke Lau <luke at igalia.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [RISCV] Don't use MachineInstr::isIdenticalTo in hasSameAVL (#90431)

MachineInstr::isIdenticalTo compares that the operands and flags are the
same IIUC, but I think we actually want to check that it's the same
MachineInstr * with respect to position in the block etc.


  Commit: 4a8f2f2e1aab027a559c71d4e055db3205ec2e32
      https://github.com/llvm/llvm-project/commit/4a8f2f2e1aab027a559c71d4e055db3205ec2e32
  Author: Qiu Chaofan <qiucofan at cn.ibm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll

  Log Message:
  -----------
  [Legalizer] Expand fmaximum and fminimum (#67301)

According to langref, llvm.maximum/minimum has -0.0 < +0.0 semantics and
propagates NaN.

Expand the nodes on targets not supporting the operation, by adding
extra check for NaN and using is_fpclass to check zero signs.


  Commit: bd9fdce69b4c4cdb572e715c5f453aaf9b77b83a
      https://github.com/llvm/llvm-project/commit/bd9fdce69b4c4cdb572e715c5f453aaf9b77b83a
  Author: Christian Sigg <chsigg at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp

  Log Message:
  -----------
  [flang] Use `isa/dyn_cast/cast/...` free functions. (#90432)

The corresponding member functions are deprecated.


  Commit: e1622e189e8c0ef457bfac528f90a7a930d9aad2
      https://github.com/llvm/llvm-project/commit/e1622e189e8c0ef457bfac528f90a7a930d9aad2
  Author: Nikita Popov <npopov at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll

  Log Message:
  -----------
  [InstCombine] Add tests for trunc nuw/nsw in icmp (NFC)


  Commit: 5f79f7506a495872be431a4607a33fa717fda2eb
      https://github.com/llvm/llvm-project/commit/5f79f7506a495872be431a4607a33fa717fda2eb
  Author: Peter Waller <peter.waller at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/MCA/InstrBuilder.cpp
    A llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
    M llvm/tools/llvm-mca/CodeRegion.h
    M llvm/tools/llvm-mca/llvm-mca.cpp

  Log Message:
  -----------
  [llvm-mca] Add -skip-unsupported-instructions option (#89733)

Prior to this patch, if llvm-mca encountered an instruction which parses
but has no scheduler info, the instruction is always reported as
unsupported, and llvm-mca halts with an error.

However, it would still be useful to allow MCA to continue even in the
case of instructions lacking scheduling information. Obviously if
scheduling information is lacking, it's not possible to give an accurate
analysis for those instructions, and therefore a warning is emitted.

A user could previously have worked around such unsupported instructions
manually by deleting such instructions from the input, but this provides
them a way of doing this for bulk inputs where they may not have a list
of such unsupported instructions to drop up front.

Note that this behaviour of instructions with no scheduling information
under -skip-unsupported-instructions is analagous to current
instructions which fail to parse: those are currently dropped from the
input with a message printed, after which the analysis continues.

~Testing the feature is a little awkward currently, it relies on an
instruction
which is currently marked as unsupported, which may not remain so;
should the
situation change it would be necessary to find an alternative
unsupported
instruction or drop the test.~

A test is added to check that analysis still reports an error if all
instructions are removed from the input, to mirror the current behaviour
of giving an error if no instructions are supplied.


  Commit: 41942c852e2be6c7c37f41e5128d446182fc9763
      https://github.com/llvm/llvm-project/commit/41942c852e2be6c7c37f41e5128d446182fc9763
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M lldb/docs/resources/lldbgdbremote.md

  Log Message:
  -----------
  [lldb[Docs] Reduce title noise in packets doc (#90183)

This removes the "Brief" and "Description" subtitles and merges the text
of both so that the contents listing is clearer.


  Commit: ab12bba0aad800c1805eca2ea937da958c1854c8
      https://github.com/llvm/llvm-project/commit/ab12bba0aad800c1805eca2ea937da958c1854c8
  Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/convert-to-eqz.ll

  Log Message:
  -----------
   [CGP] Drop poison-generating flags after hoisting (#90382)

See the following case:
```
define i8 @src1(i8 %x) {
entry:
  %cmp = icmp eq i8 %x, -1
  br i1 %cmp, label %exit, label %if.then

if.then:
  %inc = add nuw nsw i8 %x, 1
  br label %exit

exit:
  %retval = phi i8 [ %inc, %if.then ], [ -1, %entry ]
  ret i8 %retval
}

define i8 @tgt1(i8 %x) {
entry:
  %inc = add nuw nsw i8 %x, 1
  %0 = icmp eq i8 %inc, 0
  br i1 %0, label %exit, label %if.then

if.then:                                          ; preds = %entry
  br label %exit

exit:                                             ; preds = %if.then, %entry
  %retval = phi i8 [ %inc, %if.then ], [ -1, %entry ]
  ret i8 %retval
}
```
`optimizeBranch` converts `icmp eq X, -1` into cmp to zero on RISC-V and
hoists the add into the entry block. Poison-generating flags should be
dropped as they don't still hold.

Proof: https://alive2.llvm.org/ce/z/sP7mvK
Fixes https://github.com/llvm/llvm-project/issues/90380


  Commit: a19a4113df3e9a3ca3747075da6de21901796524
      https://github.com/llvm/llvm-project/commit/a19a4113df3e9a3ca3747075da6de21901796524
  Author: Peter Waller <peter.waller at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s

  Log Message:
  -----------
  [llvm-mca] Fix -skip-unsupported-instruction tests on Windows

Builder alerted me to the failing test, attempt #1 in the blind.


  Commit: f029da5cfce66e2d460d5f54b17582810a9111ad
      https://github.com/llvm/llvm-project/commit/f029da5cfce66e2d460d5f54b17582810a9111ad
  Author: Abid Qadeer <haqadeer at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    A flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    A flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    A flang/test/Transforms/debug-fn-info.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir

  Log Message:
  -----------
  [flang] Improve debug info for functions. (#90083)

This PR improves the debug information for functions in the following
ways:

1. Get line number information from FuncOp and remove hard-coded line
numbers.
2. Use proper type for function signature. I have a added a type
converter. Currently, it is very limited but will be enhanced with time.
3. Use de-constructed function name.


  Commit: 16bd10a38730fed27a3bf111076b8ef7a7e7b3ee
      https://github.com/llvm/llvm-project/commit/16bd10a38730fed27a3bf111076b8ef7a7e7b3ee
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/combine-mul.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
    M llvm/test/CodeGen/X86/combine-mul.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/fold-masked-merge.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/freeze-combine.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/pr62286.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll

  Log Message:
  -----------
  Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)" and more...

This reverts:
b3c55b707110084a9f50a16aade34c3be6fa18da - "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)"
(because it updates a test case that I don't know how to resolve the conflict for)
8e2f6495c0bac1dd6ee32b6a0d24152c9c343624 - "[DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)"
73472c5996716cda0dbb3ddb788304e0e7e6a323 - "[SelectionDAG] Treat CopyFromReg as freezing the value (#85932)"

Due to a test suite failure on AArch64 when compiling for SVE.
https://lab.llvm.org/buildbot/#/builders/197/builds/13955

clang: ../llvm/llvm/include/llvm/CodeGen/ValueTypes.h:307: MVT llvm::EVT::getSimpleVT() const: Assertion `isSimple() && "Expected a SimpleValueType!"' failed.


  Commit: bfc0317153dca75137fba00b5c28758d6f720963
      https://github.com/llvm/llvm-project/commit/bfc0317153dca75137fba00b5c28758d6f720963
  Author: Maciej Gabka <maciej.gabka at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGExprScalar.cpp
    M llvm/docs/LangRef.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/test/Analysis/CostModel/AArch64/getIntrinsicInstrCost-vector-reverse.ll
    M llvm/test/Analysis/CostModel/AArch64/splice.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    M llvm/test/Analysis/CostModel/RISCV/splice.ll
    A llvm/test/Bitcode/upgrade-vector-interleave2-deinterleave2-intrinsics.ll
    A llvm/test/Bitcode/upgrade-vector-reverse-intrinsic.ll
    A llvm/test/Bitcode/upgrade-vector-splice-intrinsic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i8-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-neon.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-sve.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffles-neon.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
    M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse-bitrotate.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/X86/named-vector-shuffle-reverse.ll
    M llvm/test/Transforms/InstCombine/vector-reverse.ll
    M llvm/test/Transforms/InstSimplify/named-vector-shuffle-reverse.ll
    M llvm/test/Transforms/InstSimplify/select.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    M llvm/test/Verifier/invalid-splice.ll
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir

  Log Message:
  -----------
  Move several vector intrinsics out of experimental namespace (#88748)

This patch is moving out following intrinsics:
* vector.interleave2/deinterleave2
* vector.reverse
* vector.splice

from the experimental namespace.

All these intrinsics exist in LLVM for more than a year now, and are
widely used, so should not be considered as experimental.


  Commit: d30f6bc5cd9579204864c944f127011be70b2c74
      https://github.com/llvm/llvm-project/commit/d30f6bc5cd9579204864c944f127011be70b2c74
  Author: Nikolas Klauser <nikolasklauser at berlin.de>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M libcxx/include/__string/constexpr_c_functions.h
    M libcxx/include/__type_traits/datasizeof.h
    M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp

  Log Message:
  -----------
  [libc++][NFC] Refactor __libcpp_datasizeof to be a variable template (#87769)

This decreases memory consumption and compiles times slightly and
removes a bit of boilderplate.


  Commit: 75d52f5797c367488c5623fefb02b32dea25fbb1
      https://github.com/llvm/llvm-project/commit/75d52f5797c367488c5623fefb02b32dea25fbb1
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [X86] matchTruncateWithPACK - merge equivalent calls to getSizeInBits/getScalarSizeInBits. NFC.


  Commit: bf57d2e57c3e708a32c1f8a273b0e3465078d7b5
      https://github.com/llvm/llvm-project/commit/bf57d2e57c3e708a32c1f8a273b0e3465078d7b5
  Author: chuongg3 <chuong.goh at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp

  Log Message:
  -----------
  [AArch64][GlobalISel] Enable computeNumSignBits for G_XOR, G_AND, G_OR (#89896)


  Commit: 0edb5c3be56a07ddaad26ffbb270b4aa2308d03a
      https://github.com/llvm/llvm-project/commit/0edb5c3be56a07ddaad26ffbb270b4aa2308d03a
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    R flang/lib/Optimizer/Transforms/DebugTypeGenerator.cpp
    R flang/lib/Optimizer/Transforms/DebugTypeGenerator.h
    R flang/test/Transforms/debug-fn-info.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir

  Log Message:
  -----------
  Revert "[flang] Improve debug info for functions." (#90444)

Reverts llvm/llvm-project#90083 due to a test suite failure:
https://lab.llvm.org/buildbot/#/builders/184/builds/11961

```
flang-new: ../llvm/mlir/lib/IR/Types.cpp:126: unsigned int mlir::Type::getIntOrFloatBitWidth() const: Assertion `isIntOrFloat() && "only integers and floats have a bitwidth"' failed.
```


  Commit: 93e69abfc77b0bd90f3669e36e510dd4f45aab14
      https://github.com/llvm/llvm-project/commit/93e69abfc77b0bd90f3669e36e510dd4f45aab14
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/avgceils.ll
    M llvm/test/CodeGen/X86/avgceilu.ll
    M llvm/test/CodeGen/X86/avgfloors.ll
    M llvm/test/CodeGen/X86/avgflooru.ll

  Log Message:
  -----------
  [X86] avg*.ll - add nounwind to silence cfi noise


  Commit: df762a1643bb5b0b3c907611d118c82d4b68a39d
      https://github.com/llvm/llvm-project/commit/df762a1643bb5b0b3c907611d118c82d4b68a39d
  Author: Mital Ashok <mital at mitalashok.co.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp

  Log Message:
  -----------
  [SemaCXX] Recognise initializer_list injected-class-name types as initializer_lists (#90210)

This allows the implicitly-generated deduction guide for the copy
constructor to be recognised as an initializer-list constructor,
allowing CTAD for std::initializer_list


  Commit: d72146f47156dc645b1c0a4cb9c72f01e6d6dd0e
      https://github.com/llvm/llvm-project/commit/d72146f47156dc645b1c0a4cb9c72f01e6d6dd0e
  Author: Utkarsh Saxena <usx at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/test/CodeGenCXX/blocks.cpp
    A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
    A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
    M clang/test/CodeGenObjC/arc-blocks-exceptions.m
    M clang/test/CodeGenObjC/arc-blocks.m

  Log Message:
  -----------
  Re-apply "Emit missing cleanups for stmt-expr" and other commits (#89154)

Latest diff:
https://github.com/llvm/llvm-project/pull/89154/files/f1ab4c2677394bbfc985d9680d5eecd7b2e6a882..adf9bc902baddb156c83ce0f8ec03c142e806d45

We address two additional bugs here: 

### Problem 1: Deactivated normal cleanup still runs, leading to
double-free
Consider the following:
```cpp

struct A { };

struct B { B(const A&); };

struct S {
  A a;
  B b;
};

int AcceptS(S s);

void Accept2(int x, int y);

void Test() {
  Accept2(AcceptS({.a = A{}, .b = A{}}), ({ return; 0; }));
}
```
We add cleanups as follows:
1. push dtor for field `S::a`
2. push dtor for temp `A{}` (used by ` B(const A&)` in `.b = A{}`)
3. push dtor for field `S::b`
4. Deactivate 3 `S::b`-> This pops the cleanup.
5. Deactivate 1 `S::a` -> Does not pop the cleanup as *2* is top. Should
create _active flag_!!
6. push dtor for `~S()`.
7. ...

It is important to deactivate **5** using active flags. Without the
active flags, the `return` will fallthrough it and would run both `~S()`
and dtor `S::a` leading to **double free** of `~A()`.
In this patch, we unconditionally emit active flags while deactivating
normal cleanups. These flags are deleted later by the `AllocaTracker` if
the cleanup is not emitted.

### Problem 2: Missing cleanup for conditional lifetime extension
We push 2 cleanups for lifetime-extended cleanup. The first cleanup is
useful if we exit from the middle of the expression (stmt-expr/coro
suspensions). This is deactivated after full-expr, and a new cleanup is
pushed, extending the lifetime of the temporaries (to the scope of the
reference being initialized).
If this lifetime extension happens to be conditional, then we use active
flags to remember whether the branch was taken and if the object was
initialized.
Previously, we used a **single** active flag, which was used by both
cleanups. This is wrong because the first cleanup will be forced to
deactivate after the full-expr and therefore this **active** flag will
always be **inactive**. The dtor for the lifetime extended entity would
not run as it always sees an **inactive** flag.

In this patch, we solve this using two separate active flags for both
cleanups. Both of them are activated if the conditional branch is taken,
but only one of them is deactivated after the full-expr.

---

Fixes https://github.com/llvm/llvm-project/issues/63818
Fixes https://github.com/llvm/llvm-project/issues/88478

---

Previous PR logs:
1. https://github.com/llvm/llvm-project/pull/85398
2. https://github.com/llvm/llvm-project/pull/88670
3. https://github.com/llvm/llvm-project/pull/88751
4. https://github.com/llvm/llvm-project/pull/88884


  Commit: 0c8151ac809c283187e9b19d0cbe72a09c8d74e0
      https://github.com/llvm/llvm-project/commit/0c8151ac809c283187e9b19d0cbe72a09c8d74e0
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py

  Log Message:
  -----------
  [lldb][Test] Disable concurrent vfork tests on Arm and AArch64 Linux (again)

5f3e106de3cd5ce6d7ba37fb11f6ad740cb430c5 made them a lot more stable but
there are still occasions where they will timeout and leave behind stale
processes.

For example https://lab.llvm.org/buildbot/#/builders/96/builds/56699.


  Commit: 2914a11e3fad5d5634272f028b2765ac182d6b20
      https://github.com/llvm/llvm-project/commit/2914a11e3fad5d5634272f028b2765ac182d6b20
  Author: David Stuttard <david.stuttard at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx10.mir
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx11.mir
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx12.mir
    M llvm/test/CodeGen/AMDGPU/hard-clauses.mir

  Log Message:
  -----------
  [AMDGPU] Fix hard clausing for image instructions on gfx12 (#90221)

Also updated hard-clauses.mir to have separate versions for gfx11 and
gfx12 since
the MIR instructions are different for each of them.


  Commit: 5b187751452e0702fc9c29b64ab301737718e604
      https://github.com/llvm/llvm-project/commit/5b187751452e0702fc9c29b64ab301737718e604
  Author: Jay Foad <jay.foad at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp

  Log Message:
  -----------
  [AMDGPU] Fix typo in #89773

Fixes #90281


  Commit: f2452d4b689469b6da63d9e8ffa96eaf4b39ac5d
      https://github.com/llvm/llvm-project/commit/f2452d4b689469b6da63d9e8ffa96eaf4b39ac5d
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp] Implement zero-init for record types


  Commit: 37f2928ce382603fdadd7bae87fa245ac65b7d4f
      https://github.com/llvm/llvm-project/commit/37f2928ce382603fdadd7bae87fa245ac65b7d4f
  Author: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/test/CXX/drs/cwg2149.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    M clang/test/CXX/drs/dr21xx.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr28xx.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [clang] Use `cwg_index.html` from GitHub for DR status page (#90352)

Currently we're using official publication of CWG issue list available
at https://www.open-std.org/jtc1/sc22/wg21/docs/cwg_index.html.
Unfortunately, it's not updated as frequently as we sometimes need. For
instance, recently there was a confusion during review of CWG2149 test
(https://github.com/llvm/llvm-project/pull/90079#discussion_r1580174003).
This patch changes our `make_cxx_dr_status` script to use issue list
from CWG GitHub repository. I confirmed with CWG chair that this is the
most up-to-date source of information on CWG issues.

Changing the source of issue list uncovered previously unhandled
"tentatively ready" status of an issue. This status is considered
unresolved by the script (like `open`, `drafting`, and `review`), as the
resolution might change during face-to-face CWG meeting.

I also noticed that CWG decided to handle 2561 differently from what
we're doing, so this DR is now considered not available in Clang,
despite being declared as available since 18. CC @cor3ntin.

This patch also brings new issues into our DR list, so if someone was
waiting for a newly-filed issue to appear on our status page, it should
appear with this PR.


  Commit: b35bdb1d7b31c2267af14ee7e097c78d89c3ddb0
      https://github.com/llvm/llvm-project/commit/b35bdb1d7b31c2267af14ee7e097c78d89c3ddb0
  Author: oltolm <oleg.tolmatcev at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/tools/llvm-rc/Inputs/dialog-with-menu.rc
    A llvm/test/tools/llvm-rc/dialog-with-menu.test
    M llvm/tools/llvm-rc/ResourceFileWriter.cpp
    M llvm/tools/llvm-rc/ResourceFileWriter.h
    M llvm/tools/llvm-rc/ResourceScriptParser.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.h
    M llvm/tools/llvm-rc/ResourceScriptStmt.cpp
    M llvm/tools/llvm-rc/ResourceScriptStmt.h
    M llvm/tools/llvm-rc/ResourceVisitor.h

  Log Message:
  -----------
  llvm-rc: add support for MENU in DIALOG(EX) (#89409)

Adds support for `MENU` in `DIALOG(EX)` to `llvm-rc`. Fixes #49559.


  Commit: 95395ee51124792302390305b02cbeace5f07611
      https://github.com/llvm/llvm-project/commit/95395ee51124792302390305b02cbeace5f07611
  Author: Simon Pilgrim <llvm-dev at redking.me.uk>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/CodeGen/X86/memcmp-minsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-minsize.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll

  Log Message:
  -----------
  [X86] memcmp tests - merge check-prefixes. NFC.


  Commit: 55c6bda01ef5a166a69b43956775272d9d67bda5
      https://github.com/llvm/llvm-project/commit/55c6bda01ef5a166a69b43956775272d9d67bda5
  Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/test/CodeGen/AArch64/combine-mul.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
    M llvm/test/CodeGen/X86/combine-mul.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/fold-masked-merge.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/freeze-combine.ll
    M llvm/test/CodeGen/X86/freeze-vector.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/pr62286.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll

  Log Message:
  -----------
  Revert "Revert "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)" and more..."

This reverts commit 16bd10a38730fed27a3bf111076b8ef7a7e7b3ee.

Re-applies:
    b3c55b707110084a9f50a16aade34c3be6fa18da - "[SelectionDAG] Handle more opcodes in canCreateUndefOrPoison (#84921)"
    8e2f6495c0bac1dd6ee32b6a0d24152c9c343624 - "[DAGCombiner] Do not always fold FREEZE over BUILD_VECTOR (#85932)"
    73472c5996716cda0dbb3ddb788304e0e7e6a323 - "[SelectionDAG] Treat CopyFromReg as freezing the value (#85932)"

with a fix in DAGCombiner::visitFREEZE.


  Commit: 179e174945b6c0da462c534504720c9544aebf84
      https://github.com/llvm/llvm-project/commit/179e174945b6c0da462c534504720c9544aebf84
  Author: Matthias Springer <me at m-sp.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp

  Log Message:
  -----------
  [mlir][bufferization][NFC] More documentation for `runOneShotBufferize` (#90445)


  Commit: cb3174bd7895535d2f397695b5b20b1e90876997
      https://github.com/llvm/llvm-project/commit/cb3174bd7895535d2f397695b5b20b1e90876997
  Author: nihui <shuizhuyuanluo at 126.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/arm_neon.td
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c

  Log Message:
  -----------
  [clang][CodeGen] fix UB in aarch64 bfloat16 scalar conversion (#89062)

do not bitcast 16bit `bfloat16` to 32bit `int32_t` directly
bitcast to `int16_t`, and then upcast to `int32_t`

Fix ASAN runtime error when calling vcvtah_f32_bf16
`==21842==ERROR: AddressSanitizer: stack-buffer-overflow on address
0x007fda1dd063 at pc 0x005c0361c234 bp 0x007fda1dd030 sp 0x007fda1dd028
`

without patch
```c
__ai __attribute__((target("bf16"))) float32_t vcvtah_f32_bf16(bfloat16_t __p0) {
  float32_t __ret;
bfloat16_t __reint = __p0;
int32_t __reint1 = *(int32_t *) &__reint << 16;
  __ret = *(float32_t *) &__reint1;
  return __ret;
}
```

with this patch
```c
__ai __attribute__((target("bf16"))) float32_t vcvtah_f32_bf16(bfloat16_t __p0) {
  float32_t __ret;
bfloat16_t __reint = __p0;
int32_t __reint1 = (int32_t)(*(int16_t *) &__reint) << 16;
  __ret = *(float32_t *) &__reint1;
  return __ret;
}
```

fix issue https://github.com/llvm/llvm-project/issues/61983


  Commit: 959d98c05ecacf79bbe78bc83e6dd99a3d58cab2
      https://github.com/llvm/llvm-project/commit/959d98c05ecacf79bbe78bc83e6dd99a3d58cab2
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp][NFC] Fix a typo


  Commit: 6e473307ab74263e3b72e67b592579e36cee5b6b
      https://github.com/llvm/llvm-project/commit/6e473307ab74263e3b72e67b592579e36cee5b6b
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp] Ignore FunctionDecls in compound statements


  Commit: f5ed9170464b73a7a0a386358e995ce8373ef153
      https://github.com/llvm/llvm-project/commit/f5ed9170464b73a7a0a386358e995ce8373ef153
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix creating variables for TemplateParamObjectDecls

Actually initialize them with their value. While at it, fix doing
it for non-primitive (only struct so far) types as well.


  Commit: 217c099eadfb9f2c5b5caf1af7b1ceb6a632cf74
      https://github.com/llvm/llvm-project/commit/217c099eadfb9f2c5b5caf1af7b1ceb6a632cf74
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test for strided stores support, NFC.


  Commit: e5c92c51e9869a6f109381d9e565b36cd4fb7b34
      https://github.com/llvm/llvm-project/commit/e5c92c51e9869a6f109381d9e565b36cd4fb7b34
  Author: Ivan Kosarev <ivan.kosarev at amd.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/test/MC/AMDGPU/ds-err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s

  Log Message:
  -----------
  [AMDGPU][AsmParser] Do not use predicates for validation of NamedIntOperands. (#90251)

Their job is to discriminate between different types of operands, not to
check if they are valid. For validation we can use conversion functions.

Clears the road to generating predicates automatically.

Part of <https://github.com/llvm/llvm-project/issues/62629>.


  Commit: 8e17c84836b08be9a23d76c2cc234777712347de
      https://github.com/llvm/llvm-project/commit/8e17c84836b08be9a23d76c2cc234777712347de
  Author: Shilei Tian <i at tianshilei.me>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    A llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.ll

  Log Message:
  -----------
  [AMDGPU][ISel] Set trunc store action to expand for v4f32->v4bf16 (#90427)


  Commit: de6b2b9dbf9a18e9e160cff60f7eb238909a931c
      https://github.com/llvm/llvm-project/commit/de6b2b9dbf9a18e9e160cff60f7eb238909a931c
  Author: Kohei Asano <32860920+khei4 at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/LibTooling.rst

  Log Message:
  -----------
  [Clang][Docs] use CommonOptionsParser::create instead of protected constructor on libTooling tutorial (NFC) (#70427)

This patch fixes the code example on CommonOptionParser on
https://intel.github.io/llvm-docs/clang/LibTooling.html

CommonOptionParser's constructor is protected, and we can use
`CommonOptionParser::create` instead of that.
It seems like the LibASTMatcher tutorial already uses that.
https://clang.llvm.org/docs/LibASTMatchersTutorial.html

---------

Co-authored-by: Sirraide <aeternalmail at gmail.com>


  Commit: 8d5386669ed63548daf1bee415596582d6d78d7d
      https://github.com/llvm/llvm-project/commit/8d5386669ed63548daf1bee415596582d6d78d7d
  Author: David Truby <david.truby at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/include/clang/Driver/Options.td
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M flang/docs/FlangDriver.md
    M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
    A flang/include/flang/Optimizer/Builder/Runtime/Main.h
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
    A flang/lib/Optimizer/Builder/Runtime/Main.cpp
    M flang/runtime/CMakeLists.txt
    R flang/runtime/FortranMain/CMakeLists.txt
    R flang/runtime/FortranMain/Fortran_main.c
    M flang/test/CMakeLists.txt
    A flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/dynamic-linker.f90
    M flang/test/Driver/emit-mlir.f90
    M flang/test/Driver/linker-flags.f90
    M flang/test/Driver/msvc-dependent-lib-flags.f90
    M flang/test/Driver/no-duplicate-main.f90
    M flang/tools/flang-driver/CMakeLists.txt
    M lld/COFF/MinGW.cpp

  Log Message:
  -----------
  [flang] Generate main only when a Fortran program statement is present (#89938)

This patch changes the behaviour for flang to only create and link to a
`main` entry point when the Fortran code has a program statement in it.

This means that flang-new can be used to link even when the program is
a mixed C/Fortran code with `main` present in C and no entry point
present in Fortran.

This also removes the `-fno-fortran-main` flag as this no longer has any
functionality.


  Commit: e57b8724140664da408da92d5d50f9a1e0c9828a
      https://github.com/llvm/llvm-project/commit/e57b8724140664da408da92d5d50f9a1e0c9828a
  Author: Danial Klimkin <dklimkin at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  Avoid unusable variable in ByteCodeExprGen.cpp (#90469)

Inline assert to avoid unusable variable warning/error when asserts are
disabled.


  Commit: caa902613a96f63c3855b3a0bcd82d1b1db49408
      https://github.com/llvm/llvm-project/commit/caa902613a96f63c3855b3a0bcd82d1b1db49408
  Author: offsetof <131769984+offsetof at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/AST/ExprConstant.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr28xx.cpp
    M clang/test/CXX/expr/expr.const/p5-26.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/make_cxx_dr_status

  Log Message:
  -----------
  [clang] Allow constexpr cast from `void*` in more cases (#89484)

[[expr.const]/5.14](https://eel.is/c++draft/expr.const#5.14) says that
constexpr cast from <code>*cv* void\*</code> to `T*` is OK if the
pointee type is similar to `T`, but Clang currently only permits the
conversion if the types are the same except top-level cv-qualifiers.

This patch also allows casting `(void*)nullptr`, implementing the
resolution of [CWG2819](https://cplusplus.github.io/CWG/issues/2819).

---------

Co-authored-by: Vlad Serebrennikov <serebrennikov.vladislav at gmail.com>


  Commit: 5f9ae61dee0f6432c1dcc16b4412bb99803fa7d5
      https://github.com/llvm/llvm-project/commit/5f9ae61dee0f6432c1dcc16b4412bb99803fa7d5
  Author: Jannik Silvanus <37809848+jasilvanus at users.noreply.github.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/include/llvm/Support/YAMLTraits.h
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ps.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-vs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-usersgpr-init.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
    M llvm/test/CodeGen/AMDGPU/extra-lds-size.ll
    M llvm/test/CodeGen/AMDGPU/pal-userdata-regs.ll
    M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
    M llvm/test/MC/AMDGPU/pal-msgpack.s
    M llvm/unittests/Support/YAMLIOTest.cpp

  Log Message:
  -----------
  [Support][YamlTraits] Add quoting for keys in textual YAML representation (#88763)

The support library contains helpers to parse and emit YAML documents.

In the textual YAML representation, some strings need to be quoted, e.g.
when containing unprintable characters.

We already have such quoting implemented for YAML values.

This patch applies the same quoting to YAML *keys*.

One affected case is output of control registers in AMDGPU Msgpack
metadata, which are printed in a format like this:

```
   0x2cca (SPI_SHADER_PGM_RSRC1_ES): 42
```

With this patch, the key is quoted:

```
   '0x2cca (SPI_SHADER_PGM_RSRC1_ES)': 42
```

Most test changes come from this pattern.


  Commit: 86b9a4f892b9fc6cf5929f33a529570acd7abc71
      https://github.com/llvm/llvm-project/commit/86b9a4f892b9fc6cf5929f33a529570acd7abc71
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the skipped gather node, which is same, as vectorized node.


  Commit: 040b5a1255dba79f6e6819ac4864256127f810a0
      https://github.com/llvm/llvm-project/commit/040b5a1255dba79f6e6819ac4864256127f810a0
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll

  Log Message:
  -----------
  [SLP]Fix PR90211: vectorized node must match completely to be reused.

If the gather node matches the vectorized node, it must also match with
the scalars completely. Otherwise, need to revectorize the gather node
to generate correct code.


  Commit: 37ae4ad0eef338776c7e2cffb3896153d43dcd90
      https://github.com/llvm/llvm-project/commit/37ae4ad0eef338776c7e2cffb3896153d43dcd90
  Author: Alexey Bataev <a.bataev at outlook.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll

  Log Message:
  -----------
  [SLP]Support minbitwidth analisys for buildvector nodes.

Metric: size..text

Program                                                                                                                                                size..text
                                                                                                                                                       exp           ref        diff
                                                                                  test-suite :: MultiSource/Benchmarks/mediabench/gsm/toast/toast.test    42906.00    42986.00  0.2%
                                                                           test-suite :: MultiSource/Benchmarks/MiBench/telecomm-gsm/telecomm-gsm.test    42909.00    42989.00  0.2%
                                                                                   test-suite :: External/SPEC/CINT2017rate/525.x264_r/525.x264_r.test   664581.00   664661.00  0.0%
                                                                                  test-suite :: External/SPEC/CINT2017speed/625.x264_s/625.x264_s.test   664581.00   664661.00  0.0%

Less is better.

Replaces `buildvector <p x in> + trunc <p x in> to <p x im>` sequences to
`buildvector <p x im> of { trunc in to im }` scalars, which is free in
most cases, results in better code.

Reviewers: RKSimon

Reviewed By: RKSimon

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


  Commit: e71840305d621dcc43d5253e332db990220b7fcb
      https://github.com/llvm/llvm-project/commit/e71840305d621dcc43d5253e332db990220b7fcb
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaInit.cpp
    M clang/test/CXX/drs/cwg650.cpp
    A clang/test/CXX/stmt.stmt/stmt.return/p6.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/www/cxx_status.html

  Log Message:
  -----------
  [Clang] Implement C++26 P2748R5 "Disallow Binding a Returned Glvalue to a Temporary" (#89942)

Implement P2748R5 "Disallow Binding a Returned Glvalue to a Temporary"
https://wg21.link/P2748R5

---------

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


  Commit: c4c8d08b81e622529aaf0bfc3020d2b9e87267b3
      https://github.com/llvm/llvm-project/commit/c4c8d08b81e622529aaf0bfc3020d2b9e87267b3
  Author: yronglin <yronglin777 at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    A clang/test/AST/ast-dump-pragma-unroll.cpp
    M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
    M clang/test/CodeGenCXX/pragma-unroll.cpp
    M clang/test/Parser/pragma-unroll.cpp

  Log Message:
  -----------
  [Clang] Fix incorrect handling of #pragma {GCC} unroll N in dependent context (#90240)

PR https://github.com/llvm/llvm-project/pull/89567 fix the `#pragma
unroll N` crash issue in dependent context, but it's introduce an new
issue:

Since https://github.com/llvm/llvm-project/pull/89567, if `N` is value
dependent, 'option' and 'state' were ` (LoopHintAttr::Unroll,
LoopHintAttr::Enable)`. Therefor, clang's code generator generated
incorrect IR metadata.

For the situation `#pragma {GCC} unroll {0|1}`, before template
instantiation, this PR tweak the 'option' to `LoopHintAttr::UnrollCount`
and 'state' to `LoopHintAttr::Numeric`. During template instantiation
and if unroll count is 0 or 1 this PR tweak 'option' to
`LoopHintAttr::Unroll` and 'state' to `LoopHintAttr::Disable`. We don't
use `LoopHintAttr::UnrollCount` here because it's will emit an redundant
LLVM IR metadata `!{!"llvm.loop.unroll.count", i32 1}` when unroll count
is 1.

---------

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


  Commit: 6561fa3d02b746743139212f31f24c4a81e5138c
      https://github.com/llvm/llvm-project/commit/6561fa3d02b746743139212f31f24c4a81e5138c
  Author: Matthew Devereau <matthew.devereau at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll

  Log Message:
  -----------
  [LoopUnswitch] Allow i1 truncs in loop unswitch (#89738)

With the addition of #84628, truncs to i1 are being emitted as
conditions to branch instructions. This caused significant regressions
in cases which were previously improved by loop unswitch. Adding truncs
to i1 restore the previous performance seen.


  Commit: bb770deb9acf554a17ad49c0b3af9b8cf83ec221
      https://github.com/llvm/llvm-project/commit/bb770deb9acf554a17ad49c0b3af9b8cf83ec221
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp] Reject void-typed InitListExprs


  Commit: e34b41c707a8cc589725d5f996e1a40e9631a495
      https://github.com/llvm/llvm-project/commit/e34b41c707a8cc589725d5f996e1a40e9631a495
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp] Support CXXParenListInitExprs for non-record types

Merge the non-record code paths into visitInitList().


  Commit: 45bd85e4815254a4528cc337447fd6a8eb6fd583
      https://github.com/llvm/llvm-project/commit/45bd85e4815254a4528cc337447fd6a8eb6fd583
  Author: Timm Bäder <tbaeder at redhat.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang][Interp] Fix casting function pointers to integers


  Commit: 5e3032638e2df5f301dee21f072acc4d6cc806c8
      https://github.com/llvm/llvm-project/commit/5e3032638e2df5f301dee21f072acc4d6cc806c8
  Author: Renato Golin <rengolin at systemcall.eu>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir

  Log Message:
  -----------
  [MLIR][Linalg] Left over Linalg named ops from previous PR (#90405)

Adding `erf` as unary and `powf` as binary.

Same as `max(arg, 0.0)` for `ReLU`, `powf(arg, const)` can be either a
generic (with broadcast) or a pair (`linalg.broadcast + linalg.powf`)
and then lowered "correctly". Either way, the lower dialects need to
know what kind of broadcast anyway, so no materialization of the
constant tensors should remain.

I want to flush the easy ones before we start working on type cast &
softmax.


  Commit: bd07c22e5372789c3eb47b9009029d5e99e0ef9f
      https://github.com/llvm/llvm-project/commit/bd07c22e5372789c3eb47b9009029d5e99e0ef9f
  Author: Lawrence Benson <github at lawben.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/AST/Type.h
    M clang/lib/AST/Type.cpp
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/CodeGen/builtins-reduction-math.c

  Log Message:
  -----------
  [Clang] Add support for scalable vectors in __builtin_reduce_* functions (#87750)

Currently, a lot of `__builtin_reduce_*` function do not support
scalable vectors, i.e., ARM SVE and RISCV V. This PR adds support for
them. The main code change is to use a different path to extract the
type from the vectors, the rest is the same and LLVM supports the reduce
functions for `vscale` vectors.

This PR adds scalable vector support for:
- `__builtin_reduce_add`
- `__builtin_reduce_mul`
- `__builtin_reduce_xor`
- `__builtin_reduce_or`
- `__builtin_reduce_and`
- `__builtin_reduce_min`
- `__builtin_reduce_max`

Note: For all except `min/max`, the element type must still be an
integer value. Adding floating point support for `add` and `mul` is
still an open TODO.


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

  Changed paths:
    A llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll

  Log Message:
  -----------
  [SLP][NFC]Add a test with the optimizable and and final ext, NFC.


  Commit: 3044eaf40932c23d668483c6557fa3877f979e62
      https://github.com/llvm/llvm-project/commit/3044eaf40932c23d668483c6557fa3877f979e62
  Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90

  Log Message:
  -----------
  [Flang][OpenMP] Use a label to avoid complexity of too many CHECK-DAGs in a test (#90190)

This speeds up the test.


  Commit: d486a4c29a331d3bfb3649a8a0aa2ba4970a6455
      https://github.com/llvm/llvm-project/commit/d486a4c29a331d3bfb3649a8a0aa2ba4970a6455
  Author: David Green <david.green at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll

  Log Message:
  -----------
  [ARM] Ensure extra uses are not dead in tail-folding-counting-down.ll. NFC

This might help keep the test valid if vplan is removing dead intructions.


  Commit: f6187c76595d576ee75252eee3bf199e91bd276f
      https://github.com/llvm/llvm-project/commit/f6187c76595d576ee75252eee3bf199e91bd276f
  Author: Thomas Preud'homme <thomas.preudhomme at arm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/cmake/modules/llvm-driver-template.cpp.in

  Log Message:
  -----------
  [llvm-driver] Fix header order of llvm-driver-template


  Commit: b811ad6f348db076b995fdd8f688d72e5a40f7f9
      https://github.com/llvm/llvm-project/commit/b811ad6f348db076b995fdd8f688d72e5a40f7f9
  Author: Brian Gesiak <brian at modocache.io>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/unittests/CMakeLists.txt
    A mlir/unittests/Tools/CMakeLists.txt
    A mlir/unittests/Tools/lsp-server-support/CMakeLists.txt
    A mlir/unittests/Tools/lsp-server-support/Transport.cpp

  Log Message:
  -----------
  [mlir-lsp] Un-revert unit test additions (#90232)

This reverts the revert commit 6844c2feae93dd4251, which was comprised
of the following commits:

1. f3f6f22dfcced - [mlir-lsp] Initialize `Reply::method` member (#89857)
2. 37e13d4924841 - [mlir-lsp] Log invalid notification params (#89856)
3. ba1b52e6e764a - [mlir-lsp] Add `outgoingNotification` unit test
4. 84bc21f910173 - [mlir-lsp] Add transport unit tests (#89855)

Of these, (4) specifically caused issues in Windows pre-merge buildbots,
in the `TransportTest.MethodNotFound` unit test that it added. The
failure was caused by a statement that asserted that opening a file
stream on a newly created temporary file did not result in an error, but
this assert failed on Windows.

This patch adds additional error logging for failures, to make it
clearer what went wrong when failures occur. This patch also addresses
the Windows failure by ensuring temporary files are created in the
system temporary directory.


  Commit: 91f251c31fbbc9b9d8ce69fce4fb50faa0179ef4
      https://github.com/llvm/llvm-project/commit/91f251c31fbbc9b9d8ce69fce4fb50faa0179ef4
  Author: Daniil Kovalev <dkovalev at accesssoftek.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

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

  Log Message:
  -----------
  [clang] Fix `remove{CVR|Fast}Qualifiers` with 64-bit `Qualifiers::Mask` (#90329)

After #84384, `Qualifiers::Mask` becomes 64-bit. So, operations like
`Mask &= ~U32` where `U32` is `unsigned` produce undesirable results
since higher 32 bits of `Mask` become zeroed while they should be
preserved. Fix that by explicitly casting `unsigned` values to
`uint64_t` in such operations. Signatures of fixed functions are
intentionally left intact instead of changing the argument itself to
`uint64_t` to keep things consistent with other functions working with
the same qualifiers and to emphasize that 64-bit masks should not be
used for these types of qualifiers.


  Commit: 3ba079183f82191d8b6a26dedfebc4a031a3fb6d
      https://github.com/llvm/llvm-project/commit/3ba079183f82191d8b6a26dedfebc4a031a3fb6d
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/runtime/CMakeLists.txt
    M flang/runtime/file.cpp
    M flang/runtime/namelist.cpp

  Log Message:
  -----------
  [flang][runtime] Added missing routines into CUDA build. (#90272)

Apparently, nvcc does not compile for device the routines whose
definitions
are not marked with device attribute (note that the forward declarations
are already marked). It looks like it is different for class members,
i.e. marking just the declarations is enough.


  Commit: 1563a8752b33a854c3ab5a4e8b3dce39ac9831b8
      https://github.com/llvm/llvm-project/commit/1563a8752b33a854c3ab5a4e8b3dce39ac9831b8
  Author: Slava Zakharin <szakharin at nvidia.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M flang/cmake/modules/AddFlangOffloadRuntime.cmake
    M flang/runtime/environment.cpp
    M flang/runtime/unit.cpp
    M flang/runtime/utf.cpp

  Log Message:
  -----------
  [flang][runtime] Allow building CUDA PTX library without global vars definitions. (#90280)


  Commit: 11f4f458d985ba20aae58df1c3092655ec2310bd
      https://github.com/llvm/llvm-project/commit/11f4f458d985ba20aae58df1c3092655ec2310bd
  Author: ChiaHungDuan <chiahungduan at google.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/flags.inc
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/secondary.h

  Log Message:
  -----------
  [scudo] Support setting default value of ReleaseToOsIntervalMs in config (#90256)


  Commit: 6f02120ac4463e5e0cda25e2aafc485a4fe634ea
      https://github.com/llvm/llvm-project/commit/6f02120ac4463e5e0cda25e2aafc485a4fe634ea
  Author: David Spickett <david.spickett at linaro.org>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/test/Driver/riscv-arch.c
    M llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp

  Log Message:
  -----------
  [llvm][RISCV] Improve error message for invalid extension letters (#90468)

Previously you got:
clang: error: invalid arch name 'rv64v', first letter should be 'e', 'i'
or 'g'

Which to me, unfamiliar with riscv, reads as if I should have used
"[eig]rv64v". Which is not what clang means.

Include the first bit in the error message to make this clearer:
clang: error: invalid arch name 'rv64v', first letter after 'rv64'
should be 'e', 'i' or 'g'


  Commit: 1e174a7656f943fa2cad2489a226c90e03ca29ac
      https://github.com/llvm/llvm-project/commit/1e174a7656f943fa2cad2489a226c90e03ca29ac
  Author: Kai Nacke <kai.peter.nacke at ibm.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    A llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    M llvm/utils/TableGen/GlobalISelEmitter.cpp

  Log Message:
  -----------
  [TableGen][GISel] Handle frameindex/tframeindex (#90475)

Support patterns like

  Pat<(p0 frameindex:$fi), (ADD tframeindex:$fi, 0)>;

in the GlobalISel emitter in TableGen. Currently, using such a pattern
results in an error message.


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

  Changed paths:
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/unittests/Object/ELFObjectFileTest.cpp

  Log Message:
  -----------
  [Object] Provide operator< for ELFSymbolRef (#89861)

Normally, operator< accepting DataRefImpl is used when comparing
SymbolRef/ELFSymbolRef. However, it uses std::memcmp which interprets
DataRefImpl union as char string so that the result depends on host
endianness.
For ELFSymbolRef a specialized operator< can be used instead to produce
consistent ordering regardless of endianness by comparing the symbol
table index and symbol index fields separately.


  Commit: 2903df02fb3c057849aaa796a91289b01950a5f0
      https://github.com/llvm/llvm-project/commit/2903df02fb3c057849aaa796a91289b01950a5f0
  Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/docs/LanguageExtensions.rst
    M clang/docs/ReleaseNotes.rst
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/AST/ExprConstant.cpp
    A clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/Sema/convertvector.c

  Log Message:
  -----------
  Squashed commit of the following:

commit 8d41d93e3fceb3f3af77266f5a8388fc585150a5
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Sat Apr 20 12:19:49 2024 +0200

    Address some misc comments; added a diagnostic and expanded macros in
    testing.

commit 9493c0f290b558947d8b3ae8e1adf909b0fb9dcd
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Sun Mar 31 18:18:45 2024 +0200

    Following the review of sethp, I have made the following changes:

    -- Added diagnostic for the undefined shuffle of -1
    -- Validated support for _BitInt
    -- A bunch of other minnor tweaks here and there

commit 8273abc8d56ef8225cf4dba84f66a1e54a2ef036
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Thu Jan 4 12:31:08 2024 +0100

    Fix typo in file name

commit ff68f23921966c7d9605f91a47d6b481bf1d7a7b
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Thu Jan 4 11:26:08 2024 +0100

    Address suggestions from RKSimon

commit c14783de45687c754253c0cbf8a7834c7f986d80
Author: Pol Marcet Sardà <polmarcetsarda at gmail.com>
Date:   Sat Dec 30 13:59:00 2023 +0100

    [clang] Constexpr for __builtin_shufflevector and __builtin_convertvector

    Summary:

    This patch adds constexpr support for __builtin_shufflevector
    and __builtin_convertvector.

    A small oddity encountered was that the arg to the intrinsics may be an
    lvalue without any sort of implicit cast of any kind. I solved this
    through the EvaluateVectorOrLValue function, which treats the lvalue as
    if it was in an rvalue cast, which gets me the desired vector.

Co-Authored-By: Seth Pellegrino <seth at codecopse.net>


  Commit: e3750fb65acf0f7447f6a49a0ba5d3197f4d9766
      https://github.com/llvm/llvm-project/commit/e3750fb65acf0f7447f6a49a0ba5d3197f4d9766
  Author: Jared Grubb <jaredgrubb at gmail.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/lib/Sema/SemaChecking.cpp
    M clang/test/SemaObjC/format-strings-oslog.m

  Log Message:
  -----------
  [Clang] Add diagnostic about "%P" specifier with Objective-C pointers (#89977)

A Darwin extension '%P' combined with an Objective-C pointer seems to
always be a bug.

'%P' will dump bytes at the pointed-to address (in contrast to '%p'
which dumps the pointer itself). This extension is only allowed in "OS
Log" contexts and is intended to be used like `%{uuid_t}.*16P` or
`%{timeval}.*P`. If an ObjC pointer is used, then the internal runtime
structure (aka, the is-a pointer and other runtime metadata) will be
dumped, which (IMO) is never the expectation.

A simple diagnostic can help flag these scenarios.

Resolves https://github.com/llvm/llvm-project/issues/89968

Co-authored-by: Jared Grubb <jgrubb at apple.com>


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

  Changed paths:
    M offload/CMakeLists.txt
    A offload/include/Shared/Targets.def.in
    M offload/plugins-nextgen/CMakeLists.txt
    M offload/plugins-nextgen/common/CMakeLists.txt
    M offload/src/CMakeLists.txt
    M offload/src/PluginManager.cpp

  Log Message:
  -----------
  [Libomptarget] Rework interface for enabling plugins (#86875)

Summary:
Previously we would build all of the plugins by default and then only
load some using the `LIBOMPTARGET_PLUGINS_TO_LOAD` variable. This patch
renamed this to `LIBOMPTARGET_PLUGINS_TO_BUILD` and changes whether or
not it will include the plugin in CMake.

Additionally this patch creates a new `Targets.def` file that allows us
to enumerate all of the enabled plugins. This is somewhat different from
the old method, and it's done this way for future use that will need to
be shared. This follows the same method that LLVM uses for its targets,
however it does require adding an extra include path.

Depends on https://github.com/llvm/llvm-project/pull/86868


  Commit: 4c701577cd4175068e4f8dda250f2a5f5aefbe24
      https://github.com/llvm/llvm-project/commit/4c701577cd4175068e4f8dda250f2a5f5aefbe24
  Author: yonghong-song <yhs at fb.com>
  Date:   2024-04-29 (Mon, 29 Apr 2024)

  Changed paths:
    M llvm/lib/Target/BPF/BTFDebug.cpp
    M llvm/lib/Target/BPF/BTFDebug.h
    M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll

  Log Message:
  -----------
  BPF: Use DebugLoc to find Filename for BTF line info (#90302)

Andrii found an issue where the BTF line info may have empty source
which seems wrong. The program is a Meta internal bpf program. I can
reproduce with latest upstream compiler as well. Let the bpf program
built without this patch and then with the following veristat check
where veristat is a bpf verifier tool to do kernel verification for bpf
programs:

  $ veristat -vl2 yhs.bpf.o --log-size=150000000 >& log
  $ rg '^;' log | sort | uniq -c | sort -nr | head -n10
   4206 ; } else if (action->dry_run) { @ src_mitigations.h:57
   3907 ; if (now < start_allow_time) { @ ban.h:17
   3674 ;  @ src_mitigations.h:0
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
1737 ; pkt_info->is_dry_run_drop = action->dry_run; @
src_mitigations.h:26
   1737 ; if (mitigation == ALLOW) { @ src_mitigations.h:28
1737 ; enum match_action mitigation = action->action; @
src_mitigations.h:25
1727 ; void* res = bpf_map_lookup_elem(bpf_map, key); @
filter_helpers.h:498
1691 ; bpf_map_lookup_elem(&rate_limit_config_map, rule_id); @
rate_limit.h:76
   1688 ; if (throttle_cfg) { @ rate_limit.h:85

You can see

   3674 ;  @ src_mitigations.h:0

where we do not have proper line information and line number.

In LLVM Machine IR, some instructions may carry DebugLoc information
to specify where the corresponding source is for this instruction.
The information includes file_name, line_num and col_num.
Each instruction may also attribute to a function in debuginfo.
So there are two ways to find file_name for a particular insn:
  (1) find the corresponding function in debuginfo
      (MI->getMF()->getFunction().getSubprogram()) and then
      find the file_name from DISubprogram.
  (2) find the corresponding file_name from DebugLoc.

The option (1) is used in current implementation. This mostly works.
But if one instruction is somehow generated from multiple functions,
the compiler has to pick just one. This may cause a mismatch between
file_name and line_num/col_num.

Besides potential incorrect mismatch of file_name vs. line_num/col_num,
There is another issue where some DebugLoc has line number 0. For
example,
I dumped the dwarf line table for the above bpf program:
    
Address Line Column File ISA Discriminator OpIndex Flags
------------------ ------ ------ ------ --- ------------- -------
-------------
0x0000000000000000 96 0 17 0 0 0 is_stmt
0x0000000000000010 100 12 17 0 0 0 is_stmt prologue_end
      0x0000000000000020      0     12     17   0             0       0
0x0000000000000058 37 7 17 0 0 0 is_stmt
      0x0000000000000060      0      0     17   0             0       0
      0x0000000000000088     37      7     17   0             0       0
0x0000000000000090 42 75 17 0 0 0 is_stmt
      0x00000000000000a8     42     52     17   0             0       0
0x00000000000000c0 120 9 17 0 0 0 is_stmt
      0x00000000000000c8      0      9     17   0             0       0
0x00000000000000d0 106 21 17 0 0 0 is_stmt
      0x00000000000000d8    106      3     17   0             0       0
0x00000000000000e0 110 25 17 0 0 0 is_stmt
      0x00000000000000f8    110     36     17   0             0       0
      0x0000000000000100      0     36     17   0             0       0
      ...
    
These DebugLoc with line number 0 needs to be skipped since we cannot
map them to the correct source code. Note that selftest
offset-reloc-basic.ll
has this issue as well which is adjusted by this patch.

With the above two fixes, empty lines for source annotation are removed.

  $ veristat -vl2 yhs.bpf.o --log-size=150000000 >& log
  $ rg '^;' log.latest | sort | uniq -c | sort -nr | head -n10
   4206 ; } else if (action->dry_run) { @ src_mitigations.h:57
   3907 ; if (now < start_allow_time) { @ ban.h:17
3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85
1737 ; pkt_info->is_dry_run_drop = action->dry_run; @
src_mitigations.h:26
   1737 ; if (mitigation == ALLOW) { @ src_mitigations.h:28
1737 ; enum match_action mitigation = action->action; @
src_mitigations.h:25
1727 ; void* res = bpf_map_lookup_elem(bpf_map, key); @
filter_helpers.h:498
1691 ; bpf_map_lookup_elem(&rate_limit_config_map, rule_id); @
rate_limit.h:76
   1688 ; if (throttle_cfg) { @ rate_limit.h:85
   1670 ; if (rl_cfg) { @ rate_limit.h:77

You can see that we do not have empty line any more.

3223 ; if (action->vip_id != ALL_VIPS_ID && action->vip_id != vip_id) {
@ src_mitigations.h:85

Signed-off-by: Yonghong Song <yonghong.song at linux.dev>


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

  Changed paths:
    M .ci/generate-buildkite-pipeline-premerge
    M .ci/monolithic-linux.sh
    M .github/CODEOWNERS
    M .github/new-prs-labeler.yml
    M .github/workflows/libcxx-build-and-test.yaml
    M bolt/include/bolt/Passes/BinaryPasses.h
    M bolt/include/bolt/Rewrite/RewriteInstance.h
    M bolt/lib/Profile/DataAggregator.cpp
    M bolt/lib/Rewrite/BinaryPassManager.cpp
    M bolt/lib/Rewrite/BoltDiff.cpp
    M bolt/lib/Rewrite/RewriteInstance.cpp
    A bolt/test/RISCV/fake-label-no-entry.c
    R bolt/test/RISCV/unnamed-sym-no-entry.c
    M bolt/test/X86/cdsplit-symbol-names.s
    A bolt/test/X86/indirect-goto-pie.test
    M bolt/test/X86/pre-aggregated-perf.test
    M bolt/test/X86/shrinkwrapping-do-not-pessimize.s
    R bolt/test/runtime/X86/Inputs/indirect_goto.c
    R bolt/test/runtime/X86/indirect-goto-pie.test
    M clang-tools-extra/clang-tidy/ClangTidyCheck.cpp
    M clang-tools-extra/clang-tidy/ClangTidyCheck.h
    M clang-tools-extra/clang-tidy/GlobList.cpp
    M clang-tools-extra/clang-tidy/GlobList.h
    M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
    M clang-tools-extra/clang-tidy/bugprone/CMakeLists.txt
    M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.cpp
    A clang-tools-extra/clang-tidy/bugprone/ReturnConstRefFromParameterCheck.h
    M clang-tools-extra/clang-tidy/modernize/CMakeLists.txt
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.cpp
    A clang-tools-extra/clang-tidy/modernize/MinMaxUseInitializerListCheck.h
    M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
    M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.h
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
    M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.h
    M clang-tools-extra/clang-tidy/readability/AvoidReturnWithVoidValueCheck.cpp
    M clang-tools-extra/clang-tidy/readability/CMakeLists.txt
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
    A clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.h
    M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
    M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
    M clang-tools-extra/clangd/CodeCompletionStrings.cpp
    M clang-tools-extra/clangd/unittests/FindTargetTests.cpp
    M clang-tools-extra/docs/ReleaseNotes.rst
    A clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
    M clang-tools-extra/docs/clang-tidy/checks/cert/env33-c.rst
    M clang-tools-extra/docs/clang-tidy/checks/list.rst
    A clang-tools-extra/docs/clang-tidy/checks/modernize/min-max-use-initializer-list.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-nullptr.rst
    M clang-tools-extra/docs/clang-tidy/checks/modernize/use-starts-ends-with.rst
    A clang-tools-extra/docs/clang-tidy/checks/readability/math-missing-parentheses.rst
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string
    M clang-tools-extra/test/clang-tidy/checkers/Inputs/Headers/string.h
    M clang-tools-extra/test/clang-tidy/checkers/abseil/redundant-strcat-calls.cpp
    A clang-tools-extra/test/clang-tidy/checkers/bugprone/return-const-ref-from-parameter.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/min-max-use-initializer-list.cpp
    A clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr-c23.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-nullptr.c
    M clang-tools-extra/test/clang-tidy/checkers/modernize/use-starts-ends-with.cpp
    A clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
    A clang-tools-extra/test/clang-tidy/infrastructure/Inputs/config-files/5/.clang-tidy
    M clang-tools-extra/test/clang-tidy/infrastructure/config-files.cpp
    M clang-tools-extra/test/clang-tidy/infrastructure/verify-config.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-general.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-ms.cpp
    M clang-tools-extra/test/pp-trace/pp-trace-pragma-opencl.cpp
    M clang/CMakeLists.txt
    M clang/cmake/caches/Release.cmake
    M clang/cmake/caches/VectorEngine.cmake
    M clang/docs/LanguageExtensions.rst
    M clang/docs/LibTooling.rst
    M clang/docs/OpenMPSupport.rst
    M clang/docs/ReleaseNotes.rst
    M clang/docs/UsersManual.rst
    M clang/include/clang-c/Index.h
    M clang/include/clang/APINotes/Types.h
    M clang/include/clang/AST/ASTContext.h
    M clang/include/clang/AST/AbstractBasicReader.h
    M clang/include/clang/AST/AbstractBasicWriter.h
    M clang/include/clang/AST/BuiltinTypes.def
    M clang/include/clang/AST/ComputeDependence.h
    M clang/include/clang/AST/Decl.h
    M clang/include/clang/AST/DeclBase.h
    M clang/include/clang/AST/DeclCXX.h
    M clang/include/clang/AST/DeclContextInternals.h
    M clang/include/clang/AST/DeclFriend.h
    A clang/include/clang/AST/DeclID.h
    M clang/include/clang/AST/DeclObjC.h
    M clang/include/clang/AST/DeclOpenMP.h
    M clang/include/clang/AST/DeclTemplate.h
    M clang/include/clang/AST/Expr.h
    M clang/include/clang/AST/ExprOpenMP.h
    M clang/include/clang/AST/ExternalASTSource.h
    M clang/include/clang/AST/RecursiveASTVisitor.h
    M clang/include/clang/AST/Type.h
    M clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h
    M clang/include/clang/Analysis/FlowSensitive/Transfer.h
    M clang/include/clang/Basic/Attr.td
    M clang/include/clang/Basic/AttributeCommonInfo.h
    M clang/include/clang/Basic/DiagnosticCommonKinds.td
    M clang/include/clang/Basic/DiagnosticFrontendKinds.td
    M clang/include/clang/Basic/DiagnosticGroups.td
    M clang/include/clang/Basic/DiagnosticParseKinds.td
    M clang/include/clang/Basic/DiagnosticSemaKinds.td
    M clang/include/clang/Basic/FileManager.h
    M clang/include/clang/Basic/LangOptions.h
    A clang/include/clang/Basic/PointerAuthOptions.h
    M clang/include/clang/Basic/StmtNodes.td
    M clang/include/clang/Basic/TargetInfo.h
    M clang/include/clang/Basic/arm_neon.td
    M clang/include/clang/Basic/arm_sve.td
    M clang/include/clang/Basic/riscv_vector.td
    M clang/include/clang/CIR/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/CMakeLists.txt
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.h
    A clang/include/clang/CIR/Dialect/IR/CIRDialect.td
    A clang/include/clang/CIR/Dialect/IR/CIROps.td
    A clang/include/clang/CIR/Dialect/IR/CMakeLists.txt
    M clang/include/clang/Driver/Options.td
    M clang/include/clang/ExtractAPI/API.h
    M clang/include/clang/ExtractAPI/APIRecords.inc
    M clang/include/clang/ExtractAPI/DeclarationFragments.h
    M clang/include/clang/ExtractAPI/ExtractAPIVisitor.h
    M clang/include/clang/Frontend/ASTUnit.h
    M clang/include/clang/Frontend/MultiplexConsumer.h
    M clang/include/clang/Lex/HeaderSearch.h
    M clang/include/clang/Lex/LiteralSupport.h
    M clang/include/clang/Parse/Parser.h
    M clang/include/clang/Sema/DeclSpec.h
    M clang/include/clang/Sema/MultiplexExternalSemaSource.h
    M clang/include/clang/Sema/ParsedAttr.h
    M clang/include/clang/Sema/Sema.h
    M clang/include/clang/Sema/SemaOpenACC.h
    M clang/include/clang/Serialization/ASTBitCodes.h
    M clang/include/clang/Serialization/ASTDeserializationListener.h
    M clang/include/clang/Serialization/ASTReader.h
    M clang/include/clang/Serialization/ASTRecordReader.h
    M clang/include/clang/Serialization/ASTWriter.h
    M clang/include/clang/Serialization/ModuleFile.h
    M clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
    M clang/include/clang/Support/RISCVVIntrinsicUtils.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/ASTContext.cpp
    M clang/lib/AST/ComputeDependence.cpp
    M clang/lib/AST/Decl.cpp
    M clang/lib/AST/DeclBase.cpp
    M clang/lib/AST/DeclCXX.cpp
    M clang/lib/AST/DeclFriend.cpp
    M clang/lib/AST/DeclObjC.cpp
    M clang/lib/AST/DeclOpenMP.cpp
    M clang/lib/AST/DeclTemplate.cpp
    M clang/lib/AST/Expr.cpp
    M clang/lib/AST/ExprClassification.cpp
    M clang/lib/AST/ExprConstant.cpp
    M clang/lib/AST/ExternalASTSource.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.cpp
    M clang/lib/AST/Interp/ByteCodeExprGen.h
    M clang/lib/AST/Interp/ByteCodeStmtGen.cpp
    M clang/lib/AST/Interp/Context.cpp
    M clang/lib/AST/Interp/Context.h
    M clang/lib/AST/Interp/Descriptor.cpp
    M clang/lib/AST/Interp/Descriptor.h
    M clang/lib/AST/Interp/Disasm.cpp
    M clang/lib/AST/Interp/Interp.h
    M clang/lib/AST/Interp/Opcodes.td
    M clang/lib/AST/Interp/Program.cpp
    M clang/lib/AST/ItaniumMangle.cpp
    M clang/lib/AST/NSAPI.cpp
    M clang/lib/AST/StmtPrinter.cpp
    M clang/lib/AST/StmtProfile.cpp
    M clang/lib/AST/Type.cpp
    M clang/lib/AST/TypeLoc.cpp
    M clang/lib/Analysis/FlowSensitive/ASTOps.cpp
    M clang/lib/Analysis/FlowSensitive/DataflowEnvironment.cpp
    M clang/lib/Analysis/FlowSensitive/Transfer.cpp
    M clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp
    M clang/lib/Basic/FileManager.cpp
    M clang/lib/Basic/Targets/ARM.h
    M clang/lib/Basic/Targets/AVR.h
    M clang/lib/Basic/Targets/BPF.h
    M clang/lib/Basic/Targets/M68k.h
    M clang/lib/Basic/Targets/Mips.h
    M clang/lib/Basic/Targets/PPC.cpp
    M clang/lib/Basic/Targets/PPC.h
    M clang/lib/Basic/Targets/RISCV.h
    M clang/lib/Basic/Targets/Sparc.h
    M clang/lib/Basic/Targets/SystemZ.h
    M clang/lib/Basic/Targets/WebAssembly.cpp
    M clang/lib/Basic/Targets/WebAssembly.h
    M clang/lib/CIR/CMakeLists.txt
    A clang/lib/CIR/Dialect/CMakeLists.txt
    A clang/lib/CIR/Dialect/IR/CIRDialect.cpp
    A clang/lib/CIR/Dialect/IR/CMakeLists.txt
    M clang/lib/CodeGen/CGBuiltin.cpp
    M clang/lib/CodeGen/CGCall.cpp
    M clang/lib/CodeGen/CGCleanup.cpp
    M clang/lib/CodeGen/CGCleanup.h
    M clang/lib/CodeGen/CGCoroutine.cpp
    M clang/lib/CodeGen/CGDebugInfo.cpp
    M clang/lib/CodeGen/CGDecl.cpp
    M clang/lib/CodeGen/CGExpr.cpp
    M clang/lib/CodeGen/CGExprAgg.cpp
    M clang/lib/CodeGen/CGExprCXX.cpp
    M clang/lib/CodeGen/CGExprConstant.cpp
    M clang/lib/CodeGen/CGExprScalar.cpp
    M clang/lib/CodeGen/CGHLSLRuntime.h
    M clang/lib/CodeGen/CGLoopInfo.cpp
    M clang/lib/CodeGen/CGObjCGNU.cpp
    M clang/lib/CodeGen/CGOpenMPRuntime.cpp
    M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
    M clang/lib/CodeGen/CGStmtOpenMP.cpp
    M clang/lib/CodeGen/CodeGenFunction.cpp
    M clang/lib/CodeGen/CodeGenFunction.h
    M clang/lib/CodeGen/CodeGenModule.cpp
    M clang/lib/CodeGen/CodeGenModule.h
    M clang/lib/CodeGen/CodeGenTypes.cpp
    M clang/lib/CodeGen/CoverageMappingGen.cpp
    M clang/lib/Driver/Driver.cpp
    M clang/lib/Driver/SanitizerArgs.cpp
    M clang/lib/Driver/ToolChain.cpp
    M clang/lib/Driver/ToolChains/AIX.cpp
    M clang/lib/Driver/ToolChains/AMDGPU.cpp
    M clang/lib/Driver/ToolChains/Arch/PPC.cpp
    M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
    M clang/lib/Driver/ToolChains/Clang.cpp
    M clang/lib/Driver/ToolChains/CommonArgs.cpp
    M clang/lib/Driver/ToolChains/Flang.cpp
    M clang/lib/Driver/ToolChains/Gnu.cpp
    M clang/lib/Driver/ToolChains/Linux.cpp
    M clang/lib/Driver/ToolChains/Linux.h
    M clang/lib/ExtractAPI/API.cpp
    M clang/lib/ExtractAPI/DeclarationFragments.cpp
    M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
    M clang/lib/Format/Format.cpp
    M clang/lib/Format/FormatToken.h
    M clang/lib/Format/TokenAnnotator.cpp
    M clang/lib/Format/UnwrappedLineParser.cpp
    M clang/lib/Format/WhitespaceManager.cpp
    M clang/lib/Frontend/ASTUnit.cpp
    M clang/lib/Frontend/CompilerInstance.cpp
    M clang/lib/Frontend/FrontendAction.cpp
    M clang/lib/Frontend/InitPreprocessor.cpp
    M clang/lib/Frontend/MultiplexConsumer.cpp
    M clang/lib/Headers/cpuid.h
    M clang/lib/Lex/HeaderSearch.cpp
    M clang/lib/Lex/LiteralSupport.cpp
    M clang/lib/Lex/PPExpressions.cpp
    M clang/lib/Parse/ParseCXXInlineMethods.cpp
    M clang/lib/Parse/ParseDecl.cpp
    M clang/lib/Parse/ParseExpr.cpp
    M clang/lib/Parse/ParseHLSL.cpp
    M clang/lib/Parse/ParseObjc.cpp
    M clang/lib/Parse/ParseOpenACC.cpp
    M clang/lib/Parse/ParseTemplate.cpp
    M clang/lib/Parse/Parser.cpp
    M clang/lib/Sema/DeclSpec.cpp
    M clang/lib/Sema/JumpDiagnostics.cpp
    M clang/lib/Sema/MultiplexExternalSemaSource.cpp
    M clang/lib/Sema/SemaAPINotes.cpp
    M clang/lib/Sema/SemaChecking.cpp
    M clang/lib/Sema/SemaDecl.cpp
    M clang/lib/Sema/SemaDeclCXX.cpp
    M clang/lib/Sema/SemaDeclObjC.cpp
    M clang/lib/Sema/SemaExceptionSpec.cpp
    M clang/lib/Sema/SemaExpr.cpp
    M clang/lib/Sema/SemaInit.cpp
    M clang/lib/Sema/SemaOpenACC.cpp
    M clang/lib/Sema/SemaOpenMP.cpp
    M clang/lib/Sema/SemaRISCVVectorLookup.cpp
    M clang/lib/Sema/SemaStmtAttr.cpp
    M clang/lib/Sema/SemaTemplate.cpp
    M clang/lib/Sema/SemaTemplateDeduction.cpp
    M clang/lib/Sema/SemaTemplateInstantiate.cpp
    M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
    M clang/lib/Sema/TreeTransform.h
    M clang/lib/Serialization/ASTCommon.cpp
    M clang/lib/Serialization/ASTReader.cpp
    M clang/lib/Serialization/ASTReaderDecl.cpp
    M clang/lib/Serialization/ASTReaderInternals.h
    M clang/lib/Serialization/ASTReaderStmt.cpp
    M clang/lib/Serialization/ASTWriter.cpp
    M clang/lib/Serialization/ASTWriterDecl.cpp
    M clang/lib/Serialization/ASTWriterStmt.cpp
    M clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
    M clang/lib/StaticAnalyzer/Checkers/Taint.cpp
    M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
    M clang/lib/StaticAnalyzer/Checkers/WebKit/UncountedCallArgsChecker.cpp
    M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
    M clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.apinotes
    M clang/test/APINotes/Inputs/Headers/SwiftImportAs.h
    M clang/test/APINotes/swift-import-as.cpp
    M clang/test/AST/Interp/c.c
    M clang/test/AST/Interp/cxx23.cpp
    M clang/test/AST/Interp/functions.cpp
    M clang/test/AST/Interp/records.cpp
    M clang/test/AST/ast-dump-fpfeatures.cpp
    A clang/test/AST/ast-dump-fpfeatures.m
    A clang/test/AST/ast-dump-late-parsing.cpp
    M clang/test/AST/ast-dump-macro-json.c
    A clang/test/AST/ast-dump-pragma-unroll.cpp
    M clang/test/AST/ast-dump-recovery.cpp
    A clang/test/AST/bitint-suffix.cpp
    M clang/test/Analysis/Checkers/WebKit/call-args.cpp
    M clang/test/Analysis/Checkers/WebKit/mock-types.h
    M clang/test/Analysis/html_diagnostics/relevant_lines/multifile.c
    A clang/test/CXX/drs/cwg2149.cpp
    M clang/test/CXX/drs/cwg650.cpp
    M clang/test/CXX/drs/dr20xx.cpp
    M clang/test/CXX/drs/dr21xx.cpp
    M clang/test/CXX/drs/dr24xx.cpp
    M clang/test/CXX/drs/dr25xx.cpp
    M clang/test/CXX/drs/dr28xx.cpp
    M clang/test/CXX/expr/expr.const/p5-26.cpp
    A clang/test/CXX/stmt.stmt/stmt.return/p6.cpp
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vcreate.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vget.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vle16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_ext_v.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlmul_trunc_v.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vloxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg2e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg3e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg4e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg5e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg6e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg7e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlseg8e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vlsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vluxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vreinterpret.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vset.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsoxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vssseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vsuxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/bfloat16/vundefined.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdf.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesdm.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesef.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesem.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vaesz.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vsm4r.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vget.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vle16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_ext_v.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlmul_trunc_v.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vloxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg2e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg3e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg4e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg5e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg6e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg7e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlseg8e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vlsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vluxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vreinterpret.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vset.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsoxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vssseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/bfloat16/vsuxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdf.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesdm.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesef.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesem.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vaesz.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vsm4r.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vle16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vloxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg2e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg3e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg4e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg5e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg6e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg7e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlseg8e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vlsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/bfloat16/vluxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdf.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesdm.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesef.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesem.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vaesz.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vsm4r.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vle16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vloxseg8ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlse16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg2e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg3e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg4e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg5e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg6e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg7e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlseg8e16ff.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg2e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg3e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg4e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg5e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg6e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg7e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vlsseg8e16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg2ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg3ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg4ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg5ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg6ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg7ei16.c
    A clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/bfloat16/vluxseg8ei16.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdf.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesdm.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesef.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesem.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vaesz.c
    M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vsm4r.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector.c
    M clang/test/CodeGen/SystemZ/builtins-systemz-zvector2.c
    M clang/test/CodeGen/X86/ms-x86-intrinsics.c
    M clang/test/CodeGen/aarch64-sve2p1-intrinsics/acle_sve2p1_fp_reduce.c
    M clang/test/CodeGen/arm-bf16-convert-intrinsics.c
    M clang/test/CodeGen/attr-counted-by.c
    M clang/test/CodeGen/builtins-reduction-math.c
    M clang/test/CodeGen/builtins-wasm.c
    M clang/test/CodeGen/ms-intrinsics-other.c
    M clang/test/CodeGen/ms-intrinsics.c
    M clang/test/CodeGen/ms-mixed-ptr-sizes.c
    M clang/test/CodeGenCXX/blocks.cpp
    A clang/test/CodeGenCXX/control-flow-in-stmt-expr.cpp
    A clang/test/CodeGenCXX/dependent-template-alias.cpp
    M clang/test/CodeGenCXX/pragma-gcc-unroll.cpp
    M clang/test/CodeGenCXX/pragma-unroll.cpp
    M clang/test/CodeGenCoroutines/coro-await.cpp
    M clang/test/CodeGenCoroutines/coro-dwarf.cpp
    A clang/test/CodeGenCoroutines/coro-suspend-cleanups.cpp
    M clang/test/CodeGenCoroutines/pr65054.cpp
    M clang/test/CodeGenHLSL/builtins/lerp-builtin.hlsl
    M clang/test/CodeGenHLSL/builtins/lerp.hlsl
    M clang/test/CodeGenObjC/arc-blocks-exceptions.m
    M clang/test/CodeGenObjC/arc-blocks.m
    A clang/test/CodeGenObjCXX/msabi-stret-arm64.mm
    M clang/test/CodeGenOpenCL/builtins-generic-amdgcn.cl
    A clang/test/CoverageMapping/statement-expression.c
    M clang/test/Driver/aarch64-mcpu.c
    A clang/test/Driver/aix-small-local-exec-dynamic-tls.c
    R clang/test/Driver/aix-small-local-exec-tls.c
    M clang/test/Driver/amdgpu-toolchain.c
    M clang/test/Driver/cl-options.c
    R clang/test/Driver/claim-unused.c
    M clang/test/Driver/default-denormal-fp-math.c
    M clang/test/Driver/fast-math.c
    M clang/test/Driver/fp-model.c
    A clang/test/Driver/gcc-param.c
    M clang/test/Driver/hlsl-lang-targets-spirv.hlsl
    M clang/test/Driver/integrated-as.c
    M clang/test/Driver/linux-ld.c
    M clang/test/Driver/riscv-arch.c
    M clang/test/Driver/sanitizer-ld.c
    M clang/test/Driver/wasm-features.c
    M clang/test/ExtractAPI/anonymous_record_no_typedef.c
    M clang/test/ExtractAPI/availability.c
    M clang/test/ExtractAPI/enum.c
    M clang/test/ExtractAPI/function_noexcepts.cpp
    M clang/test/ExtractAPI/methods.cpp
    M clang/test/ExtractAPI/objc_block.m
    M clang/test/ExtractAPI/typedef_anonymous_record.c
    M clang/test/ExtractAPI/typedef_struct_enum.c
    M clang/test/FixIt/format-darwin-enum-class.cpp
    M clang/test/FixIt/format.cpp
    A clang/test/Frontend/ast-dump-on-llvm.ll
    M clang/test/Headers/wasm.c
    M clang/test/Interpreter/fail.cpp
    M clang/test/Lexer/bitint-constants-compat.c
    A clang/test/Lexer/bitint-constants.cpp
    M clang/test/Lexer/cxx-features.cpp
    M clang/test/Lexer/update_consecutive_macro_address_space.c
    A clang/test/Misc/cc1as-relax-all.s
    M clang/test/Misc/target-invalid-cpu-note.c
    A clang/test/Modules/pr88400.cppm
    A clang/test/Modules/prune-non-affecting-module-map-files-textual.c
    M clang/test/OpenMP/task_depend_messages.cpp
    M clang/test/Parser/cxx1z-decomposition.cpp
    M clang/test/Parser/cxx2a-constrained-template-param.cpp
    M clang/test/Parser/pragma-unroll.cpp
    M clang/test/ParserOpenACC/parse-cache-construct.cpp
    M clang/test/ParserOpenACC/parse-clauses.c
    A clang/test/Preprocessor/hardware_interference.cpp
    M clang/test/Preprocessor/init-aarch64.c
    M clang/test/Preprocessor/init.c
    M clang/test/Preprocessor/predefined-macros-hlsl.hlsl
    M clang/test/Preprocessor/predefined-win-macros.c
    M clang/test/Preprocessor/riscv-target-features.c
    M clang/test/Preprocessor/wasm-target-features.c
    M clang/test/Sema/aarch64-incompat-sm-builtin-calls.c
    M clang/test/Sema/aarch64-sme-func-attrs.c
    A clang/test/Sema/constant_builtins_vector.cpp
    M clang/test/Sema/convertvector.c
    M clang/test/SemaCXX/cxx1z-class-template-argument-deduction.cpp
    M clang/test/SemaCXX/cxx2a-consteval.cpp
    M clang/test/SemaCXX/format-strings.cpp
    M clang/test/SemaCXX/static-assert-cxx26.cpp
    M clang/test/SemaCXX/template-specialization.cpp
    M clang/test/SemaCXX/type-traits.cpp
    M clang/test/SemaCXX/unused.cpp
    M clang/test/SemaObjC/format-strings-oslog.m
    R clang/test/TestRunner.sh
    M clang/tools/c-index-test/c-index-test.c
    M clang/tools/clang-installapi/Options.cpp
    M clang/tools/clang-repl/ClangRepl.cpp
    M clang/tools/driver/cc1_main.cpp
    M clang/tools/driver/cc1as_main.cpp
    M clang/tools/libclang/CIndex.cpp
    M clang/tools/libclang/CXCursor.cpp
    M clang/tools/libclang/CXSourceLocation.cpp
    M clang/unittests/Analysis/FlowSensitive/TestingSupport.h
    M clang/unittests/Analysis/FlowSensitive/TransferTest.cpp
    M clang/unittests/Format/FormatTest.cpp
    M clang/unittests/Format/SortIncludesTest.cpp
    M clang/unittests/Format/TokenAnnotatorTest.cpp
    M clang/unittests/libclang/LibclangTest.cpp
    M clang/utils/TableGen/ClangAttrEmitter.cpp
    M clang/utils/TableGen/RISCVVEmitter.cpp
    M clang/www/cxx_dr_status.html
    M clang/www/cxx_status.html
    M clang/www/make_cxx_dr_status
    M compiler-rt/CMakeLists.txt
    M compiler-rt/cmake/Modules/AllSupportedArchDefs.cmake
    M compiler-rt/cmake/config-ix.cmake
    M compiler-rt/lib/CMakeLists.txt
    M compiler-rt/lib/builtins/fp_add_impl.inc
    M compiler-rt/lib/builtins/fp_fixint_impl.inc
    M compiler-rt/lib/builtins/fp_lib.h
    M compiler-rt/lib/builtins/int_types.h
    A compiler-rt/lib/ctx_profile/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.cpp
    A compiler-rt/lib/ctx_profile/CtxInstrProfiling.h
    A compiler-rt/lib/ctx_profile/tests/CMakeLists.txt
    A compiler-rt/lib/ctx_profile/tests/CtxInstrProfilingTest.cpp
    A compiler-rt/lib/ctx_profile/tests/driver.cpp
    M compiler-rt/lib/fuzzer/build.sh
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup.cpp
    M compiler-rt/lib/sanitizer_common/sanitizer_symbolizer_markup_constants.h
    M compiler-rt/lib/scudo/standalone/allocator_config.def
    M compiler-rt/lib/scudo/standalone/combined.h
    M compiler-rt/lib/scudo/standalone/flags.inc
    M compiler-rt/lib/scudo/standalone/mem_map_fuchsia.cpp
    M compiler-rt/lib/scudo/standalone/primary32.h
    M compiler-rt/lib/scudo/standalone/primary64.h
    M compiler-rt/lib/scudo/standalone/secondary.h
    M compiler-rt/lib/scudo/standalone/wrappers_c.inc
    M compiler-rt/test/CMakeLists.txt
    M compiler-rt/test/asan/TestCases/Darwin/odr-lto.cpp
    A compiler-rt/test/ctx_profile/CMakeLists.txt
    A compiler-rt/test/ctx_profile/Unit/lit.site.cfg.py.in
    M compiler-rt/test/gwp_asan/CMakeLists.txt
    M compiler-rt/test/memprof/CMakeLists.txt
    A compiler-rt/test/memprof/Unit/lit.site.cfg.py.in
    M flang/cmake/modules/AddFlangOffloadRuntime.cmake
    M flang/docs/FlangDriver.md
    M flang/docs/Preprocessing.md
    M flang/include/flang/Common/real.h
    M flang/include/flang/Common/visit.h
    M flang/include/flang/Decimal/binary-floating-point.h
    M flang/include/flang/Evaluate/call.h
    M flang/include/flang/Evaluate/characteristics.h
    M flang/include/flang/Evaluate/complex.h
    M flang/include/flang/Evaluate/integer.h
    M flang/include/flang/Evaluate/real.h
    M flang/include/flang/Evaluate/type.h
    M flang/include/flang/Lower/Allocatable.h
    M flang/include/flang/Lower/Mangler.h
    M flang/include/flang/Optimizer/Analysis/TBAAForest.h
    M flang/include/flang/Optimizer/Builder/BoxValue.h
    M flang/include/flang/Optimizer/Builder/Factory.h
    M flang/include/flang/Optimizer/Builder/HLFIRTools.h
    M flang/include/flang/Optimizer/Builder/IntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/PPCIntrinsicCall.h
    M flang/include/flang/Optimizer/Builder/Runtime/EnvironmentDefaults.h
    A flang/include/flang/Optimizer/Builder/Runtime/Main.h
    M flang/include/flang/Optimizer/Dialect/CanonicalizationPatterns.td
    M flang/include/flang/Optimizer/Dialect/FIROps.td
    M flang/include/flang/Optimizer/Dialect/FIRType.h
    M flang/include/flang/Optimizer/Dialect/FIRTypes.td
    M flang/include/flang/Optimizer/Dialect/FortranVariableInterface.td
    M flang/include/flang/Optimizer/HLFIR/HLFIRDialect.h
    M flang/include/flang/Optimizer/Support/Utils.h
    M flang/include/flang/Optimizer/Transforms/Passes.h
    M flang/include/flang/Optimizer/Transforms/Passes.td
    M flang/include/flang/Parser/parse-tree.h
    M flang/include/flang/Parser/preprocessor.h
    M flang/include/flang/Runtime/descriptor.h
    M flang/include/flang/Runtime/numeric.h
    M flang/include/flang/Semantics/symbol.h
    M flang/include/flang/Tools/CLOptions.inc
    M flang/include/flang/Tools/PointerModels.h
    M flang/lib/Decimal/big-radix-floating-point.h
    M flang/lib/Evaluate/characteristics.cpp
    M flang/lib/Evaluate/check-expression.cpp
    M flang/lib/Evaluate/complex.cpp
    M flang/lib/Evaluate/fold-implementation.h
    M flang/lib/Evaluate/fold-logical.cpp
    M flang/lib/Evaluate/int-power.h
    M flang/lib/Evaluate/integer.cpp
    M flang/lib/Evaluate/intrinsics.cpp
    M flang/lib/Evaluate/real.cpp
    M flang/lib/Evaluate/tools.cpp
    M flang/lib/Evaluate/type.cpp
    M flang/lib/Frontend/FrontendActions.cpp
    M flang/lib/Lower/Allocatable.cpp
    M flang/lib/Lower/Bridge.cpp
    M flang/lib/Lower/CallInterface.cpp
    M flang/lib/Lower/ConvertArrayConstructor.cpp
    M flang/lib/Lower/ConvertCall.cpp
    M flang/lib/Lower/ConvertConstant.cpp
    M flang/lib/Lower/ConvertExpr.cpp
    M flang/lib/Lower/ConvertExprToHLFIR.cpp
    M flang/lib/Lower/ConvertProcedureDesignator.cpp
    M flang/lib/Lower/ConvertVariable.cpp
    M flang/lib/Lower/CustomIntrinsicCall.cpp
    M flang/lib/Lower/DirectivesCommon.h
    M flang/lib/Lower/HlfirIntrinsics.cpp
    M flang/lib/Lower/HostAssociations.cpp
    M flang/lib/Lower/IO.cpp
    M flang/lib/Lower/OpenACC.cpp
    M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
    M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
    M flang/lib/Lower/OpenMP/OpenMP.cpp
    M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
    M flang/lib/Lower/VectorSubscripts.cpp
    M flang/lib/Optimizer/Analysis/AliasAnalysis.cpp
    M flang/lib/Optimizer/Builder/BoxValue.cpp
    M flang/lib/Optimizer/Builder/CMakeLists.txt
    M flang/lib/Optimizer/Builder/Character.cpp
    M flang/lib/Optimizer/Builder/Complex.cpp
    M flang/lib/Optimizer/Builder/FIRBuilder.cpp
    M flang/lib/Optimizer/Builder/HLFIRTools.cpp
    M flang/lib/Optimizer/Builder/IntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/MutableBox.cpp
    M flang/lib/Optimizer/Builder/PPCIntrinsicCall.cpp
    M flang/lib/Optimizer/Builder/Runtime/Allocatable.cpp
    M flang/lib/Optimizer/Builder/Runtime/Character.cpp
    M flang/lib/Optimizer/Builder/Runtime/EnvironmentDefaults.cpp
    M flang/lib/Optimizer/Builder/Runtime/Intrinsics.cpp
    A flang/lib/Optimizer/Builder/Runtime/Main.cpp
    M flang/lib/Optimizer/Builder/Runtime/Ragged.cpp
    M flang/lib/Optimizer/Builder/Runtime/Reduction.cpp
    M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
    M flang/lib/Optimizer/CodeGen/CGOps.cpp
    M flang/lib/Optimizer/CodeGen/CodeGen.cpp
    M flang/lib/Optimizer/CodeGen/FIROpPatterns.cpp
    M flang/lib/Optimizer/CodeGen/PreCGRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TBAABuilder.cpp
    M flang/lib/Optimizer/CodeGen/Target.cpp
    M flang/lib/Optimizer/CodeGen/TargetRewrite.cpp
    M flang/lib/Optimizer/CodeGen/TypeConverter.cpp
    M flang/lib/Optimizer/Dialect/FIRAttr.cpp
    M flang/lib/Optimizer/Dialect/FIROps.cpp
    M flang/lib/Optimizer/Dialect/FIRType.cpp
    M flang/lib/Optimizer/Dialect/FortranVariableInterface.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIRDialect.cpp
    M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/LowerHLFIROrderedAssignments.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
    M flang/lib/Optimizer/HLFIR/Transforms/SimplifyHLFIRIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/AbstractResult.cpp
    M flang/lib/Optimizer/Transforms/AddDebugInfo.cpp
    M flang/lib/Optimizer/Transforms/AffineDemotion.cpp
    M flang/lib/Optimizer/Transforms/AffinePromotion.cpp
    M flang/lib/Optimizer/Transforms/ArrayValueCopy.cpp
    M flang/lib/Optimizer/Transforms/CMakeLists.txt
    M flang/lib/Optimizer/Transforms/CharacterConversion.cpp
    M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
    M flang/lib/Optimizer/Transforms/LoopVersioning.cpp
    M flang/lib/Optimizer/Transforms/MemoryAllocation.cpp
    M flang/lib/Optimizer/Transforms/OMPFunctionFiltering.cpp
    M flang/lib/Optimizer/Transforms/PolymorphicOpConversion.cpp
    M flang/lib/Optimizer/Transforms/SimplifyIntrinsics.cpp
    M flang/lib/Optimizer/Transforms/SimplifyRegionLite.cpp
    M flang/lib/Optimizer/Transforms/StackArrays.cpp
    M flang/lib/Parser/Fortran-parsers.cpp
    M flang/lib/Parser/prescan.cpp
    M flang/lib/Parser/prescan.h
    M flang/lib/Semantics/check-call.cpp
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/check-omp-structure.cpp
    M flang/lib/Semantics/check-omp-structure.h
    M flang/lib/Semantics/expression.cpp
    M flang/lib/Semantics/pointer-assignment.cpp
    M flang/lib/Semantics/program-tree.cpp
    M flang/lib/Semantics/program-tree.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/module/__fortran_builtins.f90
    M flang/runtime/CMakeLists.txt
    R flang/runtime/FortranMain/CMakeLists.txt
    R flang/runtime/FortranMain/Fortran_main.c
    M flang/runtime/edit-output.cpp
    M flang/runtime/environment.cpp
    M flang/runtime/file.cpp
    M flang/runtime/namelist.cpp
    M flang/runtime/numeric.cpp
    M flang/runtime/unit.cpp
    M flang/runtime/utf.cpp
    M flang/test/CMakeLists.txt
    M flang/test/Driver/bbc-mlir-pass-pipeline.f90
    M flang/test/Driver/driver-help-hidden.f90
    M flang/test/Driver/driver-help.f90
    M flang/test/Driver/dynamic-linker.f90
    M flang/test/Driver/emit-mlir.f90
    M flang/test/Driver/linker-flags.f90
    M flang/test/Driver/mlir-debug-pass-pipeline.f90
    M flang/test/Driver/mlir-pass-pipeline.f90
    M flang/test/Driver/msvc-dependent-lib-flags.f90
    M flang/test/Driver/no-duplicate-main.f90
    M flang/test/Evaluate/fold-out_of_range.f90
    A flang/test/Evaluate/rewrite-out_of_range.F90
    M flang/test/Fir/array-value-copy-2.fir
    M flang/test/Fir/basic-program.fir
    M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
    M flang/test/Fir/loop01.fir
    M flang/test/Fir/loop02.fir
    M flang/test/Lower/CUDA/cuda-allocatable.cuf
    M flang/test/Lower/CUDA/cuda-data-transfer.cuf
    M flang/test/Lower/CUDA/cuda-kernel-loop-directive.cuf
    M flang/test/Lower/HLFIR/calls-f77.f90
    M flang/test/Lower/HLFIR/internal-procedures.f90
    A flang/test/Lower/Intrinsics/shape.f90
    M flang/test/Lower/OpenACC/acc-declare.f90
    R flang/test/Lower/OpenMP/FIR/array-bounds.f90
    R flang/test/Lower/OpenMP/FIR/atomic-capture.f90
    R flang/test/Lower/OpenMP/FIR/atomic-read.f90
    R flang/test/Lower/OpenMP/FIR/atomic-update.f90
    R flang/test/Lower/OpenMP/FIR/atomic-write.f90
    R flang/test/Lower/OpenMP/FIR/copyin.f90
    R flang/test/Lower/OpenMP/FIR/critical.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-data.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-func-and-subr.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap-enter.f90
    R flang/test/Lower/OpenMP/FIR/declare-target-implicit-func-and-subr-cap.f90
    R flang/test/Lower/OpenMP/FIR/default-clause.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-firstprivate.f90
    R flang/test/Lower/OpenMP/FIR/delayed-privatization-private.f90
    R flang/test/Lower/OpenMP/FIR/firstprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/flush.f90
    R flang/test/Lower/OpenMP/FIR/if-clause.f90
    R flang/test/Lower/OpenMP/FIR/is-device.f90
    R flang/test/Lower/OpenMP/FIR/lastprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/location.f90
    R flang/test/Lower/OpenMP/FIR/loop-combined.f90
    R flang/test/Lower/OpenMP/FIR/map-component-ref.f90
    R flang/test/Lower/OpenMP/FIR/master.f90
    R flang/test/Lower/OpenMP/FIR/omp-declare-target-program-var.f90
    R flang/test/Lower/OpenMP/FIR/omp-is-gpu.f90
    R flang/test/Lower/OpenMP/FIR/ordered-threads.f90
    R flang/test/Lower/OpenMP/FIR/parallel-firstprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-lastprivate-clause-scalar.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause-fixes.f90
    R flang/test/Lower/OpenMP/FIR/parallel-private-clause.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/parallel-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/parallel-sections.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop-firstpriv.f90
    R flang/test/Lower/OpenMP/FIR/parallel-wsloop.f90
    R flang/test/Lower/OpenMP/FIR/parallel.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree-loop.f90
    R flang/test/Lower/OpenMP/FIR/pre-fir-tree01.f90
    R flang/test/Lower/OpenMP/FIR/private-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/requires-common.f90
    R flang/test/Lower/OpenMP/FIR/requires-notarget.f90
    R flang/test/Lower/OpenMP/FIR/requires.f90
    R flang/test/Lower/OpenMP/FIR/rtl-flags.f90
    R flang/test/Lower/OpenMP/FIR/sections-pft.f90
    R flang/test/Lower/OpenMP/FIR/sections.f90
    R flang/test/Lower/OpenMP/FIR/simd.f90
    R flang/test/Lower/OpenMP/FIR/simple-barrier.f90
    R flang/test/Lower/OpenMP/FIR/single.f90
    R flang/test/Lower/OpenMP/FIR/stop-stmt-in-region.f90
    R flang/test/Lower/OpenMP/FIR/target.f90
    R flang/test/Lower/OpenMP/FIR/target_cpu_features.f90
    R flang/test/Lower/OpenMP/FIR/task.f90
    R flang/test/Lower/OpenMP/FIR/taskgroup.f90
    R flang/test/Lower/OpenMP/FIR/taskwait.f90
    R flang/test/Lower/OpenMP/FIR/taskyield.f90
    R flang/test/Lower/OpenMP/FIR/teams.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-char-array-chararray.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-commonblock.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-integer-different-kinds.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-non-global.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-pointer-allocatable.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-real-logical-complex-derivedtype.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association-2.f90
    R flang/test/Lower/OpenMP/FIR/threadprivate-use-association.f90
    R flang/test/Lower/OpenMP/FIR/unstructured.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-chunks.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-collapse.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-monotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-nonmonotonic.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-ordered.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-add.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-iand.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ieor.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-ior.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-eqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-logical-neqv.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-max.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min-byref.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-reduction-min.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-simd.f90
    R flang/test/Lower/OpenMP/FIR/wsloop-variable.f90
    R flang/test/Lower/OpenMP/FIR/wsloop.f90
    M flang/test/Lower/OpenMP/Todo/omp-default-clause-inner-loop.f90
    R flang/test/Lower/OpenMP/Todo/reduction-allocatable.f90
    A flang/test/Lower/OpenMP/cfg-conversion-omp.private.f90
    M flang/test/Lower/OpenMP/copyin.f90
    M flang/test/Lower/OpenMP/default-clause-byref.f90
    A flang/test/Lower/OpenMP/default-clause-implied-do-fix.f90
    M flang/test/Lower/OpenMP/default-clause.f90
    A flang/test/Lower/OpenMP/function-filtering-3.f90
    M flang/test/Lower/OpenMP/hlfir-wsloop.f90
    M flang/test/Lower/OpenMP/if-clause.f90
    M flang/test/Lower/OpenMP/lastprivate-commonblock.f90
    M flang/test/Lower/OpenMP/lastprivate-iv.f90
    M flang/test/Lower/OpenMP/location.f90
    M flang/test/Lower/OpenMP/parallel-lastprivate-clause-scalar.f90
    M flang/test/Lower/OpenMP/parallel-private-clause-fixes.f90
    M flang/test/Lower/OpenMP/parallel-private-clause.f90
    A flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
    A flang/test/Lower/OpenMP/parallel-reduction-array-lb.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array.f90
    M flang/test/Lower/OpenMP/parallel-reduction-array2.f90
    M flang/test/Lower/OpenMP/parallel-reduction3.f90
    M flang/test/Lower/OpenMP/parallel-wsloop-firstpriv.f90
    M flang/test/Lower/OpenMP/parallel-wsloop.f90
    M flang/test/Lower/OpenMP/simd.f90
    M flang/test/Lower/OpenMP/stop-stmt-in-region.f90
    M flang/test/Lower/OpenMP/target.f90
    M flang/test/Lower/OpenMP/threadprivate-real-logical-complex-derivedtype.f90
    M flang/test/Lower/OpenMP/unstructured.f90
    M flang/test/Lower/OpenMP/use-device-ptr-to-use-device-addr.f90
    M flang/test/Lower/OpenMP/wsloop-chunks.f90
    M flang/test/Lower/OpenMP/wsloop-collapse.f90
    M flang/test/Lower/OpenMP/wsloop-monotonic.f90
    M flang/test/Lower/OpenMP/wsloop-nonmonotonic.f90
    M flang/test/Lower/OpenMP/wsloop-ordered.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-add.f90
    A flang/test/Lower/OpenMP/wsloop-reduction-allocatable.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array-assumed-shape.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-array2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-iand.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ieor.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-ior.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-and.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-eqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-neqv.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-logical-or.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max-hlfir.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-max.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-min2.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul-byref.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-mul.f90
    M flang/test/Lower/OpenMP/wsloop-reduction-multi.f90
    M flang/test/Lower/OpenMP/wsloop-simd.f90
    M flang/test/Lower/OpenMP/wsloop-unstructured.f90
    M flang/test/Lower/OpenMP/wsloop-variable.f90
    M flang/test/Lower/OpenMP/wsloop.f90
    M flang/test/Parser/unrecognized-dir.f90
    A flang/test/Preprocessing/backslash-contin1.F90
    A flang/test/Semantics/OpenMP/firstprivate02.f90
    A flang/test/Semantics/OpenMP/lastprivate03.f90
    M flang/test/Semantics/OpenMP/parallel-private01.f90
    M flang/test/Semantics/OpenMP/parallel-private02.f90
    M flang/test/Semantics/OpenMP/parallel-private03.f90
    M flang/test/Semantics/OpenMP/parallel-private04.f90
    M flang/test/Semantics/OpenMP/parallel-sections01.f90
    M flang/test/Semantics/OpenMP/parallel-shared01.f90
    M flang/test/Semantics/OpenMP/parallel-shared02.f90
    M flang/test/Semantics/OpenMP/parallel-shared03.f90
    M flang/test/Semantics/OpenMP/parallel-shared04.f90
    A flang/test/Semantics/arg-convert.f90
    M flang/test/Semantics/cuf02.cuf
    M flang/test/Semantics/declarations03.f90
    M flang/test/Semantics/resolve102.f90
    M flang/test/Semantics/select-rank.f90
    M flang/test/Semantics/stmt-func02.f90
    M flang/test/Transforms/debug-line-table-inc-file.fir
    M flang/test/Transforms/debug-line-table.fir
    M flang/test/Transforms/omp-reduction-cfg-conversion.fir
    M flang/tools/flang-driver/CMakeLists.txt
    M flang/unittests/Optimizer/Builder/ComplexTest.cpp
    M flang/unittests/Optimizer/Builder/DoLoopHelperTest.cpp
    M flang/unittests/Optimizer/Builder/FIRBuilderTest.cpp
    M flang/unittests/Optimizer/RTBuilder.cpp
    M flang/unittests/Runtime/NumericalFormatTest.cpp
    M flang/unittests/Runtime/RuntimeCrashTest.cpp
    M libc/config/linux/api.td
    M libc/config/linux/syscall_numbers.h.inc
    M libc/config/linux/x86_64/entrypoints.txt
    M libc/docs/dev/code_style.rst
    M libc/docs/index.rst
    A libc/docs/setjmp.rst
    M libc/include/CMakeLists.txt
    M libc/include/assert.h.def
    M libc/include/llvm-libc-macros/CMakeLists.txt
    A libc/include/llvm-libc-macros/assert-macros.h
    M libc/include/llvm-libc-types/CMakeLists.txt
    A libc/include/llvm-libc-types/pthread_rwlockattr_t.h
    M libc/spec/posix.td
    M libc/src/__support/OSUtil/fuchsia/io.h
    M libc/src/pthread/CMakeLists.txt
    A libc/src/pthread/pthread_rwlockattr_destroy.cpp
    A libc/src/pthread/pthread_rwlockattr_destroy.h
    A libc/src/pthread/pthread_rwlockattr_getpshared.cpp
    A libc/src/pthread/pthread_rwlockattr_getpshared.h
    A libc/src/pthread/pthread_rwlockattr_init.cpp
    A libc/src/pthread/pthread_rwlockattr_init.h
    A libc/src/pthread/pthread_rwlockattr_setpshared.cpp
    A libc/src/pthread/pthread_rwlockattr_setpshared.h
    M libc/src/stdlib/bsearch.h
    M libc/src/sys/stat/linux/chmod.cpp
    M libc/test/UnitTest/CMakeLists.txt
    A libc/test/UnitTest/FEnvSafeTest.cpp
    A libc/test/UnitTest/FEnvSafeTest.h
    M libc/test/UnitTest/FPExceptMatcher.cpp
    M libc/test/UnitTest/FPExceptMatcher.h
    R libc/test/UnitTest/FuchsiaTest.h
    A libc/test/UnitTest/GTest.h
    M libc/test/UnitTest/LibcTest.h
    M libc/test/UnitTest/MemoryMatcher.cpp
    M libc/test/UnitTest/MemoryMatcher.h
    R libc/test/UnitTest/PigweedTest.h
    M libc/test/UnitTest/Test.h
    A libc/test/UnitTest/ZxTest.h
    M libc/test/include/CMakeLists.txt
    A libc/test/include/assert_test.cpp
    M libc/test/src/fenv/CMakeLists.txt
    M libc/test/src/fenv/enabled_exceptions_test.cpp
    M libc/test/src/fenv/exception_flags_test.cpp
    M libc/test/src/fenv/exception_status_test.cpp
    A libc/test/src/fenv/excepts.h
    M libc/test/src/fenv/feclearexcept_test.cpp
    M libc/test/src/fenv/feenableexcept_test.cpp
    M libc/test/src/fenv/feholdexcept_test.cpp
    M libc/test/src/fenv/feupdateenv_test.cpp
    M libc/test/src/fenv/getenv_and_setenv_test.cpp
    M libc/test/src/fenv/rounding_mode_test.cpp
    M libc/test/src/math/CeilTest.h
    M libc/test/src/math/CopySignTest.h
    M libc/test/src/math/FAbsTest.h
    M libc/test/src/math/FDimTest.h
    M libc/test/src/math/FMaxTest.h
    M libc/test/src/math/FMinTest.h
    M libc/test/src/math/FModTest.h
    M libc/test/src/math/FloorTest.h
    M libc/test/src/math/FmaTest.h
    M libc/test/src/math/FrexpTest.h
    M libc/test/src/math/HypotTest.h
    M libc/test/src/math/ILogbTest.h
    M libc/test/src/math/LdExpTest.h
    M libc/test/src/math/LogbTest.h
    M libc/test/src/math/ModfTest.h
    M libc/test/src/math/NextAfterTest.h
    M libc/test/src/math/RIntTest.h
    M libc/test/src/math/RemQuoTest.h
    M libc/test/src/math/RoundEvenTest.h
    M libc/test/src/math/RoundTest.h
    M libc/test/src/math/RoundToIntegerTest.h
    M libc/test/src/math/SqrtTest.h
    M libc/test/src/math/TruncTest.h
    M libc/test/src/math/exhaustive/fmod_generic_impl_test.cpp
    M libc/test/src/math/smoke/CanonicalizeTest.h
    M libc/test/src/math/smoke/CeilTest.h
    M libc/test/src/math/smoke/CopySignTest.h
    M libc/test/src/math/smoke/FAbsTest.h
    M libc/test/src/math/smoke/FDimTest.h
    M libc/test/src/math/smoke/FMaxTest.h
    M libc/test/src/math/smoke/FMaximumMagNumTest.h
    M libc/test/src/math/smoke/FMaximumMagTest.h
    M libc/test/src/math/smoke/FMaximumNumTest.h
    M libc/test/src/math/smoke/FMaximumTest.h
    M libc/test/src/math/smoke/FMinTest.h
    M libc/test/src/math/smoke/FMinimumMagNumTest.h
    M libc/test/src/math/smoke/FMinimumMagTest.h
    M libc/test/src/math/smoke/FMinimumNumTest.h
    M libc/test/src/math/smoke/FMinimumTest.h
    M libc/test/src/math/smoke/FModTest.h
    M libc/test/src/math/smoke/FloorTest.h
    M libc/test/src/math/smoke/FmaTest.h
    M libc/test/src/math/smoke/FrexpTest.h
    M libc/test/src/math/smoke/FromfpTest.h
    M libc/test/src/math/smoke/FromfpxTest.h
    M libc/test/src/math/smoke/HypotTest.h
    M libc/test/src/math/smoke/ILogbTest.h
    M libc/test/src/math/smoke/LdExpTest.h
    M libc/test/src/math/smoke/LogbTest.h
    M libc/test/src/math/smoke/ModfTest.h
    M libc/test/src/math/smoke/NextAfterTest.h
    M libc/test/src/math/smoke/NextDownTest.h
    M libc/test/src/math/smoke/NextTowardTest.h
    M libc/test/src/math/smoke/NextUpTest.h
    M libc/test/src/math/smoke/RIntTest.h
    M libc/test/src/math/smoke/RemQuoTest.h
    M libc/test/src/math/smoke/RoundEvenTest.h
    M libc/test/src/math/smoke/RoundTest.h
    M libc/test/src/math/smoke/RoundToIntegerTest.h
    M libc/test/src/math/smoke/SqrtTest.h
    M libc/test/src/math/smoke/TruncTest.h
    M libc/test/src/math/smoke/UfromfpTest.h
    M libc/test/src/math/smoke/UfromfpxTest.h
    M libc/test/src/math/smoke/nan_test.cpp
    M libc/test/src/math/smoke/nanf128_test.cpp
    M libc/test/src/math/smoke/nanf_test.cpp
    M libc/test/src/math/smoke/nanl_test.cpp
    M libc/test/src/pthread/CMakeLists.txt
    A libc/test/src/pthread/pthread_rwlockattr_test.cpp
    A libc/utils/docgen/setjmp.json
    M libclc/cmake/modules/AddLibclc.cmake
    M libcxx/.clang-format
    M libcxx/CMakeLists.txt
    M libcxx/benchmarks/CMakeLists.txt
    A libcxx/benchmarks/std_format_spec_string_unicode_escape.bench.cpp
    M libcxx/cmake/caches/Generic-cxx20.cmake
    M libcxx/cmake/caches/Generic-cxx23.cmake
    M libcxx/cmake/caches/Generic-cxx26.cmake
    M libcxx/cmake/caches/Generic-hardening-mode-extensive.cmake
    M libcxx/cmake/caches/Generic-no-exceptions.cmake
    M libcxx/cmake/caches/Generic-no-experimental.cmake
    M libcxx/cmake/caches/Generic-no-filesystem.cmake
    M libcxx/cmake/caches/Generic-no-localization.cmake
    M libcxx/cmake/caches/Generic-no-random_device.cmake
    M libcxx/cmake/caches/Generic-no-threads.cmake
    M libcxx/cmake/caches/Generic-no-unicode.cmake
    M libcxx/cmake/caches/Generic-no-wide-characters.cmake
    M libcxx/docs/BuildingLibcxx.rst
    M libcxx/docs/Modules.rst
    M libcxx/docs/ReleaseNotes/19.rst
    M libcxx/docs/Status/Cxx23.rst
    M libcxx/docs/Status/Cxx23Papers.csv
    M libcxx/docs/Status/Cxx2cIssues.csv
    M libcxx/docs/Status/FormatIssues.csv
    M libcxx/docs/Status/RangesMajorFeatures.csv
    M libcxx/docs/UsingLibcxx.rst
    M libcxx/include/__algorithm/adjacent_find.h
    M libcxx/include/__algorithm/all_of.h
    M libcxx/include/__algorithm/any_of.h
    M libcxx/include/__algorithm/binary_search.h
    M libcxx/include/__algorithm/clamp.h
    M libcxx/include/__algorithm/count.h
    M libcxx/include/__algorithm/count_if.h
    M libcxx/include/__algorithm/equal.h
    M libcxx/include/__algorithm/equal_range.h
    M libcxx/include/__algorithm/find.h
    M libcxx/include/__algorithm/find_end.h
    M libcxx/include/__algorithm/find_first_of.h
    M libcxx/include/__algorithm/find_if.h
    M libcxx/include/__algorithm/find_if_not.h
    M libcxx/include/__algorithm/fold.h
    M libcxx/include/__algorithm/includes.h
    M libcxx/include/__algorithm/is_heap.h
    M libcxx/include/__algorithm/is_heap_until.h
    M libcxx/include/__algorithm/is_partitioned.h
    M libcxx/include/__algorithm/is_permutation.h
    M libcxx/include/__algorithm/is_sorted.h
    M libcxx/include/__algorithm/is_sorted_until.h
    M libcxx/include/__algorithm/lexicographical_compare.h
    M libcxx/include/__algorithm/lexicographical_compare_three_way.h
    M libcxx/include/__algorithm/lower_bound.h
    M libcxx/include/__algorithm/max.h
    M libcxx/include/__algorithm/max_element.h
    M libcxx/include/__algorithm/min.h
    M libcxx/include/__algorithm/min_element.h
    M libcxx/include/__algorithm/minmax.h
    M libcxx/include/__algorithm/minmax_element.h
    M libcxx/include/__algorithm/mismatch.h
    M libcxx/include/__algorithm/none_of.h
    M libcxx/include/__algorithm/pstl_any_all_none_of.h
    M libcxx/include/__algorithm/pstl_is_partitioned.h
    M libcxx/include/__algorithm/ranges_adjacent_find.h
    M libcxx/include/__algorithm/ranges_all_of.h
    M libcxx/include/__algorithm/ranges_any_of.h
    M libcxx/include/__algorithm/ranges_binary_search.h
    M libcxx/include/__algorithm/ranges_clamp.h
    M libcxx/include/__algorithm/ranges_contains.h
    M libcxx/include/__algorithm/ranges_contains_subrange.h
    M libcxx/include/__algorithm/ranges_count.h
    M libcxx/include/__algorithm/ranges_count_if.h
    M libcxx/include/__algorithm/ranges_ends_with.h
    M libcxx/include/__algorithm/ranges_equal.h
    M libcxx/include/__algorithm/ranges_equal_range.h
    M libcxx/include/__algorithm/ranges_find.h
    M libcxx/include/__algorithm/ranges_find_end.h
    M libcxx/include/__algorithm/ranges_find_first_of.h
    M libcxx/include/__algorithm/ranges_find_if.h
    M libcxx/include/__algorithm/ranges_find_if_not.h
    M libcxx/include/__algorithm/ranges_includes.h
    M libcxx/include/__algorithm/ranges_is_heap.h
    M libcxx/include/__algorithm/ranges_is_heap_until.h
    M libcxx/include/__algorithm/ranges_is_partitioned.h
    M libcxx/include/__algorithm/ranges_is_permutation.h
    M libcxx/include/__algorithm/ranges_is_sorted.h
    M libcxx/include/__algorithm/ranges_is_sorted_until.h
    M libcxx/include/__algorithm/ranges_lexicographical_compare.h
    M libcxx/include/__algorithm/ranges_lower_bound.h
    M libcxx/include/__algorithm/ranges_max.h
    M libcxx/include/__algorithm/ranges_max_element.h
    M libcxx/include/__algorithm/ranges_min.h
    M libcxx/include/__algorithm/ranges_min_element.h
    M libcxx/include/__algorithm/ranges_minmax.h
    M libcxx/include/__algorithm/ranges_minmax_element.h
    M libcxx/include/__algorithm/ranges_mismatch.h
    M libcxx/include/__algorithm/ranges_none_of.h
    M libcxx/include/__algorithm/ranges_remove.h
    M libcxx/include/__algorithm/ranges_remove_if.h
    M libcxx/include/__algorithm/ranges_search.h
    M libcxx/include/__algorithm/ranges_search_n.h
    M libcxx/include/__algorithm/ranges_starts_with.h
    M libcxx/include/__algorithm/ranges_unique.h
    M libcxx/include/__algorithm/ranges_upper_bound.h
    M libcxx/include/__algorithm/remove.h
    M libcxx/include/__algorithm/remove_if.h
    M libcxx/include/__algorithm/search.h
    M libcxx/include/__algorithm/search_n.h
    M libcxx/include/__algorithm/unique.h
    M libcxx/include/__algorithm/upper_bound.h
    M libcxx/include/__availability
    M libcxx/include/__bit/bit_cast.h
    M libcxx/include/__bit/bit_ceil.h
    M libcxx/include/__bit/bit_floor.h
    M libcxx/include/__bit/bit_width.h
    M libcxx/include/__bit/byteswap.h
    M libcxx/include/__bit/countl.h
    M libcxx/include/__bit/countr.h
    M libcxx/include/__bit/has_single_bit.h
    M libcxx/include/__bit/popcount.h
    M libcxx/include/__chrono/formatter.h
    M libcxx/include/__chrono/leap_second.h
    M libcxx/include/__chrono/time_zone.h
    M libcxx/include/__chrono/time_zone_link.h
    M libcxx/include/__chrono/tzdb.h
    M libcxx/include/__chrono/tzdb_list.h
    M libcxx/include/__config
    M libcxx/include/__filesystem/path.h
    M libcxx/include/__format/escaped_output_table.h
    M libcxx/include/__format/format_functions.h
    M libcxx/include/__format/write_escaped.h
    M libcxx/include/__functional/identity.h
    M libcxx/include/__iterator/empty.h
    M libcxx/include/__math/abs.h
    M libcxx/include/__math/copysign.h
    M libcxx/include/__math/min_max.h
    M libcxx/include/__math/roots.h
    M libcxx/include/__math/rounding_functions.h
    M libcxx/include/__math/traits.h
    M libcxx/include/__memory/allocator.h
    M libcxx/include/__memory/allocator_traits.h
    M libcxx/include/__memory/temporary_buffer.h
    M libcxx/include/__memory_resource/memory_resource.h
    M libcxx/include/__memory_resource/polymorphic_allocator.h
    M libcxx/include/__mutex/lock_guard.h
    M libcxx/include/__node_handle
    M libcxx/include/__numeric/saturation_arithmetic.h
    M libcxx/include/__ranges/as_rvalue_view.h
    M libcxx/include/__ranges/chunk_by_view.h
    M libcxx/include/__ranges/drop_view.h
    M libcxx/include/__ranges/range_adaptor.h
    M libcxx/include/__ranges/repeat_view.h
    M libcxx/include/__ranges/split_view.h
    M libcxx/include/__ranges/take_view.h
    M libcxx/include/__ranges/to.h
    M libcxx/include/__string/char_traits.h
    M libcxx/include/__string/constexpr_c_functions.h
    M libcxx/include/__type_traits/datasizeof.h
    M libcxx/include/__utility/as_const.h
    M libcxx/include/__utility/forward.h
    M libcxx/include/__utility/move.h
    M libcxx/include/__utility/no_destroy.h
    M libcxx/include/__utility/to_underlying.h
    M libcxx/include/array
    M libcxx/include/barrier
    M libcxx/include/cstddef
    M libcxx/include/deque
    M libcxx/include/format
    M libcxx/include/forward_list
    M libcxx/include/future
    M libcxx/include/limits
    M libcxx/include/list
    M libcxx/include/map
    M libcxx/include/math.h
    M libcxx/include/module.modulemap
    M libcxx/include/new
    M libcxx/include/queue
    M libcxx/include/ranges
    M libcxx/include/regex
    M libcxx/include/scoped_allocator
    M libcxx/include/set
    M libcxx/include/stack
    M libcxx/include/stdlib.h
    M libcxx/include/streambuf
    M libcxx/include/string
    M libcxx/include/string_view
    M libcxx/include/unordered_map
    M libcxx/include/unordered_set
    M libcxx/include/variant
    M libcxx/include/vector
    M libcxx/modules/std.compat/cstdlib.inc
    M libcxx/modules/std/ranges.inc
    M libcxx/src/time_zone.cpp
    M libcxx/src/tzdb.cpp
    A libcxx/test/libcxx/diagnostics/algorithm.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/array.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/bit.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/bit.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/chrono.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/chrono.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/cmath.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/cstddef.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/cstdlib.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/deque.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/filesystem.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/format.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/format.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/forward_list.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/functional.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/future.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/iterator.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/limits.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/limits.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/list.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/map.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/math_nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/memory.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/memory_resource.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/mutex.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/new.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/node_handle.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard.pass.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_aftercxx17.verify.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/pstl.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/pstl.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/queue.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/ranges.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.compile.pass.cpp
    R libcxx/test/libcxx/diagnostics/ranges.nodiscard_extensions.verify.cpp
    A libcxx/test/libcxx/diagnostics/regex.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/scoped_allocator.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/set.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/stack.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/string.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/string_view.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/unordered_map.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/unordered_set.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/utility.nodiscard.verify.cpp
    A libcxx/test/libcxx/diagnostics/vector.nodiscard.verify.cpp
    R libcxx/test/libcxx/diagnostics/view_adaptors.nodiscard_extensions.verify.cpp
    R libcxx/test/libcxx/ranges/range.adaptors/range.chunk.by/adaptor.nodiscard.verify.cpp
    R libcxx/test/libcxx/ranges/range.utility/range.utility.conv/to.nodiscard.verify.cpp
    M libcxx/test/libcxx/transitive_includes/cxx20.csv
    M libcxx/test/libcxx/type_traits/datasizeof.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.expected/no_unique_address.compile.pass.cpp
    M libcxx/test/libcxx/utilities/expected/expected.void/no_unique_address.compile.pass.cpp
    A libcxx/test/libcxx/utilities/format/format.string/format.string.std/escaped_output.pass.cpp
    A libcxx/test/libcxx/utilities/no_destroy.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_add.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/fetch_sub.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.minus_equals.pass.cpp
    M libcxx/test/std/atomics/atomics.types.generic/atomics.types.float/operator.plus_equals.pass.cpp
    M libcxx/test/std/containers/sequences/array/size_and_alignment.compile.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.cons/copy.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/assign.pass.cpp
    M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.assign/swap.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
    A libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp
    M libcxx/test/std/language.support/support.dynamic/hardware_inference_size.compile.pass.cpp
    R libcxx/test/std/language.support/support.dynamic/ptr.launder/launder.nodiscard.verify.cpp
    A libcxx/test/std/ranges/range.adaptors/range.adaptor.object/range_adaptor_closure.pass.cpp
    M libcxx/test/std/ranges/range.utility/range.utility.conv/to.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.file/ostream.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.local/ostream.pass.cpp
    M libcxx/test/std/time/time.clock/time.clock.system/sys_time.ostream.pass.cpp
    M libcxx/test/std/time/time.zone/time.zone.timezone/time.zone.members/get_info.sys_time.pass.cpp
    M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
    M libcxx/utils/generate_escaped_output_table.py
    M libcxx/utils/libcxx/header_information.py
    M lld/COFF/MinGW.cpp
    M lld/ELF/Arch/RISCV.cpp
    A lld/test/ELF/lto/i386-global-offset-table.ll
    A lld/test/ELF/lto/x86-64-global-offset-table.ll
    M lld/test/ELF/mips-eh_frame-pic.s
    M lld/test/ELF/riscv-branch.s
    M lld/test/ELF/riscv-call.s
    M lld/test/ELF/riscv-hi20-lo12.s
    M lld/test/ELF/riscv-jal.s
    M lld/test/wasm/init-fini.ll
    M lldb/CMakeLists.txt
    M lldb/bindings/interface/SBValueDocstrings.i
    M lldb/docs/conf.py
    M lldb/docs/index.rst
    R lldb/docs/lldb-gdb-remote.txt
    R lldb/docs/lldb-platform-packets.txt
    A lldb/docs/resources/lldbgdbremote.md
    A lldb/docs/resources/lldbplatformpackets.md
    M lldb/docs/resources/test.rst
    M lldb/include/lldb/API/SBDebugger.h
    M lldb/include/lldb/API/SBLineEntry.h
    M lldb/include/lldb/API/SBProcess.h
    M lldb/include/lldb/API/SBSymbolContextList.h
    M lldb/include/lldb/API/SBTarget.h
    M lldb/include/lldb/API/SBType.h
    M lldb/include/lldb/API/SBValue.h
    M lldb/include/lldb/Core/Debugger.h
    M lldb/include/lldb/Core/ThreadedCommunication.h
    M lldb/include/lldb/Interpreter/CommandInterpreter.h
    M lldb/include/lldb/Symbol/CompilerDecl.h
    M lldb/include/lldb/Symbol/CompilerType.h
    M lldb/include/lldb/Symbol/TypeSystem.h
    M lldb/include/lldb/Target/Process.h
    M lldb/include/lldb/Target/Target.h
    M lldb/include/lldb/Target/TargetList.h
    M lldb/include/lldb/Target/Thread.h
    M lldb/include/lldb/Utility/Broadcaster.h
    M lldb/include/lldb/Utility/ProcessInfo.h
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
    M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
    M lldb/source/API/SBCommandInterpreter.cpp
    M lldb/source/API/SBCommunication.cpp
    M lldb/source/API/SBDebugger.cpp
    M lldb/source/API/SBEvent.cpp
    M lldb/source/API/SBLineEntry.cpp
    M lldb/source/API/SBProcess.cpp
    M lldb/source/API/SBTarget.cpp
    M lldb/source/API/SBThread.cpp
    M lldb/source/API/SBType.cpp
    M lldb/source/API/SBValue.cpp
    M lldb/source/Core/Debugger.cpp
    M lldb/source/Core/ThreadedCommunication.cpp
    M lldb/source/Interpreter/CommandInterpreter.cpp
    M lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
    M lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
    M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCRuntimeV2.cpp
    M lldb/source/Plugins/ObjectFile/Minidump/MinidumpFileBuilder.cpp
    M lldb/source/Plugins/Process/gdb-remote/GDBRemoteCommunicationServerLLGS.cpp
    M lldb/source/Plugins/ScriptInterpreter/Python/PythonDataObjects.cpp
    M lldb/source/Plugins/SymbolFile/CTF/SymbolFileCTF.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFTypeUnit.h
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.cpp
    M lldb/source/Plugins/SymbolFile/DWARF/DWARFUnit.h
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.cpp
    M lldb/source/Plugins/TypeSystem/Clang/TypeSystemClang.h
    M lldb/source/Symbol/CompilerDecl.cpp
    M lldb/source/Symbol/CompilerType.cpp
    M lldb/source/Target/Process.cpp
    M lldb/source/Target/Target.cpp
    M lldb/source/Target/TargetList.cpp
    M lldb/source/Target/Thread.cpp
    M lldb/source/Utility/Broadcaster.cpp
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/Makefile
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/TestClearSBValueNonAddressableBits.py
    A lldb/test/API/clear-sbvalue-nonaddressable-bits/main.c
    M lldb/test/API/functionalities/diagnostic_reporting/TestDiagnosticReporting.py
    M lldb/test/API/functionalities/fork/concurrent_vfork/TestConcurrentVFork.py
    M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
    M lldb/test/API/functionalities/progress_reporting/clang_modules/TestClangModuleBuildProgress.py
    M lldb/test/API/macosx/ctf/Makefile
    M lldb/test/API/macosx/ctf/TestCTF.py
    M lldb/test/API/macosx/ctf/test.c
    M lldb/test/API/macosx/rosetta/TestRosetta.py
    M lldb/test/API/python_api/type/TestTypeList.py
    M lldb/test/API/python_api/type/main.cpp
    M lldb/test/API/tools/lldb-dap/console/TestDAP_console.py
    M lldb/test/API/tools/lldb-dap/coreFile/TestDAP_coreFile.py
    A lldb/test/API/tools/lldb-dap/stepInTargets/Makefile
    A lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
    A lldb/test/API/tools/lldb-dap/stepInTargets/main.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-function.cpp
    M lldb/test/Shell/SymbolFile/DWARF/x86/find-basic-variable.cpp
    M lldb/test/Shell/Unwind/eh-frame-dwarf-unwind-abort.test
    R lldb/third_party/Python/module/pexpect-4.6/.gitignore
    R lldb/third_party/Python/module/pexpect-4.6/.travis.yml
    R lldb/third_party/Python/module/pexpect-4.6/DEVELOPERS.rst
    R lldb/third_party/Python/module/pexpect-4.6/LICENSE
    R lldb/third_party/Python/module/pexpect-4.6/MANIFEST.in
    R lldb/third_party/Python/module/pexpect-4.6/README.rst
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/ANSI.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/FSM.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/__init__.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/_async.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/bashrc.sh
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/exceptions.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/expect.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/fdpexpect.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/popen_spawn.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/pty_spawn.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/pxssh.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/replwrap.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/run.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/screen.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/spawnbase.py
    R lldb/third_party/Python/module/pexpect-4.6/pexpect/utils.py
    R lldb/third_party/Python/module/pexpect-4.6/requirements-testing.txt
    R lldb/third_party/Python/module/pexpect-4.6/setup.cfg
    R lldb/third_party/Python/module/pexpect-4.6/setup.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/.gitignore
    R lldb/third_party/Python/module/ptyprocess-0.6.0/.travis.yml
    R lldb/third_party/Python/module/ptyprocess-0.6.0/LICENSE
    R lldb/third_party/Python/module/ptyprocess-0.6.0/README.rst
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/__init__.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/_fork_pty.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/ptyprocess.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/ptyprocess/util.py
    R lldb/third_party/Python/module/ptyprocess-0.6.0/pyproject.toml
    R lldb/third_party/Python/module/ptyprocess-0.6.0/readthedocs.yml
    M lldb/tools/lldb-dap/DAP.h
    M lldb/tools/lldb-dap/JSONUtils.cpp
    M lldb/tools/lldb-dap/lldb-dap.cpp
    M lldb/unittests/Host/HostTest.cpp
    M lldb/unittests/Host/linux/HostTest.cpp
    M llvm/CMakeLists.txt
    M llvm/cmake/modules/llvm-driver-template.cpp.in
    M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
    M llvm/docs/CMake.rst
    M llvm/docs/CommandGuide/llvm-objcopy.rst
    M llvm/docs/CommandGuide/llvm-readelf.rst
    M llvm/docs/CommandGuide/llvm-readobj.rst
    M llvm/docs/ConvergenceAndUniformity.rst
    M llvm/docs/ConvergentOperations.rst
    M llvm/docs/GettingInvolved.rst
    M llvm/docs/GlobalISel/IRTranslator.rst
    M llvm/docs/GlobalISel/MIRPatterns.rst
    M llvm/docs/LangRef.rst
    A llvm/docs/MemoryModelRelaxationAnnotations.rst
    M llvm/docs/Reference.rst
    M llvm/docs/ReleaseNotes.rst
    M llvm/docs/Security.rst
    M llvm/docs/WritingAnLLVMBackend.rst
    M llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
    M llvm/examples/SpeculativeJIT/SpeculativeJIT.cpp
    M llvm/include/llvm-c/DebugInfo.h
    M llvm/include/llvm/ADT/StringRef.h
    M llvm/include/llvm/Analysis/InstructionSimplify.h
    M llvm/include/llvm/Analysis/Loads.h
    M llvm/include/llvm/Analysis/SimplifyQuery.h
    M llvm/include/llvm/Analysis/TargetTransformInfo.h
    M llvm/include/llvm/Analysis/ValueTracking.h
    M llvm/include/llvm/Analysis/VectorUtils.h
    M llvm/include/llvm/BinaryFormat/Dwarf.def
    M llvm/include/llvm/BinaryFormat/Dwarf.h
    M llvm/include/llvm/CodeGen/BasicTTIImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/CombinerHelper.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutor.h
    M llvm/include/llvm/CodeGen/GlobalISel/GIMatchTableExecutorImpl.h
    M llvm/include/llvm/CodeGen/GlobalISel/IRTranslator.h
    M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
    M llvm/include/llvm/CodeGen/GlobalISel/MachineIRBuilder.h
    M llvm/include/llvm/CodeGen/GlobalISel/Utils.h
    M llvm/include/llvm/CodeGen/ISDOpcodes.h
    M llvm/include/llvm/CodeGen/MachineFrameInfo.h
    M llvm/include/llvm/CodeGen/MachineFunction.h
    M llvm/include/llvm/CodeGen/MachineInstr.h
    M llvm/include/llvm/CodeGen/MachineInstrBuilder.h
    M llvm/include/llvm/CodeGen/SelectionDAG.h
    M llvm/include/llvm/CodeGen/SelectionDAGNodes.h
    M llvm/include/llvm/CodeGen/TargetInstrInfo.h
    M llvm/include/llvm/CodeGen/TargetLowering.h
    M llvm/include/llvm/DebugInfo/DWARF/DWARFUnit.h
    M llvm/include/llvm/ExecutionEngine/Orc/Core.h
    M llvm/include/llvm/ExecutionEngine/Orc/LLJIT.h
    M llvm/include/llvm/ExecutionEngine/Orc/TaskDispatch.h
    M llvm/include/llvm/Frontend/OpenMP/OMP.h
    M llvm/include/llvm/Frontend/OpenMP/OMPKinds.def
    M llvm/include/llvm/IR/Attributes.h
    M llvm/include/llvm/IR/EHPersonalities.h
    M llvm/include/llvm/IR/FixedMetadataKinds.def
    M llvm/include/llvm/IR/Function.h
    M llvm/include/llvm/IR/GenericConvergenceVerifierImpl.h
    M llvm/include/llvm/IR/InstrTypes.h
    M llvm/include/llvm/IR/IntrinsicInst.h
    M llvm/include/llvm/IR/Intrinsics.td
    M llvm/include/llvm/IR/IntrinsicsAArch64.td
    M llvm/include/llvm/IR/IntrinsicsNVVM.td
    M llvm/include/llvm/IR/IntrinsicsSPIRV.td
    A llvm/include/llvm/IR/MemoryModelRelaxationAnnotations.h
    M llvm/include/llvm/IR/PatternMatch.h
    M llvm/include/llvm/MC/MCELFStreamer.h
    M llvm/include/llvm/MC/TargetRegistry.h
    M llvm/include/llvm/Object/ELFObjectFile.h
    M llvm/include/llvm/ProfileData/InstrProfWriter.h
    M llvm/include/llvm/ProfileData/MemProf.h
    M llvm/include/llvm/ProfileData/MemProfReader.h
    M llvm/include/llvm/Support/MathExtras.h
    R llvm/include/llvm/Support/RISCVISAInfo.h
    A llvm/include/llvm/Support/RISCVISAUtils.h
    M llvm/include/llvm/Support/YAMLTraits.h
    M llvm/include/llvm/Target/GlobalISel/Combine.td
    M llvm/include/llvm/Target/TargetSelectionDAG.td
    M llvm/include/llvm/TargetParser/AArch64TargetParser.h
    M llvm/include/llvm/TargetParser/CMakeLists.txt
    A llvm/include/llvm/TargetParser/RISCVISAInfo.h
    M llvm/include/llvm/Transforms/InstCombine/InstCombiner.h
    M llvm/include/llvm/Transforms/Scalar/GVN.h
    M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
    M llvm/include/llvm/Transforms/Utils/Local.h
    M llvm/include/llvm/Transforms/Utils/MemoryTaggingSupport.h
    M llvm/include/llvm/Transforms/Vectorize/SLPVectorizer.h
    M llvm/lib/Analysis/BasicAliasAnalysis.cpp
    M llvm/lib/Analysis/InstructionSimplify.cpp
    M llvm/lib/Analysis/Loads.cpp
    M llvm/lib/Analysis/LoopAccessAnalysis.cpp
    M llvm/lib/Analysis/ValueTracking.cpp
    M llvm/lib/Analysis/VectorUtils.cpp
    M llvm/lib/BinaryFormat/Dwarf.cpp
    M llvm/lib/CodeGen/AggressiveAntiDepBreaker.cpp
    M llvm/lib/CodeGen/AsmPrinter/DwarfCompileUnit.cpp
    M llvm/lib/CodeGen/AtomicExpandPass.cpp
    M llvm/lib/CodeGen/CalcSpillWeights.cpp
    M llvm/lib/CodeGen/CodeGenCommonISel.cpp
    M llvm/lib/CodeGen/CodeGenPrepare.cpp
    M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
    M llvm/lib/CodeGen/EarlyIfConversion.cpp
    M llvm/lib/CodeGen/FixupStatepointCallerSaved.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/CombinerHelperVectorOps.cpp
    M llvm/lib/CodeGen/GlobalISel/GISelKnownBits.cpp
    M llvm/lib/CodeGen/GlobalISel/IRTranslator.cpp
    M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
    M llvm/lib/CodeGen/GlobalISel/MachineIRBuilder.cpp
    M llvm/lib/CodeGen/GlobalISel/RegBankSelect.cpp
    M llvm/lib/CodeGen/GlobalISel/Utils.cpp
    M llvm/lib/CodeGen/InlineSpiller.cpp
    M llvm/lib/CodeGen/InterleavedAccessPass.cpp
    M llvm/lib/CodeGen/LiveVariables.cpp
    M llvm/lib/CodeGen/MIRPrinter.cpp
    M llvm/lib/CodeGen/MachineCSE.cpp
    M llvm/lib/CodeGen/MachineCombiner.cpp
    M llvm/lib/CodeGen/MachineCopyPropagation.cpp
    M llvm/lib/CodeGen/MachineFunction.cpp
    M llvm/lib/CodeGen/MachineInstr.cpp
    M llvm/lib/CodeGen/MachineLateInstrsCleanup.cpp
    M llvm/lib/CodeGen/MachineSink.cpp
    M llvm/lib/CodeGen/ModuloSchedule.cpp
    M llvm/lib/CodeGen/PHIElimination.cpp
    M llvm/lib/CodeGen/PeepholeOptimizer.cpp
    M llvm/lib/CodeGen/RegisterCoalescer.cpp
    M llvm/lib/CodeGen/RenameIndependentSubregs.cpp
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/InstrEmitter.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeFloatTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeTypes.h
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/CodeGen/SelectionDAG/ScheduleDAGSDNodes.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGDumper.cpp
    M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
    M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
    M llvm/lib/CodeGen/StackSlotColoring.cpp
    M llvm/lib/CodeGen/TargetInstrInfo.cpp
    M llvm/lib/CodeGen/TwoAddressInstructionPass.cpp
    M llvm/lib/DebugInfo/DWARF/DWARFUnit.cpp
    M llvm/lib/ExecutionEngine/Orc/ExecutorProcessControl.cpp
    M llvm/lib/ExecutionEngine/Orc/LLJIT.cpp
    M llvm/lib/ExecutionEngine/Orc/MemoryMapper.cpp
    M llvm/lib/ExecutionEngine/Orc/TargetProcess/ExecutorSharedMemoryMapperService.cpp
    M llvm/lib/ExecutionEngine/Orc/TaskDispatch.cpp
    M llvm/lib/Frontend/OpenMP/OMP.cpp
    M llvm/lib/IR/Attributes.cpp
    M llvm/lib/IR/AutoUpgrade.cpp
    M llvm/lib/IR/CMakeLists.txt
    M llvm/lib/IR/EHPersonalities.cpp
    M llvm/lib/IR/Function.cpp
    M llvm/lib/IR/IRBuilder.cpp
    M llvm/lib/IR/Instruction.cpp
    M llvm/lib/IR/Instructions.cpp
    M llvm/lib/IR/IntrinsicInst.cpp
    A llvm/lib/IR/MemoryModelRelaxationAnnotations.cpp
    M llvm/lib/IR/Verifier.cpp
    M llvm/lib/LTO/LTO.cpp
    M llvm/lib/MC/ELFObjectWriter.cpp
    M llvm/lib/MC/MCDXContainerStreamer.cpp
    M llvm/lib/MC/MCELFStreamer.cpp
    M llvm/lib/MC/MCGOFFStreamer.cpp
    M llvm/lib/MC/MCMachOStreamer.cpp
    M llvm/lib/MC/MCObjectStreamer.cpp
    M llvm/lib/MC/MCSPIRVStreamer.cpp
    M llvm/lib/MC/MCWasmStreamer.cpp
    M llvm/lib/MC/MCXCOFFStreamer.cpp
    M llvm/lib/MC/SPIRVObjectWriter.cpp
    M llvm/lib/MCA/InstrBuilder.cpp
    M llvm/lib/Object/ELFObjectFile.cpp
    M llvm/lib/Object/ModuleSymbolTable.cpp
    M llvm/lib/ProfileData/InstrProfReader.cpp
    M llvm/lib/ProfileData/InstrProfWriter.cpp
    M llvm/lib/ProfileData/MemProf.cpp
    M llvm/lib/Support/CMakeLists.txt
    R llvm/lib/Support/RISCVISAInfo.cpp
    A llvm/lib/Support/RISCVISAUtils.cpp
    M llvm/lib/Support/SuffixTree.cpp
    M llvm/lib/Support/YAMLTraits.cpp
    M llvm/lib/Target/AArch64/AArch64.td
    M llvm/lib/Target/AArch64/AArch64Arm64ECCallLowering.cpp
    M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
    M llvm/lib/Target/AArch64/AArch64ConditionOptimizer.cpp
    M llvm/lib/Target/AArch64/AArch64ConditionalCompares.cpp
    M llvm/lib/Target/AArch64/AArch64DeadRegisterDefinitionsPass.cpp
    A llvm/lib/Target/AArch64/AArch64Features.td
    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.cpp
    M llvm/lib/Target/AArch64/AArch64InstrInfo.h
    M llvm/lib/Target/AArch64/AArch64InstrInfo.td
    M llvm/lib/Target/AArch64/AArch64MacroFusion.cpp
    M llvm/lib/Target/AArch64/AArch64PerfectShuffle.h
    A llvm/lib/Target/AArch64/AArch64Processors.td
    M llvm/lib/Target/AArch64/AArch64RedundantCopyElimination.cpp
    M llvm/lib/Target/AArch64/AArch64SMEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
    M llvm/lib/Target/AArch64/AArch64Subtarget.h
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
    M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
    M llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
    M llvm/lib/Target/AArch64/GISel/AArch64PostSelectOptimize.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFObjectWriter.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64ELFStreamer.h
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.cpp
    M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFStreamer.h
    M llvm/lib/Target/AArch64/SVEInstrFormats.td
    M llvm/lib/Target/AMDGPU/AMDGPU.td
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
    M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.td
    M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
    M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
    M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
    M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
    M llvm/lib/Target/AMDGPU/GCNDPPCombine.cpp
    M llvm/lib/Target/AMDGPU/GCNHazardRecognizer.cpp
    M llvm/lib/Target/AMDGPU/GCNSubtarget.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUELFStreamer.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.h
    M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
    M llvm/lib/Target/AMDGPU/R600InstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIFixSGPRCopies.cpp
    M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
    M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
    M llvm/lib/Target/AMDGPU/SIInstrInfo.h
    M llvm/lib/Target/AMDGPU/SIInstrInfo.td
    M llvm/lib/Target/AMDGPU/SIInstructions.td
    M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.cpp
    M llvm/lib/Target/AMDGPU/SIOptimizeExecMaskingPreRA.cpp
    M llvm/lib/Target/AMDGPU/SIPreEmitPeephole.cpp
    M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
    M llvm/lib/Target/AMDGPU/SIShrinkInstructions.cpp
    M llvm/lib/Target/AMDGPU/SIWholeQuadMode.cpp
    M llvm/lib/Target/AMDGPU/SOPInstructions.td
    M llvm/lib/Target/AMDGPU/VOP3Instructions.td
    M llvm/lib/Target/AMDGPU/VOPInstructions.td
    M llvm/lib/Target/ARM/A15SDOptimizer.cpp
    M llvm/lib/Target/ARM/ARM.td
    A llvm/lib/Target/ARM/ARMArchitectures.td
    M llvm/lib/Target/ARM/ARMBaseInstrInfo.cpp
    M llvm/lib/Target/ARM/ARMConstantIslandPass.cpp
    A llvm/lib/Target/ARM/ARMFeatures.td
    M llvm/lib/Target/ARM/ARMFrameLowering.cpp
    M llvm/lib/Target/ARM/ARMISelLowering.cpp
    M llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
    M llvm/lib/Target/ARM/ARMLowOverheadLoops.cpp
    A llvm/lib/Target/ARM/ARMProcessors.td
    M llvm/lib/Target/ARM/ARMSubtarget.cpp
    M llvm/lib/Target/ARM/ARMSubtarget.h
    M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
    M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
    M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
    M llvm/lib/Target/ARM/MCTargetDesc/ARMWinCOFFStreamer.cpp
    M llvm/lib/Target/ARM/MVETPAndVPTOptimisationsPass.cpp
    M llvm/lib/Target/ARM/MVEVPTBlockPass.cpp
    M llvm/lib/Target/ARM/Thumb2ITBlockPass.cpp
    M llvm/lib/Target/ARM/Thumb2InstrInfo.cpp
    M llvm/lib/Target/ARM/Thumb2SizeReduction.cpp
    M llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
    M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
    M llvm/lib/Target/BPF/BTFDebug.cpp
    M llvm/lib/Target/BPF/BTFDebug.h
    M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
    M llvm/lib/Target/CSKY/MCTargetDesc/CSKYMCTargetDesc.cpp
    M llvm/lib/Target/DirectX/DXILIntrinsicExpansion.cpp
    M llvm/lib/Target/Hexagon/CMakeLists.txt
    A llvm/lib/Target/Hexagon/HexagonCopyHoisting.cpp
    M llvm/lib/Target/Hexagon/HexagonCopyToCombine.cpp
    M llvm/lib/Target/Hexagon/HexagonExpandCondsets.cpp
    M llvm/lib/Target/Hexagon/HexagonInstrInfo.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
    M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
    M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
    M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
    M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
    M llvm/lib/Target/LoongArch/LoongArchSubtarget.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.cpp
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchELFStreamer.h
    M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
    M llvm/lib/Target/M68k/M68kExpandPseudo.cpp
    M llvm/lib/Target/M68k/M68kISelLowering.cpp
    M llvm/lib/Target/M68k/M68kInstrData.td
    M llvm/lib/Target/M68k/M68kInstrInfo.cpp
    M llvm/lib/Target/M68k/M68kInstrInfo.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsELFStreamer.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCNaCl.h
    M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
    M llvm/lib/Target/Mips/MCTargetDesc/MipsNaClELFStreamer.cpp
    M llvm/lib/Target/Mips/Mips32r6InstrInfo.td
    M llvm/lib/Target/Mips/MipsDelaySlotFiller.cpp
    M llvm/lib/Target/Mips/MipsExpandPseudo.cpp
    M llvm/lib/Target/Mips/MipsISelLowering.cpp
    M llvm/lib/Target/Mips/MipsInstrInfo.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
    M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
    M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
    M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
    M llvm/lib/Target/NVPTX/NVPTXTargetTransformInfo.h
    M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
    M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
    M llvm/lib/Target/PowerPC/PPCCTRLoops.cpp
    M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
    M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
    M llvm/lib/Target/PowerPC/PPCInstrInfo.td
    M llvm/lib/Target/PowerPC/PPCMIPeephole.cpp
    M llvm/lib/Target/PowerPC/PPCPreEmitPeephole.cpp
    M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
    M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
    M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
    M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
    M llvm/lib/Target/RISCV/MCA/RISCVCustomBehaviour.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFStreamer.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.cpp
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCTargetDesc.h
    M llvm/lib/Target/RISCV/MCTargetDesc/RISCVTargetStreamer.cpp
    M llvm/lib/Target/RISCV/RISCV.h
    M llvm/lib/Target/RISCV/RISCV.td
    M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
    M llvm/lib/Target/RISCV/RISCVFeatures.td
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp
    M llvm/lib/Target/RISCV/RISCVISelDAGToDAG.h
    M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
    M llvm/lib/Target/RISCV/RISCVISelLowering.h
    M llvm/lib/Target/RISCV/RISCVInsertReadWriteCSR.cpp
    M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
    M llvm/lib/Target/RISCV/RISCVInsertWriteVXRM.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
    M llvm/lib/Target/RISCV/RISCVInstrInfo.h
    M llvm/lib/Target/RISCV/RISCVInstrInfo.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoC.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZb.td
    M llvm/lib/Target/RISCV/RISCVInstrInfoZvk.td
    M llvm/lib/Target/RISCV/RISCVOptWInstrs.cpp
    A llvm/lib/Target/RISCV/RISCVProfiles.td
    M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
    M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.cpp
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVBaseInfo.h
    M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
    M llvm/lib/Target/SPIRV/SPIRV.td
    M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.cpp
    M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
    M llvm/lib/Target/SPIRV/SPIRVEmitIntrinsics.cpp
    M llvm/lib/Target/SPIRV/SPIRVISelLowering.cpp
    M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
    M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.h
    M llvm/lib/Target/SPIRV/SPIRVPreLegalizer.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.cpp
    M llvm/lib/Target/SPIRV/SPIRVSubtarget.h
    M llvm/lib/Target/SPIRV/SPIRVSymbolicOperands.td
    M llvm/lib/Target/SystemZ/SystemZElimCompare.cpp
    M llvm/lib/Target/SystemZ/SystemZFrameLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZISelLowering.cpp
    M llvm/lib/Target/SystemZ/SystemZInstrInfo.cpp
    M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/CMakeLists.txt
    M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTypeUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssembly.h
    M llvm/lib/Target/WebAssembly/WebAssembly.td
    A llvm/lib/Target/WebAssembly/WebAssemblyCleanCodeAfterTrap.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyDebugValueManager.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyInstrInfo.td
    M llvm/lib/Target/WebAssembly/WebAssemblyMachineFunctionInfo.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRefTypeMem2Local.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRegStackify.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblySubtarget.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.h
    M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.cpp
    M llvm/lib/Target/WebAssembly/WebAssemblyUtilities.h
    M llvm/lib/Target/X86/MCTargetDesc/X86BaseInfo.h
    M llvm/lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
    M llvm/lib/Target/X86/MCTargetDesc/X86WinCOFFStreamer.cpp
    M llvm/lib/Target/X86/X86CmovConversion.cpp
    M llvm/lib/Target/X86/X86FixupSetCC.cpp
    M llvm/lib/Target/X86/X86FlagsCopyLowering.cpp
    M llvm/lib/Target/X86/X86FloatingPoint.cpp
    M llvm/lib/Target/X86/X86ISelLowering.cpp
    M llvm/lib/Target/X86/X86InstrInfo.cpp
    M llvm/lib/Target/X86/X86LowerTileCopy.cpp
    M llvm/lib/Target/X86/X86MCInstLower.cpp
    M llvm/lib/Target/X86/X86PfmCounters.td
    M llvm/lib/Target/X86/X86RegisterInfo.cpp
    M llvm/lib/Target/X86/X86SchedAlderlakeP.td
    M llvm/lib/Target/X86/X86SpeculativeLoadHardening.cpp
    M llvm/lib/Target/X86/X86Subtarget.h
    M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
    M llvm/lib/Target/X86/X86TargetTransformInfo.h
    M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
    M llvm/lib/Target/Xtensa/CMakeLists.txt
    M llvm/lib/Target/Xtensa/MCTargetDesc/CMakeLists.txt
    M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
    A llvm/lib/Target/Xtensa/MCTargetDesc/XtensaTargetStreamer.cpp
    A llvm/lib/Target/Xtensa/MCTargetDesc/XtensaTargetStreamer.h
    M llvm/lib/Target/Xtensa/Xtensa.td
    M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
    M llvm/lib/Target/Xtensa/XtensaAsmPrinter.h
    A llvm/lib/Target/Xtensa/XtensaCallingConv.td
    A llvm/lib/Target/Xtensa/XtensaConstantPoolValue.cpp
    A llvm/lib/Target/Xtensa/XtensaConstantPoolValue.h
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaFrameLowering.h
    M llvm/lib/Target/Xtensa/XtensaISelDAGToDAG.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.cpp
    M llvm/lib/Target/Xtensa/XtensaISelLowering.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.cpp
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.h
    M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
    M llvm/lib/Target/Xtensa/XtensaOperands.td
    A llvm/lib/Target/Xtensa/XtensaOperators.td
    M llvm/lib/Target/Xtensa/XtensaRegisterInfo.cpp
    A llvm/lib/Target/Xtensa/XtensaUtils.cpp
    A llvm/lib/Target/Xtensa/XtensaUtils.h
    M llvm/lib/TargetParser/CMakeLists.txt
    M llvm/lib/TargetParser/Host.cpp
    A llvm/lib/TargetParser/RISCVISAInfo.cpp
    M llvm/lib/TargetParser/RISCVTargetParser.cpp
    M llvm/lib/TargetParser/Triple.cpp
    M llvm/lib/Transforms/Coroutines/CoroInstr.h
    M llvm/lib/Transforms/IPO/FunctionAttrs.cpp
    M llvm/lib/Transforms/IPO/SCCP.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
    M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
    M llvm/lib/Transforms/InstCombine/InstCombineShifts.cpp
    M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
    M llvm/lib/Transforms/Instrumentation/HWAddressSanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
    M llvm/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
    M llvm/lib/Transforms/Scalar/DFAJumpThreading.cpp
    M llvm/lib/Transforms/Scalar/GVN.cpp
    M llvm/lib/Transforms/Scalar/InductiveRangeCheckElimination.cpp
    M llvm/lib/Transforms/Scalar/JumpThreading.cpp
    M llvm/lib/Transforms/Scalar/LoopLoadElimination.cpp
    M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
    M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
    M llvm/lib/Transforms/Utils/CloneFunction.cpp
    M llvm/lib/Transforms/Utils/EntryExitInstrumenter.cpp
    M llvm/lib/Transforms/Utils/Local.cpp
    M llvm/lib/Transforms/Utils/LoopUtils.cpp
    M llvm/lib/Transforms/Utils/MemoryTaggingSupport.cpp
    M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
    M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
    M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    M llvm/lib/Transforms/Vectorize/VPlan.h
    M llvm/lib/Transforms/Vectorize/VPlanAnalysis.cpp
    M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
    M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
    M llvm/lib/Transforms/Vectorize/VectorCombine.cpp
    M llvm/test/Analysis/CostModel/AArch64/getIntrinsicInstrCost-vector-reverse.ll
    M llvm/test/Analysis/CostModel/AArch64/splice.ll
    M llvm/test/Analysis/CostModel/AArch64/sve-intrinsics.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-fp.ll
    M llvm/test/Analysis/CostModel/RISCV/arith-int.ll
    M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
    M llvm/test/Analysis/CostModel/RISCV/splice.ll
    A llvm/test/Analysis/CostModel/X86/load-broadcast.ll
    A llvm/test/Analysis/LoopAccessAnalysis/different-strides-safe-dep-due-to-backedge-taken-count.ll
    M llvm/test/Analysis/LoopAccessAnalysis/non-constant-strides-forward.ll
    M llvm/test/Analysis/ValueTracking/known-non-zero.ll
    A llvm/test/Bitcode/upgrade-vector-interleave2-deinterleave2-intrinsics.ll
    A llvm/test/Bitcode/upgrade-vector-reverse-intrinsic.ll
    A llvm/test/Bitcode/upgrade-vector-splice-intrinsic.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-insert-vec-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/combine-udiv.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-deinterleave2.ll
    M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-vector-interleave2.ll
    A llvm/test/CodeGen/AArch64/GlobalISel/legalize-bitcast.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-extract-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-fp-arith.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-freeze.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-insert-vector-elt.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-itofp.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-load-store.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-min-max.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-phi.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-select.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shift.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalize-shuffle-vector.mir
    M llvm/test/CodeGen/AArch64/GlobalISel/legalizer-info-validation.mir
    M llvm/test/CodeGen/AArch64/arm64-uzp.ll
    M llvm/test/CodeGen/AArch64/arm64-zip.ll
    M llvm/test/CodeGen/AArch64/arm64ec-entry-thunks.ll
    M llvm/test/CodeGen/AArch64/arm64ec-exit-thunks.ll
    M llvm/test/CodeGen/AArch64/combine-mul.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-contract.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-add-mull-scalable-fast.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-add.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-f64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i16-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i32-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i64-mul-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-i8-add-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-predicated-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-reductions-scalable.ll
    M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
    A llvm/test/CodeGen/AArch64/concatbinop.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/fixed-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/fpmode.ll
    M llvm/test/CodeGen/AArch64/hwasan-check-memaccess-fixedshadow.ll
    M llvm/test/CodeGen/AArch64/machine-combiner-subadd2.mir
    M llvm/test/CodeGen/AArch64/mul_pow2.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-neon.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffle-reverse-sve.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffles-neon.ll
    M llvm/test/CodeGen/AArch64/named-vector-shuffles-sve.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-bitcast.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-extract-vector-elt.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-compares.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-fma.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-minmax.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-reduce.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-rounding.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-select.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-to-int.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-fp-vselect.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-ld2-alloca.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-loads.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-optimize-ptrue.ll
    M llvm/test/CodeGen/AArch64/sve-streaming-mode-fixed-length-subvector.ll
    M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
    M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
    M llvm/test/CodeGen/AArch64/sve-vl-arith.ll
    M llvm/test/CodeGen/AArch64/sve2-bsl.ll
    A llvm/test/CodeGen/AArch64/sve2-intrinsics-while-reversed.ll
    M llvm/test/CodeGen/AArch64/vecreduce-add.ll
    M llvm/test/CodeGen/AArch64/vscale-and-sve-cnt-demandedbits.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/legalize-trap-gfx11.mir
    M llvm/test/CodeGen/AMDGPU/GlobalISel/llvm.amdgcn.intersect_ray.ll
    A llvm/test/CodeGen/AMDGPU/GlobalISel/mmra.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-cs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-default.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-denormal.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-dx10-clamp.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-es.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-gs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-hs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ieee.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ls.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-ps.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-msgpack-vs.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-psenable.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-usersgpr-init.ll
    M llvm/test/CodeGen/AMDGPU/amdpal-vs.ll
    M llvm/test/CodeGen/AMDGPU/atomic_load_local.ll
    M llvm/test/CodeGen/AMDGPU/atomic_store_local.ll
    M llvm/test/CodeGen/AMDGPU/div_i128.ll
    M llvm/test/CodeGen/AMDGPU/extra-lds-size.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics.ll
    M llvm/test/CodeGen/AMDGPU/flat_atomics_i64.ll
    A llvm/test/CodeGen/AMDGPU/fp_trunc_store_bf16.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics.ll
    M llvm/test/CodeGen/AMDGPU/global_atomics_i64.ll
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx10.mir
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx11.mir
    A llvm/test/CodeGen/AMDGPU/hard-clauses-img-gfx12.mir
    M llvm/test/CodeGen/AMDGPU/hard-clauses.mir
    A llvm/test/CodeGen/AMDGPU/live-interval-bug-in-rename-independent-subregs.mir
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.dpp.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.cvt.fp8.ll
    M llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.wait.event.ll
    M llvm/test/CodeGen/AMDGPU/llvm.fptrunc.round.ll
    M llvm/test/CodeGen/AMDGPU/lower-work-group-id-intrinsics-pal.ll
    M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
    A llvm/test/CodeGen/AMDGPU/mmra.ll
    A llvm/test/CodeGen/AMDGPU/mode-register-fpconstrain.ll
    M llvm/test/CodeGen/AMDGPU/pal-userdata-regs.ll
    M llvm/test/CodeGen/AMDGPU/rem_i128.ll
    M llvm/test/CodeGen/AMDGPU/trap-abis.ll
    M llvm/test/CodeGen/AMDGPU/wave_dispatch_regs.ll
    M llvm/test/CodeGen/ARM/minnum-maxnum-intrinsics.ll
    M llvm/test/CodeGen/BPF/CORE/offset-reloc-basic.ll
    A llvm/test/CodeGen/Hexagon/arg-copy-elison.ll
    A llvm/test/CodeGen/Hexagon/hexagon-copy-hoisting.mir
    M llvm/test/CodeGen/LoongArch/lasx/ir-instruction/insertelement.ll
    M llvm/test/CodeGen/LoongArch/lsx/ir-instruction/insertelement.ll
    A llvm/test/CodeGen/LoongArch/sextw-removal.ll
    M llvm/test/CodeGen/M68k/Arith/add-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/add.ll
    M llvm/test/CodeGen/M68k/Arith/bitwise.ll
    M llvm/test/CodeGen/M68k/Arith/divide-by-constant.ll
    M llvm/test/CodeGen/M68k/Arith/imul.ll
    M llvm/test/CodeGen/M68k/Arith/smul-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub-with-overflow.ll
    M llvm/test/CodeGen/M68k/Arith/sub.ll
    M llvm/test/CodeGen/M68k/Arith/umul-with-overflow.ll
    M llvm/test/CodeGen/M68k/CConv/c-call.ll
    M llvm/test/CodeGen/M68k/CConv/fastcc-call.ll
    M llvm/test/CodeGen/M68k/CodeModel/medium-pie-global-access.ll
    M llvm/test/CodeGen/M68k/CodeModel/small-pie-global-access.ll
    M llvm/test/CodeGen/M68k/Control/cmp.ll
    M llvm/test/CodeGen/M68k/Control/long-setcc.ll
    M llvm/test/CodeGen/M68k/Control/setcc.ll
    M llvm/test/CodeGen/M68k/PR57660.ll
    M llvm/test/CodeGen/M68k/gcc_except_table.ll
    M llvm/test/CodeGen/M68k/link-unlnk.ll
    M llvm/test/CodeGen/Mips/atomic-min-max.ll
    A llvm/test/CodeGen/Mips/mipsr6-minmaxnum.ll
    M llvm/test/CodeGen/Mips/msa/f16-llvm-ir.ll
    A llvm/test/CodeGen/NVPTX/rsqrt-opt.ll
    A llvm/test/CodeGen/NVPTX/rsqrt.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum-f128.ll
    A llvm/test/CodeGen/PowerPC/fminimum-fmaximum.ll
    M llvm/test/CodeGen/PowerPC/legalize-vaarg.ll
    A llvm/test/CodeGen/PowerPC/peephole-counter-XToI.mir
    A llvm/test/CodeGen/PowerPC/peephole-counter-perOp.mir
    M llvm/test/CodeGen/RISCV/O0-pipeline.ll
    M llvm/test/CodeGen/RISCV/O3-pipeline.ll
    M llvm/test/CodeGen/RISCV/addimm-mulimm.ll
    M llvm/test/CodeGen/RISCV/alu64.ll
    M llvm/test/CodeGen/RISCV/atomic-rmw.ll
    M llvm/test/CodeGen/RISCV/atomic-signext.ll
    M llvm/test/CodeGen/RISCV/atomicrmw-uinc-udec-wrap.ll
    M llvm/test/CodeGen/RISCV/attributes.ll
    M llvm/test/CodeGen/RISCV/bfloat-convert.ll
    M llvm/test/CodeGen/RISCV/bitreverse-shift.ll
    M llvm/test/CodeGen/RISCV/double-convert.ll
    M llvm/test/CodeGen/RISCV/double-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/fixups-diff.ll
    M llvm/test/CodeGen/RISCV/float-convert.ll
    M llvm/test/CodeGen/RISCV/float-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/forced-atomics.ll
    M llvm/test/CodeGen/RISCV/fpclamptosat.ll
    M llvm/test/CodeGen/RISCV/half-convert.ll
    M llvm/test/CodeGen/RISCV/half-round-conv-sat.ll
    M llvm/test/CodeGen/RISCV/iabs.ll
    A llvm/test/CodeGen/RISCV/pr84653_pr85190.ll
    A llvm/test/CodeGen/RISCV/pr89833.ll
    M llvm/test/CodeGen/RISCV/rv32zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zba.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/rv64zbb-zbkb.ll
    M llvm/test/CodeGen/RISCV/rv64-legal-i32/xaluo.ll
    M llvm/test/CodeGen/RISCV/rv64i-demanded-bits.ll
    M llvm/test/CodeGen/RISCV/rv64xtheadba.ll
    M llvm/test/CodeGen/RISCV/rv64zba.ll
    A llvm/test/CodeGen/RISCV/rvv/commutable.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-fp2i-sat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-interleave.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-int-shuffles.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-interleaved-access.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-buildvec.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-mask-splat.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-gather.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-formation.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-reduction-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse-bitrotate.ll
    M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/fpclamptosat_vec.ll
    M llvm/test/CodeGen/RISCV/rvv/named-vector-shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/shuffle-reverse.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-load.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-fixed.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave-store.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
    A llvm/test/CodeGen/RISCV/rvv/vector-reassociations.ll
    M llvm/test/CodeGen/RISCV/rvv/vector-splice.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfeq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmflt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmfne.ll
    M llvm/test/CodeGen/RISCV/rvv/vmseq.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsge.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgeu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsgtu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsle.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsleu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmslt.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsltu.ll
    M llvm/test/CodeGen/RISCV/rvv/vmsne.ll
    M llvm/test/CodeGen/RISCV/rvv/vreductions-int-vp.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.ll
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
    M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert.mir
    M llvm/test/CodeGen/RISCV/rvv/vwadd-sdnode.ll
    M llvm/test/CodeGen/RISCV/rvv/zvlsseg-spill.mir
    M llvm/test/CodeGen/RISCV/select.ll
    M llvm/test/CodeGen/RISCV/xaluo.ll
    M llvm/test/CodeGen/SPIRV/ComparePointers.ll
    M llvm/test/CodeGen/SPIRV/empty-opencl32.ll
    M llvm/test/CodeGen/SPIRV/exec_mode_float_control_khr.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/all.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/any.ll
    A llvm/test/CodeGen/SPIRV/hlsl-intrinsics/lerp.ll
    M llvm/test/CodeGen/SPIRV/hlsl-intrinsics/rcp.ll
    A llvm/test/CodeGen/SPIRV/physical-layout/generator-magic-number.ll
    A llvm/test/CodeGen/SPIRV/physical-layout/spirv-version.ll
    A llvm/test/CodeGen/SPIRV/pointers/argument-ptr-to-struct.ll
    A llvm/test/CodeGen/SPIRV/pointers/global-ptrtoint.ll
    A llvm/test/CodeGen/SPIRV/pointers/variables-storage-class.ll
    A llvm/test/CodeGen/SPIRV/printf.ll
    M llvm/test/CodeGen/SPIRV/transcoding/AtomicCompareExchangeExplicit_cl20.ll
    M llvm/test/CodeGen/SPIRV/transcoding/memcpy-zext.ll
    A llvm/test/CodeGen/SPIRV/transcoding/spirv-event-null.ll
    A llvm/test/CodeGen/SPIRV/types/or-i1.ll
    M llvm/test/CodeGen/SystemZ/atomic-load-08.ll
    M llvm/test/CodeGen/SystemZ/atomic-store-08.ll
    M llvm/test/CodeGen/SystemZ/atomicrmw-xchg-07.ll
    A llvm/test/CodeGen/SystemZ/zos-no-eh-label.ll
    M llvm/test/CodeGen/WebAssembly/lower-em-ehsjlj-multi-return.ll
    M llvm/test/CodeGen/WebAssembly/multivalue-dont-move-def-past-use.mir
    M llvm/test/CodeGen/WebAssembly/multivalue-stackify.ll
    M llvm/test/CodeGen/WebAssembly/multivalue.ll
    M llvm/test/CodeGen/WebAssembly/multivalue_libcall.ll
    M llvm/test/CodeGen/WebAssembly/ref-type-mem2local.ll
    M llvm/test/CodeGen/WebAssembly/unreachable.ll
    M llvm/test/CodeGen/X86/AMX/amx-lower-tile-copy.ll
    M llvm/test/CodeGen/X86/abdu-vector-128.ll
    M llvm/test/CodeGen/X86/apx/kmov-postrapseudos.ll
    M llvm/test/CodeGen/X86/avgceils.ll
    M llvm/test/CodeGen/X86/avgceilu.ll
    M llvm/test/CodeGen/X86/avgfloors.ll
    M llvm/test/CodeGen/X86/avgflooru.ll
    M llvm/test/CodeGen/X86/avx512-broadcast-arith.ll
    M llvm/test/CodeGen/X86/avx512bwvl-arith.ll
    M llvm/test/CodeGen/X86/cmp.ll
    M llvm/test/CodeGen/X86/combine-mul.ll
    A llvm/test/CodeGen/X86/combine-or-shuffle.ll
    M llvm/test/CodeGen/X86/combine-or.ll
    M llvm/test/CodeGen/X86/div-rem-pair-recomposition-signed.ll
    M llvm/test/CodeGen/X86/fold-masked-merge.ll
    M llvm/test/CodeGen/X86/freeze-binary.ll
    M llvm/test/CodeGen/X86/freeze-combine.ll
    M llvm/test/CodeGen/X86/freeze-vector.ll
    M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
    M llvm/test/CodeGen/X86/gfni-rotates.ll
    M llvm/test/CodeGen/X86/known-never-zero.ll
    M llvm/test/CodeGen/X86/memcmp-minsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-minsize.ll
    M llvm/test/CodeGen/X86/memcmp-optsize-x32.ll
    M llvm/test/CodeGen/X86/memcmp-optsize.ll
    M llvm/test/CodeGen/X86/memcmp-pgso-x32.ll
    M llvm/test/CodeGen/X86/memcmp-pgso.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-128.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-256.ll
    M llvm/test/CodeGen/X86/midpoint-int-vec-512.ll
    M llvm/test/CodeGen/X86/named-vector-shuffle-reverse.ll
    M llvm/test/CodeGen/X86/pr34592.ll
    M llvm/test/CodeGen/X86/pr38539.ll
    M llvm/test/CodeGen/X86/pr62286.ll
    M llvm/test/CodeGen/X86/scheduler-backtracking.ll
    M llvm/test/CodeGen/X86/sdiv_fix_sat.ll
    M llvm/test/CodeGen/X86/setcc-non-simple-type.ll
    M llvm/test/CodeGen/X86/shift-combine.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-1.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-3.ll
    M llvm/test/CodeGen/X86/subreg-to-reg-6.ll
    M llvm/test/CodeGen/X86/subvectorwise-store-of-vector-splat.ll
    M llvm/test/CodeGen/X86/vec_saddo.ll
    M llvm/test/CodeGen/X86/vec_ssubo.ll
    M llvm/test/CodeGen/X86/vec_uaddo.ll
    M llvm/test/CodeGen/X86/vec_usubo.ll
    M llvm/test/CodeGen/X86/vector-bo-select.ll
    M llvm/test/CodeGen/X86/vector-fshr-128.ll
    M llvm/test/CodeGen/X86/vector-fshr-256.ll
    M llvm/test/CodeGen/X86/vector-fshr-sub128.ll
    M llvm/test/CodeGen/X86/vector-shift-shl-128.ll
    A llvm/test/CodeGen/Xtensa/call.ll
    A llvm/test/CodeGen/Xtensa/calling-conv.ll
    A llvm/test/CodeGen/Xtensa/constantpool.ll
    A llvm/test/CodeGen/Xtensa/stack-access.ll
    M llvm/test/DebugInfo/LoongArch/dwarf-loongarch-relocs.ll
    M llvm/test/DebugInfo/RISCV/dwarf-riscv-relocs.ll
    M llvm/test/DebugInfo/RISCV/relax-debug-frame.ll
    R llvm/test/DebugInfo/Symbolize/ELF/riscv-empty-name-symbol.s
    A llvm/test/DebugInfo/Symbolize/ELF/riscv-temporary-symbol.s
    A llvm/test/DebugInfo/X86/call-origin-linkage-names.ll
    A llvm/test/DebugInfo/X86/invalid-cu-abbrev-contribution-dwp.s
    A llvm/test/DebugInfo/X86/invalid-cu-abbrev-offset-dwp.s
    M llvm/test/DebugInfo/X86/invalid-cu-length-dwp.s
    M llvm/test/ExecutionEngine/JITLink/RISCV/anonymous_symbol.s
    M llvm/test/Instrumentation/HWAddressSanitizer/basic.ll
    A llvm/test/Instrumentation/HWAddressSanitizer/fixed-shadow.ll
    M llvm/test/Instrumentation/HWAddressSanitizer/prologue.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail1.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail10.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail11.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail12.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail13.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail2.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail3.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail4.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail5.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail6.ll
    R llvm/test/Instrumentation/InstrProfiling/Coro/coro-split-musttail7.ll
    A llvm/test/Instrumentation/MemorySanitizer/X86/mmx-intrinsics.ll
    A llvm/test/Instrumentation/MemorySanitizer/vscale.ll
    M llvm/test/LTO/X86/codemodel-2.ll
    M llvm/test/LTO/X86/codemodel-3.ll
    M llvm/test/LTO/X86/largedatathreshold-1.ll
    M llvm/test/LTO/X86/largedatathreshold-2.ll
    M llvm/test/LTO/X86/largedatathreshold-3.ll
    M llvm/test/MC/AArch64/SME2p1/fadd-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fadd.s
    M llvm/test/MC/AArch64/SME2p1/fcvt.s
    M llvm/test/MC/AArch64/SME2p1/fcvtl-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fcvtl.s
    M llvm/test/MC/AArch64/SME2p1/fmla-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmla.s
    M llvm/test/MC/AArch64/SME2p1/fmls-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmls.s
    M llvm/test/MC/AArch64/SME2p1/fmopa-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmopa.s
    M llvm/test/MC/AArch64/SME2p1/fmops-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fmops.s
    M llvm/test/MC/AArch64/SME2p1/fsub-diagnostics.s
    M llvm/test/MC/AArch64/SME2p1/fsub.s
    M llvm/test/MC/AArch64/ilp32-diagnostics.s
    M llvm/test/MC/AMDGPU/ds-err.s
    M llvm/test/MC/AMDGPU/gfx11_asm_err.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp16.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_dpp8.s
    M llvm/test/MC/AMDGPU/gfx12_asm_vop3_err.s
    M llvm/test/MC/AMDGPU/pal-msgpack.s
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp16.txt
    M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_dpp8.txt
    M llvm/test/MC/Disassembler/M68k/data.txt
    M llvm/test/MC/ELF/RISCV/gen-dwarf.s
    M llvm/test/MC/M68k/Data/Classes/MxMove_RI.s
    M llvm/test/MC/RISCV/XTHeadVdot-valid.s
    M llvm/test/MC/RISCV/align.s
    M llvm/test/MC/RISCV/attribute-arch.s
    M llvm/test/MC/RISCV/cfi-advance.s
    M llvm/test/MC/RISCV/compress-cjal.s
    M llvm/test/MC/RISCV/compress-rv32d.s
    M llvm/test/MC/RISCV/compress-rv32f.s
    M llvm/test/MC/RISCV/compress-rv32i.s
    M llvm/test/MC/RISCV/compress-rv64i.s
    M llvm/test/MC/RISCV/fde-reloc.s
    M llvm/test/MC/RISCV/nop-slide.s
    M llvm/test/MC/RISCV/option-pushpop.s
    M llvm/test/MC/RISCV/option-rvc.s
    M llvm/test/MC/RISCV/rv32dc-valid.s
    M llvm/test/MC/RISCV/rv32e-invalid.s
    M llvm/test/MC/RISCV/rv32fc-valid.s
    M llvm/test/MC/RISCV/rv32zacas-invalid.s
    M llvm/test/MC/RISCV/rv32zacas-valid.s
    M llvm/test/MC/RISCV/rv64dc-valid.s
    M llvm/test/MC/RISCV/rv64zacas-valid.s
    M llvm/test/MC/RISCV/rvv/add.s
    M llvm/test/MC/RISCV/rvv/and.s
    M llvm/test/MC/RISCV/rvv/clip.s
    M llvm/test/MC/RISCV/rvv/compare.s
    M llvm/test/MC/RISCV/rvv/convert.s
    M llvm/test/MC/RISCV/rvv/div.s
    M llvm/test/MC/RISCV/rvv/ext.s
    M llvm/test/MC/RISCV/rvv/fadd.s
    M llvm/test/MC/RISCV/rvv/fcompare.s
    M llvm/test/MC/RISCV/rvv/fdiv.s
    M llvm/test/MC/RISCV/rvv/fmacc.s
    M llvm/test/MC/RISCV/rvv/fminmax.s
    M llvm/test/MC/RISCV/rvv/fmul.s
    M llvm/test/MC/RISCV/rvv/fmv.s
    M llvm/test/MC/RISCV/rvv/fothers.s
    M llvm/test/MC/RISCV/rvv/freduction.s
    M llvm/test/MC/RISCV/rvv/fsub.s
    M llvm/test/MC/RISCV/rvv/load.s
    M llvm/test/MC/RISCV/rvv/macc.s
    M llvm/test/MC/RISCV/rvv/mask.s
    M llvm/test/MC/RISCV/rvv/minmax.s
    M llvm/test/MC/RISCV/rvv/mul.s
    M llvm/test/MC/RISCV/rvv/mv.s
    M llvm/test/MC/RISCV/rvv/or.s
    M llvm/test/MC/RISCV/rvv/others.s
    M llvm/test/MC/RISCV/rvv/reduction.s
    M llvm/test/MC/RISCV/rvv/shift.s
    M llvm/test/MC/RISCV/rvv/sign-injection.s
    M llvm/test/MC/RISCV/rvv/snippet.s
    M llvm/test/MC/RISCV/rvv/store.s
    M llvm/test/MC/RISCV/rvv/sub.s
    M llvm/test/MC/RISCV/rvv/vsetvl.s
    M llvm/test/MC/RISCV/rvv/xor.s
    M llvm/test/MC/RISCV/rvv/xsfvcp.s
    M llvm/test/MC/RISCV/rvv/xsfvfnrclip.s
    M llvm/test/MC/RISCV/rvv/xsfvfwmacc.s
    M llvm/test/MC/RISCV/rvv/xsfvqmacc.s
    M llvm/test/MC/RISCV/rvv/zvbb.s
    M llvm/test/MC/RISCV/rvv/zvbc.s
    M llvm/test/MC/RISCV/rvv/zvfbfmin.s
    M llvm/test/MC/RISCV/rvv/zvfbfwma.s
    M llvm/test/MC/RISCV/rvv/zvkb.s
    M llvm/test/MC/RISCV/rvv/zvkg.s
    M llvm/test/MC/RISCV/rvv/zvkned.s
    M llvm/test/MC/RISCV/rvv/zvknh.s
    M llvm/test/MC/RISCV/rvv/zvksed.s
    M llvm/test/MC/RISCV/rvv/zvksh.s
    M llvm/test/MC/RISCV/rvv/zvlsseg.s
    M llvm/test/MC/RISCV/rvzabha-invalid.s
    M llvm/test/MC/RISCV/rvzabha-valid.s
    M llvm/test/MC/RISCV/rvzabha-zacas-valid.s
    M llvm/test/MC/RISCV/scoped-relaxation.s
    M llvm/test/MC/WebAssembly/global-ctor-dtor.ll
    M llvm/test/MC/Xtensa/Core/invalid.s
    A llvm/test/MC/Xtensa/directive-literal.s
    A llvm/test/MC/Xtensa/invalid-literal.s
    M llvm/test/TableGen/ContextlessPredicates.td
    M llvm/test/TableGen/DefaultOpsGlobalISel.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-eraseroot.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/builtins/match-table-replacerreg.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-imms.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-intrinsics.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-miflags.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-operand-types.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-patfrag-root.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-permutations.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-temp-defs.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table-typeof.td
    M llvm/test/TableGen/GlobalISelCombinerEmitter/match-table.td
    M llvm/test/TableGen/GlobalISelEmitter-atomic_store.td
    A llvm/test/TableGen/GlobalISelEmitter-frameindex.td
    M llvm/test/TableGen/GlobalISelEmitter-immAllZeroOne.td
    M llvm/test/TableGen/GlobalISelEmitter-immarg-literal-pattern.td
    M llvm/test/TableGen/GlobalISelEmitter-input-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-multiple-output-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-multiple-output.td
    M llvm/test/TableGen/GlobalISelEmitter-nested-subregs.td
    M llvm/test/TableGen/GlobalISelEmitter-notype-output-pattern.td
    M llvm/test/TableGen/GlobalISelEmitter-output-discard.td
    M llvm/test/TableGen/GlobalISelEmitter-zero-reg.td
    M llvm/test/TableGen/GlobalISelEmitter.td
    M llvm/test/TableGen/GlobalISelEmitterCustomPredicate.td
    M llvm/test/TableGen/GlobalISelEmitterFlags.td
    M llvm/test/TableGen/GlobalISelEmitterHwModes.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizer.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand-invalid.td
    M llvm/test/TableGen/GlobalISelEmitterMatchTableOptimizerSameOperand.td
    M llvm/test/TableGen/GlobalISelEmitterOverloadedPtr.td
    M llvm/test/TableGen/GlobalISelEmitterRegSequence.td
    M llvm/test/TableGen/GlobalISelEmitterSkippedPatterns.td
    M llvm/test/TableGen/GlobalISelEmitterSubreg.td
    M llvm/test/TableGen/GlobalISelEmitterVariadic.td
    M llvm/test/TableGen/HasNoUse.td
    M llvm/test/TableGen/address-space-patfrags.td
    M llvm/test/TableGen/directive1.td
    M llvm/test/TableGen/directive2.td
    M llvm/test/TableGen/gisel-physreg-input.td
    M llvm/test/TableGen/immarg-predicated.td
    M llvm/test/TableGen/immarg.td
    A llvm/test/TableGen/riscv-target-def.td
    M llvm/test/TableGen/simplify-patfrag.td
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i16.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8-system.ll
    M llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-i8.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/expand-atomic-mmra.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-load.ll
    A llvm/test/Transforms/AtomicExpand/AMDGPU/no-expand-atomic-store.ll
    M llvm/test/Transforms/AtomicExpand/SPARC/partword.ll
    M llvm/test/Transforms/CallSiteSplitting/callsite-split-debug.ll
    M llvm/test/Transforms/CodeGenPrepare/ARM/branch-on-zero.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/convert-to-eqz.ll
    A llvm/test/Transforms/CodeGenPrepare/RISCV/noop-copy-sink.ll
    M llvm/test/Transforms/Coroutines/coro-split-musttail10.ll
    R llvm/test/Transforms/Coroutines/coro-split-musttail11.ll
    M llvm/test/Transforms/FunctionAttrs/noundef.ll
    M llvm/test/Transforms/FunctionSpecialization/discover-transitive-phis.ll
    M llvm/test/Transforms/FunctionSpecialization/global-var-constants.ll
    M llvm/test/Transforms/FunctionSpecialization/literal-const.ll
    M llvm/test/Transforms/GVN/condprop.ll
    A llvm/test/Transforms/IRCE/pr89959.ll
    A llvm/test/Transforms/Inline/inline-deferred-instsimplify.ll
    M llvm/test/Transforms/InstCombine/add4.ll
    M llvm/test/Transforms/InstCombine/array.ll
    M llvm/test/Transforms/InstCombine/bit_ceil.ll
    M llvm/test/Transforms/InstCombine/bit_floor.ll
    M llvm/test/Transforms/InstCombine/cmp-intrinsic.ll
    M llvm/test/Transforms/InstCombine/ctlz-cttz-bitreverse.ll
    M llvm/test/Transforms/InstCombine/ctlz-cttz-shifts.ll
    M llvm/test/Transforms/InstCombine/ctpop-bswap-bitreverse.ll
    M llvm/test/Transforms/InstCombine/ctpop-cttz.ll
    M llvm/test/Transforms/InstCombine/ctpop-pow2.ll
    M llvm/test/Transforms/InstCombine/ctpop.ll
    M llvm/test/Transforms/InstCombine/cttz-abs.ll
    M llvm/test/Transforms/InstCombine/cttz-negative.ll
    M llvm/test/Transforms/InstCombine/cttz.ll
    M llvm/test/Transforms/InstCombine/fcmp-select.ll
    M llvm/test/Transforms/InstCombine/ffs-1.ll
    M llvm/test/Transforms/InstCombine/ffs-i16.ll
    M llvm/test/Transforms/InstCombine/fls-i16.ll
    M llvm/test/Transforms/InstCombine/fls.ll
    M llvm/test/Transforms/InstCombine/fneg.ll
    M llvm/test/Transforms/InstCombine/fold-ctpop-of-not.ll
    M llvm/test/Transforms/InstCombine/fold-log2-ceil-idiom.ll
    M llvm/test/Transforms/InstCombine/freeze-integer-intrinsics.ll
    M llvm/test/Transforms/InstCombine/freeze.ll
    A llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
    M llvm/test/Transforms/InstCombine/icmp-ne-pow2.ll
    M llvm/test/Transforms/InstCombine/icmp-of-trunc-ext.ll
    M llvm/test/Transforms/InstCombine/intrinsic-select.ll
    M llvm/test/Transforms/InstCombine/intrinsics.ll
    M llvm/test/Transforms/InstCombine/ispow2.ll
    M llvm/test/Transforms/InstCombine/known-non-zero.ll
    M llvm/test/Transforms/InstCombine/known-phi-recurse.ll
    M llvm/test/Transforms/InstCombine/loadstore-alignment.ll
    M llvm/test/Transforms/InstCombine/memcpy-from-global.ll
    M llvm/test/Transforms/InstCombine/merging-multiple-stores-into-successor.ll
    M llvm/test/Transforms/InstCombine/minmax-fold.ll
    M llvm/test/Transforms/InstCombine/mul.ll
    M llvm/test/Transforms/InstCombine/reduction-add-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/reduction-xor-sext-zext-i1.ll
    M llvm/test/Transforms/InstCombine/select-cmp-cttz-ctlz.ll
    M llvm/test/Transforms/InstCombine/select-ctlz-to-cttz.ll
    M llvm/test/Transforms/InstCombine/select-select.ll
    M llvm/test/Transforms/InstCombine/select.ll
    M llvm/test/Transforms/InstCombine/sext.ll
    M llvm/test/Transforms/InstCombine/shift-cttz-ctlz.ll
    M llvm/test/Transforms/InstCombine/shift.ll
    M llvm/test/Transforms/InstCombine/simplify-demanded-fpclass.ll
    M llvm/test/Transforms/InstCombine/sub-of-negatible.ll
    M llvm/test/Transforms/InstCombine/sub-xor.ll
    M llvm/test/Transforms/InstCombine/sub.ll
    M llvm/test/Transforms/InstCombine/vector-reverse.ll
    M llvm/test/Transforms/InstCombine/xor.ll
    M llvm/test/Transforms/InstCombine/zext-ctlz-trunc-to-ctlz-add.ll
    M llvm/test/Transforms/InstSimplify/ConstProp/gep-alias.ll
    M llvm/test/Transforms/InstSimplify/named-vector-shuffle-reverse.ll
    M llvm/test/Transforms/InstSimplify/past-the-end.ll
    M llvm/test/Transforms/InstSimplify/select.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/fixed-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/scalable-deinterleave-intrinsics.ll
    M llvm/test/Transforms/InterleavedAccess/AArch64/sve-interleaved-accesses.ll
    A llvm/test/Transforms/LoopUnroll/unroll-loads-cse.ll
    A llvm/test/Transforms/LoopUnroll/unroll-remove-redundant-dbg.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/first-order-recurrence.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
    A llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-interleaved-masked-accesses.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-option.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse-mask4.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-phi.ll
    M llvm/test/Transforms/LoopVectorize/ARM/tail-folding-counting-down.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
    M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
    M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
    A llvm/test/Transforms/LoopVectorize/X86/masked-store-cost.ll
    M llvm/test/Transforms/LoopVectorize/reduction-inloop.ll
    M llvm/test/Transforms/LoopVectorize/runtime-checks-hoist.ll
    M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
    A llvm/test/Transforms/LoopVectorize/trunc-extended-icmps.ll
    M llvm/test/Transforms/LoopVectorize/unused-blend-mask-for-first-operand.ll
    A llvm/test/Transforms/LoopVectorize/version-stride-with-integer-casts.ll
    A llvm/test/Transforms/LoopVectorize/vplan-infer-not-or-type.ll
    M llvm/test/Transforms/LowerTypeTests/cfi-nounwind-direct-call.ll
    M llvm/test/Transforms/OpenMP/add_attributes.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/extra-unroll-simplifications.ll
    M llvm/test/Transforms/PhaseOrdering/AArch64/quant_4x4.ll
    M llvm/test/Transforms/PhaseOrdering/X86/loop-idiom-vs-indvars.ll
    M llvm/test/Transforms/PhaseOrdering/icmp-ashr-breaking-select-idiom.ll
    M llvm/test/Transforms/PhaseOrdering/lower-table-based-cttz.ll
    M llvm/test/Transforms/PhaseOrdering/min_max_loop.ll
    M llvm/test/Transforms/SCCP/and-add-shl.ll
    M llvm/test/Transforms/SCCP/ip-add-range-to-call.ll
    M llvm/test/Transforms/SCCP/ip-ranges-casts.ll
    M llvm/test/Transforms/SCCP/ipsccp-basic.ll
    M llvm/test/Transforms/SCCP/switch.ll
    M llvm/test/Transforms/SCCP/trunc-nuw-nsw-flags.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-buildvector-with-minbitwidth-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/gather-with-minbith-user.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/user-node-not-in-bitwidths.ll
    M llvm/test/Transforms/SLPVectorizer/AArch64/vec3-reorder-reshuffle.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/minbw-with-and-and-scalar-trunc.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/strided-stores-vectorized.ll
    A llvm/test/Transforms/SLPVectorizer/RISCV/unsigned-icmp-signed-op.ll
    M llvm/test/Transforms/SLPVectorizer/SystemZ/minbitwidth-root-trunc.ll
    A llvm/test/Transforms/SLPVectorizer/X86/alternate-opcode-sindle-bv.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gather-node-same-as-vect-but-order.ll
    A llvm/test/Transforms/SLPVectorizer/X86/gep-with-extractelement-many-users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/minbitwidth-node-with-multi-users.ll
    M llvm/test/Transforms/SLPVectorizer/X86/pr46983.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/endless-unswitch.ll
    M llvm/test/Transforms/SimpleLoopUnswitch/partial-unswitch.ll
    M llvm/test/Transforms/SimplifyCFG/UnreachableEliminate.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue-inlined.ll
    M llvm/test/Transforms/SimplifyCFG/hoist-dbgvalue.ll
    A llvm/test/Transforms/SimplifyCFG/mmra.ll
    M llvm/test/Transforms/SimplifyCFG/speculate-store.ll
    M llvm/test/Transforms/VectorCombine/AArch64/shuffletoidentity.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-binops.ll
    M llvm/test/Transforms/VectorCombine/X86/shuffle-of-shuffles.ll
    M llvm/test/Verifier/invalid-splice.ll
    A llvm/test/Verifier/mmra-allowed.ll
    A llvm/test/Verifier/mmra.ll
    M llvm/test/lit.cfg.py
    A llvm/test/tools/llvm-mca/X86/BtVer2/skip-unsupported-instructions-none-remain.s
    M llvm/test/tools/llvm-mca/X86/BtVer2/unsupported-instruction.s
    M llvm/test/tools/llvm-profdata/memprof-merge-v0.test
    A llvm/test/tools/llvm-rc/Inputs/dialog-with-menu.rc
    A llvm/test/tools/llvm-rc/dialog-with-menu.test
    M llvm/test/tools/llvm-readobj/ELF/relr-relocs.test
    M llvm/test/tools/llvm-reduce/remove-dp-values.ll
    M llvm/tools/gold/gold-plugin.cpp
    M llvm/tools/llvm-exegesis/lib/BenchmarkRunner.cpp
    M llvm/tools/llvm-exegesis/lib/SubprocessMemory.cpp
    M llvm/tools/llvm-jitlink/llvm-jitlink.cpp
    M llvm/tools/llvm-lto2/llvm-lto2.cpp
    M llvm/tools/llvm-mca/CodeRegion.h
    M llvm/tools/llvm-mca/llvm-mca.cpp
    M llvm/tools/llvm-objdump/llvm-objdump.cpp
    M llvm/tools/llvm-profdata/llvm-profdata.cpp
    M llvm/tools/llvm-rc/ResourceFileWriter.cpp
    M llvm/tools/llvm-rc/ResourceFileWriter.h
    M llvm/tools/llvm-rc/ResourceScriptParser.cpp
    M llvm/tools/llvm-rc/ResourceScriptParser.h
    M llvm/tools/llvm-rc/ResourceScriptStmt.cpp
    M llvm/tools/llvm-rc/ResourceScriptStmt.h
    M llvm/tools/llvm-rc/ResourceVisitor.h
    M llvm/tools/llvm-readobj/ELFDumper.cpp
    M llvm/tools/llvm-readobj/Opts.td
    M llvm/tools/llvm-readobj/llvm-readobj.cpp
    M llvm/tools/llvm-readobj/llvm-readobj.h
    M llvm/tools/llvm-readtapi/llvm-readtapi.cpp
    M llvm/tools/llvm-reduce/llvm-reduce.cpp
    M llvm/unittests/ADT/APIntTest.cpp
    M llvm/unittests/ADT/StringRefTest.cpp
    M llvm/unittests/Analysis/LoadsTest.cpp
    M llvm/unittests/BinaryFormat/DwarfTest.cpp
    M llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp
    M llvm/unittests/CodeGen/MachineInstrTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp
    M llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h
    M llvm/unittests/ExecutionEngine/Orc/TaskDispatchTest.cpp
    M llvm/unittests/Frontend/CMakeLists.txt
    A llvm/unittests/Frontend/OpenMPCompositionTest.cpp
    M llvm/unittests/IR/CMakeLists.txt
    M llvm/unittests/IR/IntrinsicsTest.cpp
    A llvm/unittests/IR/MemoryModelRelaxationAnnotationsTest.cpp
    M llvm/unittests/IR/PatternMatch.cpp
    M llvm/unittests/Object/ELFObjectFileTest.cpp
    M llvm/unittests/ProfileData/InstrProfTest.cpp
    M llvm/unittests/ProfileData/MemProfTest.cpp
    M llvm/unittests/Support/CMakeLists.txt
    M llvm/unittests/Support/MathExtrasTest.cpp
    R llvm/unittests/Support/RISCVISAInfoTest.cpp
    M llvm/unittests/Support/YAMLIOTest.cpp
    M llvm/unittests/TargetParser/CMakeLists.txt
    A llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
    M llvm/unittests/TargetParser/TargetParserTest.cpp
    M llvm/utils/LLVMVisualizers/llvm.natvis
    A llvm/utils/TableGen/ARMTargetDefEmitter.cpp
    M llvm/utils/TableGen/CMakeLists.txt
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
    M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.cpp
    M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
    M llvm/utils/TableGen/Common/SubtargetFeatureInfo.cpp
    M llvm/utils/TableGen/DAGISelMatcherEmitter.cpp
    M llvm/utils/TableGen/DXILEmitter.cpp
    M llvm/utils/TableGen/DirectiveEmitter.cpp
    M llvm/utils/TableGen/GlobalISelEmitter.cpp
    M llvm/utils/TableGen/RISCVTargetDefEmitter.cpp
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/bugprone/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/modernize/BUILD.gn
    M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/readability/BUILD.gn
    M llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/IR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/Hexagon/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/Target/WebAssembly/BUILD.gn
    M llvm/utils/gn/secondary/llvm/lib/TargetParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/IR/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/Support/BUILD.gn
    M llvm/utils/gn/secondary/llvm/unittests/TargetParser/BUILD.gn
    M llvm/utils/gn/secondary/llvm/utils/TableGen/BUILD.gn
    M llvm/utils/release/test-release.sh
    M mlir/CMakeLists.txt
    M mlir/cmake/modules/AddMLIR.cmake
    M mlir/cmake/modules/CMakeLists.txt
    M mlir/cmake/modules/MLIRConfig.cmake.in
    M mlir/docs/DefiningDialects/Operations.md
    M mlir/docs/Tutorials/UnderstandingTheIRStructure.md
    M mlir/include/mlir-c/Dialect/LLVM.h
    M mlir/include/mlir-c/Dialect/SparseTensor.h
    M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
    M mlir/include/mlir/Dialect/GPU/Transforms/Passes.td
    M mlir/include/mlir/Dialect/LLVMIR/LLVMIntrinsicOps.td
    M mlir/include/mlir/Dialect/LLVMIR/VCIXOps.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgEnums.td
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgNamedStructuredOps.yaml
    M mlir/include/mlir/Dialect/Linalg/IR/LinalgOps.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformEnums.td
    M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
    A mlir/include/mlir/Dialect/Linalg/Transforms/RuntimeOpVerification.h
    M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPClauseOperands.h
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
    M mlir/include/mlir/Dialect/OpenMP/OpenMPOpsInterfaces.td
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.h
    M mlir/include/mlir/Dialect/Polynomial/IR/Polynomial.td
    M mlir/include/mlir/Dialect/SCF/Transforms/Passes.h
    M mlir/include/mlir/Dialect/SCF/Transforms/Passes.td
    M mlir/include/mlir/Dialect/SCF/Transforms/Transforms.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensor.h
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorAttrDefs.td
    M mlir/include/mlir/Dialect/SparseTensor/IR/SparseTensorType.h
    M mlir/include/mlir/Dialect/Vector/Utils/VectorUtils.h
    M mlir/include/mlir/Dialect/XeGPU/IR/CMakeLists.txt
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPU.h
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUAttrs.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUDialect.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUOps.td
    M mlir/include/mlir/Dialect/XeGPU/IR/XeGPUTypes.td
    M mlir/include/mlir/IR/Builders.h
    M mlir/include/mlir/IR/BuiltinLocationAttributes.td
    M mlir/include/mlir/IR/OperationSupport.h
    M mlir/include/mlir/IR/Value.h
    M mlir/include/mlir/InitAllDialects.h
    M mlir/include/mlir/Interfaces/MemorySlotInterfaces.td
    M mlir/include/mlir/Interfaces/RuntimeVerifiableOpInterface.td
    M mlir/include/mlir/Interfaces/TilingInterface.td
    M mlir/include/mlir/TableGen/CodeGenHelpers.h
    M mlir/include/mlir/Tools/lsp-server-support/Transport.h
    M mlir/lib/Bindings/Python/DialectLLVM.cpp
    M mlir/lib/Bindings/Python/DialectSparseTensor.cpp
    M mlir/lib/CAPI/Dialect/LLVM.cpp
    M mlir/lib/CAPI/Dialect/SparseTensor.cpp
    M mlir/lib/Conversion/ComplexToStandard/ComplexToStandard.cpp
    M mlir/lib/Conversion/MemRefToEmitC/MemRefToEmitC.cpp
    M mlir/lib/Conversion/SCFToOpenMP/SCFToOpenMP.cpp
    M mlir/lib/Conversion/TosaToLinalg/TosaToLinalgNamed.cpp
    M mlir/lib/Conversion/VectorToLLVM/ConvertVectorToLLVM.cpp
    M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
    M mlir/lib/Dialect/ArmSME/Transforms/OuterProductFusion.cpp
    M mlir/lib/Dialect/Bufferization/Transforms/OneShotAnalysis.cpp
    M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
    M mlir/lib/Dialect/GPU/Transforms/ModuleToBinary.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
    M mlir/lib/Dialect/LLVMIR/IR/LLVMMemorySlot.cpp
    M mlir/lib/Dialect/Linalg/IR/LinalgOps.cpp
    M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
    M mlir/lib/Dialect/Linalg/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/Linalg/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/Linalg/Transforms/TilingInterfaceImpl.cpp
    A mlir/lib/Dialect/Linalg/Transforms/TransposeMatmul.cpp
    M mlir/lib/Dialect/Linalg/Transforms/Vectorization.cpp
    M mlir/lib/Dialect/MemRef/IR/MemRefMemorySlot.cpp
    M mlir/lib/Dialect/MemRef/Transforms/EmulateNarrowType.cpp
    M mlir/lib/Dialect/MemRef/Transforms/ExpandStridedMetadata.cpp
    M mlir/lib/Dialect/MemRef/Transforms/RuntimeOpVerification.cpp
    M mlir/lib/Dialect/OpenMP/IR/OpenMPDialect.cpp
    M mlir/lib/Dialect/Polynomial/IR/CMakeLists.txt
    M mlir/lib/Dialect/Polynomial/IR/PolynomialAttributes.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialDialect.cpp
    M mlir/lib/Dialect/Polynomial/IR/PolynomialOps.cpp
    M mlir/lib/Dialect/SCF/TransformOps/SCFTransformOps.cpp
    M mlir/lib/Dialect/SCF/Transforms/CMakeLists.txt
    A mlir/lib/Dialect/SCF/Transforms/ForallToFor.cpp
    M mlir/lib/Dialect/SparseTensor/IR/SparseTensorDialect.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorRewriting.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Sparsification.cpp
    M mlir/lib/Dialect/SparseTensor/Transforms/Utils/SparseTensorIterator.h
    M mlir/lib/Dialect/Tensor/IR/TensorOps.cpp
    M mlir/lib/Dialect/Tensor/IR/TensorTilingInterfaceImpl.cpp
    M mlir/lib/Dialect/Vector/Transforms/LowerVectorMultiReduction.cpp
    M mlir/lib/Dialect/Vector/Transforms/VectorLinearize.cpp
    M mlir/lib/Dialect/Vector/Utils/VectorUtils.cpp
    M mlir/lib/Dialect/XeGPU/IR/CMakeLists.txt
    M mlir/lib/Dialect/XeGPU/IR/XeGPUOps.cpp
    M mlir/lib/IR/Builders.cpp
    M mlir/lib/Interfaces/RuntimeVerifiableOpInterface.cpp
    M mlir/lib/TableGen/CodeGenHelpers.cpp
    M mlir/lib/Target/Cpp/TranslateToCpp.cpp
    M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
    M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
    M mlir/lib/Tools/lsp-server-support/Transport.cpp
    M mlir/lib/Transforms/Mem2Reg.cpp
    M mlir/lib/Transforms/Utils/DialectConversion.cpp
    M mlir/python/mlir/dialects/LLVMOps.td
    M mlir/python/mlir/dialects/linalg/opdsl/lang/comprehension.py
    M mlir/python/mlir/dialects/linalg/opdsl/ops/core_named_ops.py
    M mlir/python/mlir/dialects/llvm.py
    M mlir/python/mlir/dialects/transform/interpreter/__init__.py
    M mlir/test/CAPI/execution_engine.c
    M mlir/test/CAPI/sparse_tensor.c
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc-failed.mlir
    M mlir/test/Conversion/MemRefToEmitC/memref-to-emitc.mlir
    M mlir/test/Conversion/OpenMPToLLVM/convert-to-llvmir.mlir
    M mlir/test/Conversion/SCFToOpenMP/reductions.mlir
    M mlir/test/Conversion/SCFToOpenMP/scf-to-openmp.mlir
    M mlir/test/Conversion/TosaToLinalg/tosa-to-linalg-named.mlir
    M mlir/test/Conversion/VectorToArmSME/vector-to-arm-sme.mlir
    M mlir/test/Conversion/VectorToLLVM/vector-to-llvm.mlir
    M mlir/test/Dialect/Arith/canonicalize.mlir
    M mlir/test/Dialect/ArmSME/outer-product-fusion.mlir
    R mlir/test/Dialect/ArmSME/vector-ops-to-llvm.mlir
    M mlir/test/Dialect/EmitC/invalid_ops.mlir
    M mlir/test/Dialect/EmitC/ops.mlir
    M mlir/test/Dialect/LLVMIR/invalid.mlir
    M mlir/test/Dialect/LLVMIR/legalize-for-export.mlir
    M mlir/test/Dialect/LLVMIR/mem2reg.mlir
    M mlir/test/Dialect/LLVMIR/roundtrip.mlir
    M mlir/test/Dialect/Linalg/generalize-named-ops.mlir
    M mlir/test/Dialect/Linalg/match-ops-interpreter.mlir
    M mlir/test/Dialect/Linalg/named-ops-fail.mlir
    M mlir/test/Dialect/Linalg/named-ops.mlir
    A mlir/test/Dialect/Linalg/runtime-verification.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul-a.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul-b.mlir
    A mlir/test/Dialect/Linalg/transpose-matmul.mlir
    M mlir/test/Dialect/MemRef/emulate-narrow-type.mlir
    M mlir/test/Dialect/MemRef/expand-strided-metadata.mlir
    M mlir/test/Dialect/OpenMP/invalid.mlir
    M mlir/test/Dialect/OpenMP/ops.mlir
    A mlir/test/Dialect/Polynomial/ops.mlir
    A mlir/test/Dialect/Polynomial/ops_errors.mlir
    M mlir/test/Dialect/Polynomial/types.mlir
    A mlir/test/Dialect/SCF/forall-to-for.mlir
    A mlir/test/Dialect/SparseTensor/fuse_sparse_concat_with_extract_slice.mlir
    A mlir/test/Dialect/SparseTensor/fuse_sparse_convert_into_producer.mlir
    R mlir/test/Dialect/SparseTensor/no_fold_into_consumer.mlir
    M mlir/test/Dialect/SparseTensor/roundtrip_encoding.mlir
    M mlir/test/Dialect/Tensor/canonicalize.mlir
    M mlir/test/Dialect/Vector/vector-multi-reduction-lowering.mlir
    M mlir/test/Dialect/XeGPU/XeGPUOps.mlir
    M mlir/test/Dialect/XeGPU/invalid.mlir
    A mlir/test/Examples/NVGPU/Ch0.py
    A mlir/test/Examples/NVGPU/Ch1.py
    A mlir/test/Examples/NVGPU/Ch2.py
    A mlir/test/Examples/NVGPU/Ch3.py
    A mlir/test/Examples/NVGPU/Ch4.py
    A mlir/test/Examples/NVGPU/Ch5.py
    A mlir/test/Examples/NVGPU/lit.local.cfg
    A mlir/test/Examples/NVGPU/tools/lit.local.cfg
    A mlir/test/Examples/NVGPU/tools/nvdsl.py
    A mlir/test/Examples/NVGPU/tools/nvgpucompiler.py
    A mlir/test/Integration/Dialect/Linalg/CPU/runtime-verification.mlir
    M mlir/test/Integration/lit.local.cfg
    A mlir/test/Target/Cpp/global.mlir
    M mlir/test/Target/LLVMIR/Import/import-failure.ll
    M mlir/test/Target/LLVMIR/omptarget-parallel-wsloop.mlir
    M mlir/test/Target/LLVMIR/omptarget-wsloop-collapsed.mlir
    M mlir/test/Target/LLVMIR/omptarget-wsloop.mlir
    M mlir/test/Target/LLVMIR/openmp-data-target-device.mlir
    M mlir/test/Target/LLVMIR/openmp-llvm.mlir
    M mlir/test/Target/LLVMIR/openmp-nested.mlir
    M mlir/test/Target/LLVMIR/openmp-reduction.mlir
    M mlir/test/Target/LLVMIR/openmp-wsloop-reduction-cleanup.mlir
    M mlir/test/Transforms/test-legalizer.mlir
    M mlir/test/lib/Analysis/DataFlow/TestDenseBackwardDataFlowAnalysis.cpp

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

Created using spr 1.3.5


Compare: https://github.com/llvm/llvm-project/compare/512e9eb31ffb...c7f248dd2b8a

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