[all-commits] [llvm/llvm-project] e266d6: [Format] Use llvm::min_element (NFC) (#143725)
Amir Ayupov via All-commits
all-commits at lists.llvm.org
Fri Jun 20 11:14:38 PDT 2025
Branch: refs/heads/users/aaupov/spr/boltnfc-simplify-dotrace-in-bat-mode
Home: https://github.com/llvm/llvm-project
Commit: e266d6a5da6871c89747416c70a4a39181b594fb
https://github.com/llvm/llvm-project/commit/e266d6a5da6871c89747416c70a4a39181b594fb
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/lib/Format/MacroCallReconstructor.cpp
Log Message:
-----------
[Format] Use llvm::min_element (NFC) (#143725)
llvm::min_elements allows us to pass a range.
Commit: c1d21f44340901f6a23ae7eb7c5379f5ad197b27
https://github.com/llvm/llvm-project/commit/c1d21f44340901f6a23ae7eb7c5379f5ad197b27
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M lld/ELF/SyntheticSections.cpp
M lld/MachO/UnwindInfoSection.cpp
Log Message:
-----------
[lld] Use std::tie to implement comparison operators (NFC) (#143726)
std::tie facilitates lexicographical comparisons through std::tuple's
built-in operator< and operator>.
Commit: 8da1ac98efa0d315824a92d8b563299eccc3e0f1
https://github.com/llvm/llvm-project/commit/8da1ac98efa0d315824a92d8b563299eccc3e0f1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldImpl.h
M llvm/lib/Target/Hexagon/HexagonConstExtenders.cpp
Log Message:
-----------
[llvm] Use std::tie to implement operator< (NFC) (#143728)
std::tie facilitates lexicographical comparisons through std::tuple's
built-in operator<.
Commit: 43c35e858ccae05d69151ccf9712a725aae37b52
https://github.com/llvm/llvm-project/commit/43c35e858ccae05d69151ccf9712a725aae37b52
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/lib/IR/AsmPrinter.cpp
M mlir/lib/IR/SymbolTable.cpp
M mlir/lib/Transforms/Utils/CFGToSCF.cpp
Log Message:
-----------
[mlir] Simplify calls to *Map::{insert,try_emplace} (NFC) (#143729)
This patch simplifies code by removing the values from
insert/try_emplace. Note that default values inserted by try_emplace
are immediately overrideen in all these cases.
Commit: ad2a2b8eed2f3ed1e050833ea8a8d88b0878c6a7
https://github.com/llvm/llvm-project/commit/ad2a2b8eed2f3ed1e050833ea8a8d88b0878c6a7
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/CMakeLists.txt
M llvm/docs/CommandGuide/index.rst
A llvm/docs/CommandGuide/llvm-test-mustache-spec.rst
A llvm/utils/llvm-test-mustache-spec/CMakeLists.txt
A llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
Log Message:
-----------
[llvm] Add a tool to check mustache compliance against the public spec (#142813)
This is a cli tool to that tests the conformance of LLVM's mustache
implementation against the public Mustache spec, hosted at
https://github.com/mustache/spec. This is a revised version of the
patches in #111487.
Co-authored-by: Peter Chou <peter.chou at mail.utoronto.ca>
Commit: e7e491f6ee2baee4e2ab2947e1c64bc54e3ebbec
https://github.com/llvm/llvm-project/commit/e7e491f6ee2baee4e2ab2947e1c64bc54e3ebbec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/combine-reduce-add-to-vcpop.ll
M llvm/test/CodeGen/RISCV/rvv/vector-interleave.ll
M llvm/test/CodeGen/X86/avx10_2_512bf16-arith.ll
M llvm/test/CodeGen/X86/avx10_2bf16-arith.ll
Log Message:
-----------
[SelectionDAG] Add ISD::VSELECT to SelectionDAG::canCreateUndefOrPoison. (#143760)
Commit: 5623b7f2d56ecba84de5d62444feed2dea2b7e25
https://github.com/llvm/llvm-project/commit/5623b7f2d56ecba84de5d62444feed2dea2b7e25
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Use GeneratedRTChecks to check if safety checks were added (NFC).
Directly check via GeneratedRTChecks if any checks have been added,
instead of needing to go through ILV. This simplifies the code and
enables further refactoring in follow-up patches.
Commit: c70658e32debfc3b2c0f6c2b2228ac48e976fd51
https://github.com/llvm/llvm-project/commit/c70658e32debfc3b2c0f6c2b2228ac48e976fd51
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[bazel] port 5dafe9dca867b90f20dcd71c620ad823aee4262b
Commit: 52583b3ed7dd39788360361fc1e21039c8eb5479
https://github.com/llvm/llvm-project/commit/52583b3ed7dd39788360361fc1e21039c8eb5479
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A libc/hdr/types/char32_t.h
A libc/hdr/types/char8_t.h
A libc/hdr/uchar_overlay.h
A libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/character_converter.cpp
A libc/src/__support/wchar/character_converter.h
A libc/src/__support/wchar/mbstate.h
A libc/src/__support/wchar/utf_ret.h
Log Message:
-----------
[libc] Character converter skeleton class (#143619)
Made CharacterConverter class skeleton
Commit: a2d2941830d9c141d7f43da1ff58e7b7235a9f7d
https://github.com/llvm/llvm-project/commit/a2d2941830d9c141d7f43da1ff58e7b7235a9f7d
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A lldb/scripts/convert-lldb-header-to-rpc-header.py
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBDefines.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBEnumerations.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckLLDBTypes.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/CheckSBDefines.test
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/SBDefines.h
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-defines.h
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-enumerations.h
A lldb/test/Shell/RPC/Scripts/TestConvertScript/Inputs/lldb-types.h
Log Message:
-----------
[lldb][RPC] Upstream LLDB to RPC converstion Python script (#138028)
As part of upstreaming LLDB RPC, this commit adds a python script that
is used by LLDB RPC to modify the public lldb header files for use with
RPC.
https://discourse.llvm.org/t/rfc-upstreaming-lldb-rpc/85804
Commit: b42aef5e6f32a3ac6c259cb4cacf58239400b5aa
https://github.com/llvm/llvm-project/commit/b42aef5e6f32a3ac6c259cb4cacf58239400b5aa
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/modfile77.F90
A flang/test/Semantics/modfile78.F90
Log Message:
-----------
[flang] Don't duplicate hermetic module file dependencies (#143605)
When emitting the modules on which a module depends under the
-fhermetic-module-files options, eliminate duplicates by name rather
than by symbol addresses. This way, when a dependent module is in the
symbol table more than once due to the use of a nested hermetic module,
it doesn't get emitted multiple times to the new module file.
Commit: e389a0e7bb3d7aabbd10b9ba8f432f292de65649
https://github.com/llvm/llvm-project/commit/e389a0e7bb3d7aabbd10b9ba8f432f292de65649
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/wcscpy.cpp
M libc/src/wchar/wcsncpy.cpp
M libc/src/wchar/wmemcpy.cpp
M libc/src/wchar/wmempcpy.cpp
Log Message:
-----------
[libc] Switched calls to inline_memcpy to __builtin_memcpy for wide char utilities (#143011)
Switched calls to inline_memcpy to __builtin_memcpy for wide char
utilities
Removed unnecessary wctype_utils dependencies from the cmake file
Commit: fb761aa38b0bc01ab911f5dbbfb474b70aaafbb4
https://github.com/llvm/llvm-project/commit/fb761aa38b0bc01ab911f5dbbfb474b70aaafbb4
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/python/mlir/dialects/transform/__init__.py
M mlir/test/Dialect/Transform/test-pass-application.mlir
M mlir/test/python/dialects/transform.py
Log Message:
-----------
[MLIR][Transform] apply_registered_op fixes: arg order & python options auto-conversion (#143779)
Commit: d87eea35fac5a34a841c637db8908128409a184e
https://github.com/llvm/llvm-project/commit/d87eea35fac5a34a841c637db8908128409a184e
Author: lntue <lntue at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/config/config.json
M libc/docs/dev/code_style.rst
M libc/shared/fp_bits.h
A libc/shared/libc_common.h
M libc/shared/rpc_server.h
M libc/shared/str_to_float.h
M libc/shared/str_to_integer.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/file.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/__support/OSUtil/linux/vdso.cpp
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
A libc/src/__support/libc_errno.h
M libc/src/__support/threads/linux/thread.cpp
M libc/src/dirent/closedir.cpp
M libc/src/dirent/opendir.cpp
M libc/src/dirent/readdir.cpp
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
R libc/src/errno/libc_errno.h
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoumax.cpp
M libc/src/math/generic/exp10m1f.cpp
M libc/src/math/generic/exp2m1f.cpp
M libc/src/math/generic/nan.cpp
M libc/src/math/generic/nanf.cpp
M libc/src/math/generic/nanf128.cpp
M libc/src/math/generic/nanf16.cpp
M libc/src/math/generic/nanl.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/pthread/pthread_atfork.cpp
M libc/src/pthread/pthread_attr_setdetachstate.cpp
M libc/src/pthread/pthread_attr_setguardsize.cpp
M libc/src/pthread/pthread_attr_setstack.cpp
M libc/src/pthread/pthread_attr_setstacksize.cpp
M libc/src/pthread/pthread_condattr_setclock.cpp
M libc/src/pthread/pthread_condattr_setpshared.cpp
M libc/src/pthread/pthread_create.cpp
M libc/src/pthread/pthread_key_create.cpp
M libc/src/pthread/pthread_key_delete.cpp
M libc/src/pthread/pthread_mutexattr_setpshared.cpp
M libc/src/pthread/pthread_mutexattr_setrobust.cpp
M libc/src/pthread/pthread_mutexattr_settype.cpp
M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
M libc/src/pthread/pthread_rwlock_trywrlock.cpp
M libc/src/pthread/pthread_rwlock_unlock.cpp
M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
M libc/src/pthread/pthread_setspecific.cpp
M libc/src/sched/linux/sched_get_priority_max.cpp
M libc/src/sched/linux/sched_get_priority_min.cpp
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getparam.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/linux/sched_setparam.cpp
M libc/src/sched/linux/sched_setscheduler.cpp
M libc/src/sched/linux/sched_yield.cpp
M libc/src/search/hcreate.cpp
M libc/src/search/hcreate_r.cpp
M libc/src/search/hdestroy_r.cpp
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch_r.cpp
M libc/src/signal/linux/kill.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigemptyset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/generic/fclose.cpp
M libc/src/stdio/generic/fflush.cpp
M libc/src/stdio/generic/fgetc.cpp
M libc/src/stdio/generic/fgetc_unlocked.cpp
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdio/generic/fopen.cpp
M libc/src/stdio/generic/fputc.cpp
M libc/src/stdio/generic/fputs.cpp
M libc/src/stdio/generic/fread.cpp
M libc/src/stdio/generic/fread_unlocked.cpp
M libc/src/stdio/generic/fseek.cpp
M libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/generic/fwrite.cpp
M libc/src/stdio/generic/fwrite_unlocked.cpp
M libc/src/stdio/generic/getc.cpp
M libc/src/stdio/generic/getc_unlocked.cpp
M libc/src/stdio/generic/getchar.cpp
M libc/src/stdio/generic/getchar_unlocked.cpp
M libc/src/stdio/generic/putc.cpp
M libc/src/stdio/generic/putchar.cpp
M libc/src/stdio/generic/puts.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/linux/fdopen.cpp
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/setbuf.cpp
M libc/src/stdio/setvbuf.cpp
M libc/src/stdlib/atof.cpp
M libc/src/stdlib/atoi.cpp
M libc/src/stdlib/atol.cpp
M libc/src/stdlib/atoll.cpp
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtod_l.cpp
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtof_l.cpp
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol_l.cpp
M libc/src/stdlib/strtold.cpp
M libc/src/stdlib/strtold_l.cpp
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll_l.cpp
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul_l.cpp
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull_l.cpp
M libc/src/string/strdup.cpp
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/epoll/linux/epoll_create.cpp
M libc/src/sys/epoll/linux/epoll_create1.cpp
M libc/src/sys/epoll/linux/epoll_ctl.cpp
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
M libc/src/sys/mman/linux/madvise.cpp
M libc/src/sys/mman/linux/mincore.cpp
M libc/src/sys/mman/linux/mlock.cpp
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/linux/mlockall.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/sys/mman/linux/mprotect.cpp
M libc/src/sys/mman/linux/mremap.cpp
M libc/src/sys/mman/linux/msync.cpp
M libc/src/sys/mman/linux/munlock.cpp
M libc/src/sys/mman/linux/munlockall.cpp
M libc/src/sys/mman/linux/munmap.cpp
M libc/src/sys/mman/linux/remap_file_pages.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/random/linux/getrandom.cpp
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/sendfile/linux/sendfile.cpp
M libc/src/sys/socket/linux/bind.cpp
M libc/src/sys/socket/linux/recv.cpp
M libc/src/sys/socket/linux/recvfrom.cpp
M libc/src/sys/socket/linux/recvmsg.cpp
M libc/src/sys/socket/linux/send.cpp
M libc/src/sys/socket/linux/sendmsg.cpp
M libc/src/sys/socket/linux/sendto.cpp
M libc/src/sys/socket/linux/socket.cpp
M libc/src/sys/socket/linux/socketpair.cpp
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/mkdirat.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/sys/statvfs/linux/statfs_utils.h
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libc/src/sys/uio/linux/readv.cpp
M libc/src/sys/uio/linux/writev.cpp
M libc/src/sys/utsname/linux/uname.cpp
M libc/src/sys/wait/wait4Impl.h
M libc/src/termios/linux/cfsetispeed.cpp
M libc/src/termios/linux/cfsetospeed.cpp
M libc/src/termios/linux/tcdrain.cpp
M libc/src/termios/linux/tcflow.cpp
M libc/src/termios/linux/tcflush.cpp
M libc/src/termios/linux/tcgetattr.cpp
M libc/src/termios/linux/tcgetsid.cpp
M libc/src/termios/linux/tcsendbreak.cpp
M libc/src/termios/linux/tcsetattr.cpp
M libc/src/threads/thrd_create.cpp
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/linux/timespec_get.cpp
M libc/src/time/time.cpp
M libc/src/time/time_utils.h
M libc/src/time/windows/clock_getres.cpp
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/chdir.cpp
M libc/src/unistd/linux/close.cpp
M libc/src/unistd/linux/dup.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/dup3.cpp
M libc/src/unistd/linux/execv.cpp
M libc/src/unistd/linux/execve.cpp
M libc/src/unistd/linux/fchdir.cpp
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/fsync.cpp
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/getentropy.cpp
M libc/src/unistd/linux/getsid.cpp
M libc/src/unistd/linux/isatty.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/pathconf.cpp
M libc/src/unistd/linux/pathconf_utils.cpp
M libc/src/unistd/linux/pipe.cpp
M libc/src/unistd/linux/pipe2.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/src/unistd/linux/read.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/syscall.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/src/unistd/linux/write.cpp
M libc/src/unistd/windows/getentropy.cpp
M libc/test/IntegrationTest/test.h
M libc/test/UnitTest/ErrnoCheckingTest.h
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/Test.h
M libc/test/integration/src/pthread/pthread_create_test.cpp
M libc/test/integration/src/pthread/pthread_join_test.cpp
M libc/test/integration/src/pthread/pthread_name_test.cpp
M libc/test/integration/src/unistd/getcwd_test.cpp
M libc/test/integration/startup/linux/tls_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/str_to_integer_test.cpp
M libc/test/src/dirent/dirent_test.cpp
M libc/test/src/errno/errno_test.cpp
M libc/test/src/fcntl/creat_test.cpp
M libc/test/src/fcntl/fcntl_test.cpp
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf16_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/cospif_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/sinpif_test.cpp
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/acos_test.cpp
M libc/test/src/math/smoke/acosf16_test.cpp
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf16_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/acospif16_test.cpp
M libc/test/src/math/smoke/asinf16_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf16_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf16_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf16_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf16_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f16_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f16_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f16_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f16_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf16_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f16_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f16_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f16_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf16_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf16_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf16_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/poll/poll_test.cpp
M libc/test/src/sched/affinity_test.cpp
M libc/test/src/sched/cpu_count_test.cpp
M libc/test/src/sched/get_priority_test.cpp
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/sched/yield_test.cpp
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/signal/signal_test.cpp
M libc/test/src/signal/sigprocmask_test.cpp
M libc/test/src/spawn/posix_spawn_file_actions_test.cpp
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/sys/time/setitimer_test.cpp
M libc/test/src/termios/termios_test.cpp
M libc/test/src/time/asctime_r_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/ctime_r_test.cpp
M libc/test/src/time/ctime_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/nanosleep_test.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc] Move libc_errno.h to libc/src/__support and make LIBC_ERRNO_MODE_SYSTEM to be header-only. (#143187)
This is the first step in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 79108da325daec08f5b50169a9c35e03ea0645a3
https://github.com/llvm/llvm-project/commit/79108da325daec08f5b50169a9c35e03ea0645a3
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
Log Message:
-----------
[libc][obvious] Changed incorrect type (#143780)
After changing mbstate_t to mbstate we forgot to change the
character_converter files to reflect it.
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: c0c0f60ca14422dfbfe27fddd8d47faa596165d8
https://github.com/llvm/llvm-project/commit/c0c0f60ca14422dfbfe27fddd8d47faa596165d8
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/Evaluator.cpp
A llvm/test/Transforms/GlobalOpt/global-constructor-complex-constants.ll
Log Message:
-----------
[GlobalOpt] Bail out on non-ConstExprs in isSimpleEnoughtToCommit. (#143400)
Bail out for non ConstantExpr constants in
isSimpleEnoughValueToCommitHelper to prevent crash for non-ConstantExpr
constants
PR: https://github.com/llvm/llvm-project/pull/143400
Commit: f39f53e569f92987683626d910e9dbcbd59ff410
https://github.com/llvm/llvm-project/commit/f39f53e569f92987683626d910e9dbcbd59ff410
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
[Clang][NFC] Move HeadingAndSpellings to avoid copying (#143611)
Static analysis flagged that we could move HeadingAndSpellings and avoid
a copy of a large object.
Commit: d7e7f22626f214766f3592341dd1737fd232c6a5
https://github.com/llvm/llvm-project/commit/d7e7f22626f214766f3592341dd1737fd232c6a5
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Parse/Parser.h
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/Parser.cpp
A clang/test/Parser/macro-expansion-recovery.cpp
M clang/test/Parser/switch-recovery.cpp
Log Message:
-----------
[Clang] fix missing source location for errors in macro-expanded (#143460)
Fixes #143216
---
This patch fixes diagnostic locations for tokens from macro expansions.
Commit: 625bfb7179ad1acab2aba1023095826628275a60
https://github.com/llvm/llvm-project/commit/625bfb7179ad1acab2aba1023095826628275a60
Author: Jiachen Yuan <jiacheny at nvidia.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/Mangler.h
Log Message:
-----------
Workaround MSVC Linker Issue when Cross-Compiling for ARM64EC (#143659)
This MR presents a temporary workaround for the issue described at
https://github.com/llvm/llvm-project/issues/143575. While an [upstream
MSVC
bug](https://developercommunity.visualstudio.com/t/MSVC-Linker-Issue-When-Cross-Compiling-L/10920141)
is reported, it makes sense to apply a workaround in LLVM code to
quickly unblock anyone affected.
Commit: 7838fc0cd3fbe578d9554fdcd3198c2ba3616bcc
https://github.com/llvm/llvm-project/commit/7838fc0cd3fbe578d9554fdcd3198c2ba3616bcc
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
Log Message:
-----------
[Clang] [NFC] Move diagnostics emitting code from `DiagnosticIDs` into `DiagnosticsEngine` (#143517)
It makes more sense for this functionality to be all in one place rather
than split up across two files—at least it caused me a bit of a headache
to try and find all places where we were actually forwarding the
diagnostic to the `DiagnosticConsumer`. Moreover, moving these functions
into `DiagnosticsEngine` simplifies the code quite a bit since we access
members of `DiagnosticsEngine` more frequently than those of
`DiagnosticIDs`. There was also a duplicated code snippet that I’ve
moved out into a new function.
Commit: 6f2ba4712f17d7c82228a5b705570571e13a3832
https://github.com/llvm/llvm-project/commit/6f2ba4712f17d7c82228a5b705570571e13a3832
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Utils/ReshapeOpsUtils.h
M mlir/test/Dialect/Tensor/canonicalize.mlir
Log Message:
-----------
[mlir] Fix ComposeExpandOfCollapseOp for dynamic case (#142663)
Changes `findCollapsingReassociation` to return nullopt in all cases
where source shape has `>=2` dynamic dims. `expand(collapse)` can
reshape to in any valid output shape but a collapse can only collapse
contiguous dimensions. When there are `>=2` dynamic dimensions it is
impossible to determine if it can be simplified to a collapse or if it
is preforming a more advanced reassociation.
This problem was uncovered by
https://github.com/llvm/llvm-project/pull/137963
---------
Signed-off-by: Ian Wood <ianwood2024 at u.northwestern.edu>
Commit: 9c9a4a284e95ea5e27617af7235e3ab049bae680
https://github.com/llvm/llvm-project/commit/9c9a4a284e95ea5e27617af7235e3ab049bae680
Author: Ellis Hoag <ellis.sparky.hoag at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64CollectLOH.cpp
M llvm/test/CodeGen/AArch64/loh-adrp-add-ldr-clobber.mir
Log Message:
-----------
[LOH] Don't emit AdrpAddStr when register could be clobbered (#142849)
https://github.com/llvm/llvm-project/commit/b783aa89795635cbe7b25b4143b562931fcec9f6
added a check to ensure an `AdrpAddLdr` LOH isn't created when there is
an instruction between the `add` and `ldr`
https://github.com/llvm/llvm-project/blob/50c5704dc000cc0af41a511aa44db03233edf0af/llvm/lib/Target/AArch64/AArch64CollectLOH.cpp#L419-L431
We need a similar check for `AdrpAddStr`. Although this technically
isn't implemented in LLD, it could be in the future.
https://github.com/llvm/llvm-project/blob/50c5704dc000cc0af41a511aa44db03233edf0af/lld/MachO/Arch/ARM64.cpp#L699-L702
Commit: 74172add65aa14e77e98b048db0074c3f273057f
https://github.com/llvm/llvm-project/commit/74172add65aa14e77e98b048db0074c3f273057f
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[mlir][generate-test-checks] Do not emit the autogenerated note if it exists (#143750)
Prior to this PR, the script removed the already existing autogenerated
note if we came across a line that was equal to the note. But the
default note is multiple lines, so there would never be a match.
Instead, check to see if the current line is a substring of the
autogenerated note.
Co-authored-by: Michael Maitland <michaelmaitland at meta.com>
Commit: 0e457315f55889878ccbc3e35d4beb04e277733f
https://github.com/llvm/llvm-project/commit/0e457315f55889878ccbc3e35d4beb04e277733f
Author: Michael Maitland <michaeltmaitland at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M mlir/utils/generate-test-checks.py
Log Message:
-----------
[mlir][generate-test-checks] Emit attributes with rest of CHECK lines (#143759)
Prior to this patch, generating test checks in place put the ATTR
definitions at the very top of the file, above the RUN lines and
autogenerated note. All CHECK lines should below the RUN lines and
autogenerated note.
This change ensures that the attribute definitions are emitted with the
rest of the CHECK lines.
---------
Co-authored-by: Michael Maitland <michaelmaitland at meta.com>
Commit: ee35e342945d6825c9b2b004fd135cf16c84ea0e
https://github.com/llvm/llvm-project/commit/ee35e342945d6825c9b2b004fd135cf16c84ea0e
Author: Nikolay Panchenko <nicholas.panchenko at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
A llvm/test/Transforms/InstSimplify/ConstProp/vector-calls.ll
Log Message:
-----------
[ConstantFolding] Add folding for [de]interleave2, insert and extract (#141301)
The change adds folding for 4 vector intrinsics: `interleave2`,
`deinterleave2`, `vector_extract` and `vector_insert`. For the last 2
intrinsics the change does not use `ShuffleVector` fold mechanism as
it's much simpler to construct result vector explicitly.
Commit: dc4335a2bf75c7b9928a72a7f15df0276120d7ed
https://github.com/llvm/llvm-project/commit/dc4335a2bf75c7b9928a72a7f15df0276120d7ed
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/src/__support/GPU/allocator.cpp
Log Message:
-----------
[libc] Perform bitfield zero initialization wave-parallel (#143607)
Summary:
We need to set the bitfield memory to zero because the system does not
guarantee zeroed out memory. Even if fresh pages are zero, the system
allows re-use so we would need a `kfd` level API to skip this step.
Because we can't this patch updates the logic to perform the zero
initialization wave-parallel. This reduces the amount of time it takes
to allocate a fresh by up to a tenth.
This has the unfortunate side effect that the control flow is more
convoluted and we waste some extra registers, but it's worth it to
reduce the slab allocation latency.
Commit: 1ecd108cb7ceda2b11281b5d173e2827feb60c55
https://github.com/llvm/llvm-project/commit/1ecd108cb7ceda2b11281b5d173e2827feb60c55
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
[libc] Migrate stdio tests to ErrnoCheckingTest. (#143802)
Reduce the direct use of libc_errno in stdio unit tests by adopting
ErrnoCheckingTest where appropriate.
Also removes the libc_errno.h inclusions from stdlib.h tests that were
accidentally added in d87eea35fac5a34a841c637db8908128409a184e
Commit: 3c7af175e51c3ab08ac3c442146c2b822f38c01e
https://github.com/llvm/llvm-project/commit/3c7af175e51c3ab08ac3c442146c2b822f38c01e
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/docs/configure.rst
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
Log Message:
-----------
[libc] Fix stdio tests after #143802 (#143810)
In #143802 the stdio test cleanup missed a few places where errno was
being set to a failing value, and one where the framework needed to
included.
Commit: 6c72084a578a7a1e4dc1013a1a4a30b72ad5c6ab
https://github.com/llvm/llvm-project/commit/6c72084a578a7a1e4dc1013a1a4a30b72ad5c6ab
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/src/stdio/BUILD.bazel
Log Message:
-----------
[bazel] port 1ecd108cb7ceda2b11281b5d173e2827feb60c55
Commit: bc7ea63e9c885fbe71dec29581a206bc0543d22a
https://github.com/llvm/llvm-project/commit/bc7ea63e9c885fbe71dec29581a206bc0543d22a
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/variable-sized-memset-memcpy.ll
Log Message:
-----------
[MemCpyOpt] handle memcpy from memset for non-constant sizes (#143727)
Allows forwarding memset to memcpy for mismatching unknown sizes if
overread has undef contents. In that case we can refine the undef bytes
to the memset value.
Refs #140954 which laid some of the groundwork for this.
Commit: d7c6cad744bc7ed28535dc6f75629902eda559ea
https://github.com/llvm/llvm-project/commit/d7c6cad744bc7ed28535dc6f75629902eda559ea
Author: Jake Egan <Jake.egan at ibm.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
Log Message:
-----------
[sanitizer_common] Implement interception on AIX (#138606)
Adjust AIX interceptor support in sanitizer_common.
Issue: https://github.com/llvm/llvm-project/issues/138916
Commit: 7a3bcf9f7179e6904d405de36360714da07c31ba
https://github.com/llvm/llvm-project/commit/7a3bcf9f7179e6904d405de36360714da07c31ba
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXTHead.td
Log Message:
-----------
[RISCV] Add missing predicate for PseudoTHVdotVMAQA family instructions
Commit: 7034014d08249a1e159a668a71e96a0b78636a39
https://github.com/llvm/llvm-project/commit/7034014d08249a1e159a668a71e96a0b78636a39
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAndOrXor.cpp
M llvm/test/Transforms/InstCombine/or-bitmask.ll
Log Message:
-----------
[InstCombine] Combine or-disjoint (and->mul), (and->mul) to and->mul (#136013)
The canonical pattern for bitmasked mul is currently
```
%val = and %x, %bitMask // where %bitMask is some constant
%cmp = icmp eq %val, 0
%sel = select %cmp, 0, %C // where %C is some constant = C' * %bitMask
```
In certain cases, where we are combining multiple of these bitmasked
muls with common factors, we are able to optimize into and->mul (see
https://github.com/llvm/llvm-project/pull/135274 )
This optimization lends itself to further optimizations. This PR
addresses one of such optimizations.
In cases where we have
`or-disjoint ( mul(and (X, C1), D) , mul (and (X, C2), D))`
we can combine into
`mul( and (X, (C1 + C2)), D) `
provided C1 and C2 are disjoint.
Generalized proof: https://alive2.llvm.org/ce/z/MQYMui
Commit: c4316180418ce8de4b4c9812c7fac791d55b6102
https://github.com/llvm/llvm-project/commit/c4316180418ce8de4b4c9812c7fac791d55b6102
Author: Shunsuke Watanabe <watanabe.shu-06 at fujitsu.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/range.c
Log Message:
-----------
[Clang][Driver] Override complex number calculation method by -fno-fast-math (#132680)
This patch fixes a bug where -fno-fast-math doesn't revert the complex
number calculation method to the default. The priority of overriding
options related to complex number calculations differs slightly from
GCC, as discussed in:
https://discourse.llvm.org/t/the-priority-of-fno-fast-math-regarding-complex-number-calculations/84679
Commit: 52360d195b85608c677d781272534dfa61e9a1c3
https://github.com/llvm/llvm-project/commit/52360d195b85608c677d781272534dfa61e9a1c3
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/refactor/Rename.cpp
M llvm/lib/Transforms/Instrumentation/DataFlowSanitizer.cpp
M llvm/tools/sancov/sancov.cpp
M llvm/unittests/ADT/DAGDeltaAlgorithmTest.cpp
M llvm/unittests/ADT/DeltaAlgorithmTest.cpp
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
Log Message:
-----------
[NFC] Use `llvm::includes` instead of `std::includes` (#143542)
This PR follows up #143297.
Commit: 082251bba4effea7f60191c6cbddacb3705c07db
https://github.com/llvm/llvm-project/commit/082251bba4effea7f60191c6cbddacb3705c07db
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/README.txt
M compiler-rt/lib/builtins/trampoline_setup.c
M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/test/Fir/boxproc.fir
M llvm/lib/Target/AArch64/AArch64CallingConvention.td
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/TargetParser/Triple.cpp
M llvm/test/CodeGen/AArch64/nest-register.ll
M llvm/test/CodeGen/AArch64/statepoint-call-lowering.ll
M llvm/test/CodeGen/AArch64/trampoline.ll
M llvm/test/CodeGen/AArch64/win64cc-x18.ll
M llvm/test/CodeGen/AArch64/zero-call-used-regs.ll
Log Message:
-----------
[AArch64] fix trampoline implementation: use X15 (#126743)
AAPCS64 reserves any of X9-X15 for a compiler to choose to use for this
purpose, and says not to use X16 or X18 like GCC (and the previous
implementation) chose to use. The X18 register may need to get used by
the kernel in some circumstances, as specified by the platform ABI, so
it is generally an unwise choice. Simply choosing a different register
fixes the problem of this being broken on any platform that actually
follows the platform ABI (which is all of them except EABI, if I am
reading this linux kernel bug correctly
https://lkml2.uits.iu.edu/hypermail/linux/kernel/2001.2/01502.html). As
a side benefit, also generate slightly better code and avoids needing
the compiler-rt to be present. I did that by following the XCore
implementation instead of PPC (although in hindsight, following the
RISCV might have been slightly more readable). That X18 is wrong to use
for this purpose has been known for many years (e.g.
https://www.mail-archive.com/gcc@gcc.gnu.org/msg76934.html) and also
known that fixing this to use one of the correct registers is not an ABI
break, since this only appears inside of a translation unit. Some of the
other temporary registers (e.g. X9) are already reserved inside llvm for
internal use as a generic temporary register in the prologue before
saving registers, while X15 was already used in rare cases as a scratch
register in the prologue as well, so I felt that seemed the most logical
choice to choose here.
Commit: bb3b8306dc226c4dc4dfde36444b43476eea66ee
https://github.com/llvm/llvm-project/commit/bb3b8306dc226c4dc4dfde36444b43476eea66ee
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A clang/test/Modules/module-local-declarations.cppm
Log Message:
-----------
[NFC] [C++20] [Modules] Add a test module local declaration lookup
From
https://github.com/llvm/llvm-project/issues/143734, but it looks good on
trunk. Add it as tests are always good.
Commit: de51b2dd3c6fc995e7db56fc50b4c8dceddc0aab
https://github.com/llvm/llvm-project/commit/de51b2dd3c6fc995e7db56fc50b4c8dceddc0aab
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
A lldb/include/lldb/Host/JSONTransport.h
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/common/JSONTransport.cpp
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/Transport.cpp
M lldb/tools/lldb-dap/Transport.h
M lldb/unittests/DAP/DAPTest.cpp
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TransportTest.cpp
Log Message:
-----------
[lldb] Move Transport class into lldb_private (NFC) (#143806)
Move lldb-dap's Transport class into lldb_private so the code can be
shared between the "JSON with header" protocol used by DAP and the JSON
RPC protocol used by MCP (see [1]).
[1]: https://discourse.llvm.org/t/rfc-adding-mcp-support-to-lldb/86798
Commit: faa49d6662b4c14438cc8e63a3751c22f28d2481
https://github.com/llvm/llvm-project/commit/faa49d6662b4c14438cc8e63a3751c22f28d2481
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/source/Host/BUILD.gn
Log Message:
-----------
[gn build] Port de51b2dd3c6f
Commit: d8118ed6db28a3caaf3fa4a4f8d0d51d33b09c30
https://github.com/llvm/llvm-project/commit/d8118ed6db28a3caaf3fa4a4f8d0d51d33b09c30
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF,test] Improve weak-undef-rw.s
Commit: b46f34452e9dec50eee6ddbe07875f05e421a81c
https://github.com/llvm/llvm-project/commit/b46f34452e9dec50eee6ddbe07875f05e421a81c
Author: Khem Raj <raj.khem at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libunwind/src/UnwindLevel1.c
Log Message:
-----------
libunwind: Do not use __attribute__((target("gcs"))) with non-clang compilers (#138077)
This attribute is unsupported in GCC, so far it worked because before
GCC15 did not define this macros in _CHKFEAT_GCS in arm_acle.h [1]
With gcc15 compiler libunwind's check for this macros is succeeding and
it ends up enabling 'gcs' by using function attribute, this works with
clang but not with gcc.
We can see this in rust compiler bootstrap for aarch64/musl when system
uses gcc15, it ends up with these errors
Building libunwind.a for aarch64-poky-linux-musl
```
cargo:warning=/mnt/b/yoe/master/sources/poky/build/tmp/work/cortexa57-poky-linux-musl/rust/1.85.1/rustc-1.85.1-src/src/llvm-project/libunwind/src/UnwindLevel1.c:191:1: error: arch extension 'gcs' should be prefixed by '+' cargo:warning= 191 | unwind_phase2(unw_context_t *uc, unw_cursor_t *cursor, _Unwind_Exception *exception_object) {
cargo:warning= | ^~~~~~~~~~~~~
cargo:warning=/mnt/b/yoe/master/sources/poky/build/tmp/work/cortexa57-poky-linux-musl/rust/1.85.1/rustc-1.85.1-src/src/llvm-project/libunwind/src/UnwindLevel1.c:337:22: error: arch extension 'gcs' should be prefixed by '+'
cargo:warning= 337 | _Unwind_Stop_Fn stop, void *stop_parameter) {
cargo:warning= | ^~~~~~~~~~~~~~~
```
[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5a6af707f0af
Signed-off-by: Khem Raj <raj.khem at gmail.com>
Commit: a71210e5abdbae80363cb5956a24a2004f625ca6
https://github.com/llvm/llvm-project/commit/a71210e5abdbae80363cb5956a24a2004f625ca6
Author: Kewen12 <Kewen.Meng at amd.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/docs/configure.rst
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
Log Message:
-----------
Revert "[libc] Fix stdio tests after #143802" (#143824)
Reverts llvm/llvm-project#143810
This PR breaks our buildbot:
https://lab.llvm.org/buildbot/#/builders/10/builds/7159 revert to
unblock downstream merge.
Commit: 968d8eaa44c500259fe8d56ad77ec1c71cad35e2
https://github.com/llvm/llvm-project/commit/968d8eaa44c500259fe8d56ad77ec1c71cad35e2
Author: Yang Zaizhou <91008302+Mxfg-incense at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M openmp/runtime/src/include/omp_lib.F90.var
Log Message:
-----------
[OpenMP][Flang]Fix omp_get_cancellation return type from integer to logical (#142990)
Commit: 2fcaa00d1e2317a90c9071b735eb0e758b5dd58b
https://github.com/llvm/llvm-project/commit/2fcaa00d1e2317a90c9071b735eb0e758b5dd58b
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M lld/ELF/Relocations.cpp
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF] -z undefs: handle relocations referencing undefined non-weak like undefined weak
* Merge the special case into isStaticLinkTimeConstant
* Generalize isUndefWeak to isUndefined. undefined non-weak is an error
case. We choose to be general, which also brings us in line with GNU ld.
Commit: 5f231db76482bbdd3e658d8e9797cbd46837d4e1
https://github.com/llvm/llvm-project/commit/5f231db76482bbdd3e658d8e9797cbd46837d4e1
Author: Brandon Wu <songwu0813 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaRISCV.cpp
Log Message:
-----------
[RISCV] Use StringRef for RequiredExtensions in RVVIntrinsicDef (#143503)
This prevents many duplicated copies of required extensions string.
Commit: f09050fdc85074869f0b34f0d9e061a74ef549ee
https://github.com/llvm/llvm-project/commit/f09050fdc85074869f0b34f0d9e061a74ef549ee
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/DeclBase.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/DeclBase.cpp
A clang/test/Modules/module-local-declarations-02.cppm
A clang/test/Modules/pr61360.cppm
Log Message:
-----------
[C++20] [Modules] Fix module local lookup ambiguousity
Close https://github.com/llvm/llvm-project/issues/61360
Close https://github.com/llvm/llvm-project/issues/129525
Close https://github.com/llvm/llvm-project/issues/143734
We shouldn't identify different module local decls in different modules
as the same entity.
Commit: 282e471018d234f78b0990100834532389877519
https://github.com/llvm/llvm-project/commit/282e471018d234f78b0990100834532389877519
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
A flang/test/Fir/local.fir
Log Message:
-----------
[flang] Erase `fir.local` ops before lowering `fir` to `llvm` (#143687)
`fir.local` ops are not supposed to have any uses at this point (i.e.
during lowering to LLVM). In case of serialization, the
`fir.do_concurrent` users are expected to have been lowered to
`fir.do_loop` nests. In case of parallelization, the `fir.do_concurrent`
users are expected to have been lowered to the target parallel model
(e.g. OpenMP).
This hopefully resolved a build issue introduced by
https://github.com/llvm/llvm-project/pull/142567 (see for example:
https://lab.llvm.org/buildbot/#/builders/199/builds/4009).
Commit: c3be4524a56ba01bc1f868fc37e329f24ec5041c
https://github.com/llvm/llvm-project/commit/c3be4524a56ba01bc1f868fc37e329f24ec5041c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
R lld/test/ELF/weak-undef-got-pie.s
A lld/test/ELF/weak-undef-got-plt.s
R lld/test/ELF/weak-undef.s
Log Message:
-----------
[ELF,test] Improve weak-undef-got-plt.s
Commit: a93e55e57ed00a55f822c64e3520c7c732b58480
https://github.com/llvm/llvm-project/commit/a93e55e57ed00a55f822c64e3520c7c732b58480
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
Revert "[libc] Migrate stdio tests to ErrnoCheckingTest." (#143829)
Reverts llvm/llvm-project#143802. Follow-up fix
3c7af175e51c3ab08ac3c442146c2b822f38c01e wasn't robust enough and itself
got reverted.
Commit: 99638537cd19b84252685a3dd56535a4d54d690e
https://github.com/llvm/llvm-project/commit/99638537cd19b84252685a3dd56535a4d54d690e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix a warning
This patch fixes:
llvm/lib/Target/AArch64/AArch64ISelLowering.cpp:7157:3: error:
unannotated fall-through between switch labels
[-Werror,-Wimplicit-fallthrough]
Commit: 02550da932913bd7c3987c68abc9060c9e5bde2c
https://github.com/llvm/llvm-project/commit/02550da932913bd7c3987c68abc9060c9e5bde2c
Author: Fazlay Rabbi <106703039+mdfazlay at users.noreply.github.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/AST/AttrImpl.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/test/OpenMP/declare_variant_clauses_ast_print.cpp
M clang/test/OpenMP/declare_variant_clauses_messages.cpp
Log Message:
-----------
[OpenMP 60] Initial parsing/sema for `need_device_addr` modifier on `adjust_args` clause (#143442)
Adds initial parsing and semantic analysis for `need_device_addr`
modifier on `adjust_args` clause.
Commit: 28bda778437fea17a25b561f1b3b84545612b565
https://github.com/llvm/llvm-project/commit/28bda778437fea17a25b561f1b3b84545612b565
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M clang/test/CodeGen/alias.c
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCAsmInfo.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/test/CodeGen/AArch64/arm64ec-alias.ll
M llvm/test/CodeGen/AArch64/arm64ec-hybrid-patchable.ll
M llvm/test/CodeGen/AArch64/arm64ec-symbols.ll
M llvm/test/CodeGen/AArch64/arm64ec-varargs.ll
M llvm/test/CodeGen/AArch64/ehcontguard.ll
M llvm/test/CodeGen/AArch64/global-merge-1.ll
M llvm/test/CodeGen/AArch64/global-merge-2.ll
M llvm/test/CodeGen/AArch64/global-merge-3.ll
M llvm/test/CodeGen/AArch64/global-merge-hidden-minsize.ll
M llvm/test/CodeGen/AArch64/ifunc-asm.ll
M llvm/test/CodeGen/AArch64/seh-finally.ll
M llvm/test/CodeGen/AArch64/stackguard-internal.ll
M llvm/test/CodeGen/ARM/alias_store.ll
M llvm/test/CodeGen/ARM/aliases.ll
M llvm/test/CodeGen/ARM/global-merge-dllexport.ll
M llvm/test/CodeGen/ARM/global-merge-external-2.ll
M llvm/test/CodeGen/ARM/global-merge-external.ll
M llvm/test/CodeGen/AVR/global-aliases.ll
M llvm/test/CodeGen/Mips/hf16call32_body.ll
M llvm/test/CodeGen/Mips/mips16ex.ll
M llvm/test/CodeGen/PowerPC/asm-printer-topological-order.ll
M llvm/test/CodeGen/PowerPC/data-align.ll
M llvm/test/CodeGen/WebAssembly/aliases.ll
M llvm/test/CodeGen/WinCFGuard/cfguard-mingw.ll
M llvm/test/CodeGen/WinCFGuard/cfguard.ll
M llvm/test/CodeGen/X86/2007-09-06-ExtWeakAliasee.ll
M llvm/test/CodeGen/X86/2009-08-12-badswitch.ll
M llvm/test/CodeGen/X86/2010-05-26-DotDebugLoc.ll
M llvm/test/CodeGen/X86/alias-gep.ll
M llvm/test/CodeGen/X86/aliases.ll
M llvm/test/CodeGen/X86/catchret-empty-fallthrough.ll
M llvm/test/CodeGen/X86/coff-alias-type.ll
M llvm/test/CodeGen/X86/coff-comdat.ll
M llvm/test/CodeGen/X86/coff-feat00.ll
M llvm/test/CodeGen/X86/dllexport-x86_64.ll
M llvm/test/CodeGen/X86/dllexport.ll
M llvm/test/CodeGen/X86/ehcontguard.ll
M llvm/test/CodeGen/X86/fastcall-correct-mangling.ll
M llvm/test/CodeGen/X86/ifunc-asm.ll
M llvm/test/CodeGen/X86/lea-opt-memop-check-1.ll
M llvm/test/CodeGen/X86/linux-preemption.ll
M llvm/test/CodeGen/X86/localescape.ll
M llvm/test/CodeGen/X86/pr22019.ll
M llvm/test/CodeGen/X86/seh-catch-all-win32.ll
M llvm/test/CodeGen/X86/seh-catchpad.ll
M llvm/test/CodeGen/X86/seh-finally.ll
M llvm/test/CodeGen/X86/seh-no-invokes.ll
M llvm/test/CodeGen/X86/seh-stack-realign.ll
M llvm/test/CodeGen/X86/tailcall-cgp-dup.ll
M llvm/test/CodeGen/X86/windows-seh-EHa-TryInFinally.ll
M llvm/test/CodeGen/XCore/globals.ll
M llvm/test/CodeGen/XCore/linkage.ll
M llvm/test/DebugInfo/X86/dbg-value-range.ll
M llvm/test/DebugInfo/X86/stmt-list-multiple-compile-units.ll
M llvm/test/MC/AArch64/basic-a64-instructions.s
M llvm/test/MC/AsmParser/assignment.s
M llvm/test/MC/AsmParser/directive_include.s
M llvm/test/MC/AsmParser/directive_set.s
M llvm/test/MC/AsmParser/include.ll
M llvm/test/MC/AsmParser/labels.s
M llvm/test/MC/AsmParser/macro-arg-darwin.s
M llvm/test/MC/AsmParser/motorola_integers.s
M llvm/test/MC/Mips/cpsetup.s
Log Message:
-----------
Introduce MCAsmInfo::UsesSetToEquateSymbol and prefer = to .set
Introduce MCAsmInfo::UsesSetToEquateSymbol to control the preferred
syntax for symbol equating. We now favor the more readable and common
`symbol = expression` syntax over `.set`. This aligns with pre- https://reviews.llvm.org/D44256 behavior.
On Apple platforms, this resolves a clang -S vs -c behavior difference (resolves #104623).
For targets whose = support is unconfirmed, UsesSetToEquateSymbol is set to false.
This also minimizes test updates.
Pull Request: https://github.com/llvm/llvm-project/pull/142289
Commit: 95bbaca6c1dcabb03bd67aabe3aaa4730a11200d
https://github.com/llvm/llvm-project/commit/95bbaca6c1dcabb03bd67aabe3aaa4730a11200d
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/test/CodeGen/AArch64/xar.ll
Log Message:
-----------
[AArch64] Extend usage of `XAR` instruction for fixed-length operations (#139460)
Commit: 2efff47363f18966cd37461323b5db5418183534
https://github.com/llvm/llvm-project/commit/2efff47363f18966cd37461323b5db5418183534
Author: Thurston Dang <thurston at google.com>
Date: 2025-06-11 (Wed, 11 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
A llvm/test/Instrumentation/MemorySanitizer/partial-poison.ll
Log Message:
-----------
[NFCI][msan] Show that shadow for partially undefined constant vectors is computed as fully initialized (#143823)
This happens because `getShadow(Value *V)` has a special case for fully undefined/poisoned values, but partially undefined values fall-through and are given a clean shadow. This leads to false negatives (no false positives).
Note: MSan correctly handles InsertElementInst, but the shadow of the initial constant vector may still be wrong and be propagated.
Showing that the same approximation happens for other composite types is left as an exercise for the reader.
Commit: bec85f3b187f57713e01191381c88134e122bd35
https://github.com/llvm/llvm-project/commit/bec85f3b187f57713e01191381c88134e122bd35
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A lld/test/COFF/lto-late-arm.ll
Log Message:
-----------
[LLD] [COFF] [test] Readd lto-late-arm.ll (#143494)
This testcase was removed in 4cafd28b7dd92080103d11cccc78d9a2f01e1242,
as a082f665f85b1002ab22af263eeafceca5288657 had made it no longer
trigger the error that it was supposed to do. (Because the latter of
those two commits makes the symbol "__rt_sdiv" be included among the
potential libcalls listed by lto::LTO::getRuntimeLibcallSymbols().)
Readd the test as a positive test, making sure that such libcalls can
get linked.
We do have preexisting test coverage for LTO libcalls overall in
libcall-archive.ll, but readd this test to cover specifically the ARM
division helper functions as well.
Commit: 9d491bc602c2d9730cb42fe25f0753471a3af389
https://github.com/llvm/llvm-project/commit/9d491bc602c2d9730cb42fe25f0753471a3af389
Author: David Green <david.green at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Combine.td
M llvm/test/CodeGen/AArch64/vec-combine-compare-to-bitmask.ll
Log Message:
-----------
[AArch64][GlobalISel] Enable extract_vec_elt_combines postlegalization.
Commit: 3f0cf742ac4eb3437450f8f263081ea951248851
https://github.com/llvm/llvm-project/commit/3f0cf742ac4eb3437450f8f263081ea951248851
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Serialization/ASTWriterDecl.cpp
A clang/test/Modules/pr119947.cppm
Log Message:
-----------
[C++20] [Modules] [Reduced BMI] Don't write specializations with local args
Close https://github.com/llvm/llvm-project/issues/119947
As discussed in the above thread, we shouldn't write specializations
with local args in reduced BMI. Since users can't find such
specializations any way.
Commit: 6157028fea93ff14af18b173dd01eb431cfb6aef
https://github.com/llvm/llvm-project/commit/6157028fea93ff14af18b173dd01eb431cfb6aef
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/ValueTracking.h
M llvm/test/Analysis/BasicAA/gep-decomposition-limit.ll
M llvm/test/Analysis/LoopAccessAnalysis/underlying-objects-2.ll
M llvm/test/Transforms/Inline/inline-noalias-unidentify-object.ll
Log Message:
-----------
[BasicAA][ValueTracking] Increase depth for underlying object search (#143714)
This depth limits a linear search (rather than the usual potentially
exponential one) and is not particularly important for compile-time in
practice.
The change in #137297 is going to increase the length of GEP chains, so
I'd like to increase this limit a bit to reduce the chance of
regressions (https://github.com/dtcxzyw/llvm-opt-benchmark/pull/2419
showed a 13% increase in SearchLimitReached). There is no particular
significance to the new value of 10.
Compile-time is neutral.
Commit: 77062244ed56be61aecda28d6fede3432545f741
https://github.com/llvm/llvm-project/commit/77062244ed56be61aecda28d6fede3432545f741
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
M llvm/lib/Target/AMDGPU/GCNSchedStrategy.cpp
Log Message:
-----------
Fix two instances of -Wparentheses warnings [NFC]
Add parentheses around the assert conditions.
Without this gcc warned like
../lib/Target/AMDGPU/GCNSchedStrategy.cpp:2250: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
2250 | NewMI != RegionBounds.second && "cannot remove at region end");
and
../../clang/lib/Sema/SemaOverload.cpp:11326:39: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
11326 | DeferredCandidatesCount == 0 &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
11327 | "Unexpected deferred template candidates");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: 2d35b568ef949717e35df664d4d9352eddbffbfd
https://github.com/llvm/llvm-project/commit/2d35b568ef949717e35df664d4d9352eddbffbfd
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/bsf.ll
Log Message:
-----------
[X86] bsf.ll - add icmp_ne coverage to bsf passthrough tests
Commit: 6e5a1423b752c66273bfcff35aaa8083075788a8
https://github.com/llvm/llvm-project/commit/6e5a1423b752c66273bfcff35aaa8083075788a8
Author: Ian Wood <ianwood2024 at u.northwestern.edu>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/test/Dialect/Linalg/simplify-pack-unpack.mlir
M mlir/test/Dialect/Tensor/canonicalize.mlir
M mlir/unittests/Dialect/Utils/CMakeLists.txt
A mlir/unittests/Dialect/Utils/ReshapeOpsUtilsTest.cpp
Log Message:
-----------
[mlir] Reapply "Loosen restrictions on folding dynamic reshapes" (#142827)
The original PR https://github.com/llvm/llvm-project/pull/137963 had a
nvidia bot failure. This appears to be a flaky test because rerunning
the build was successful.
This change needs commit 6f2ba47 to fix incorrect usage of
`getReassociationIndicesForCollapse`.
Reverts llvm/llvm-project#142639
Co-authored-by: Artem Gindinson <gindinson at roofline.ai>
Commit: edaac11df3f82268e8ca34bf34b3e9d115b7d475
https://github.com/llvm/llvm-project/commit/edaac11df3f82268e8ca34bf34b3e9d115b7d475
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/combine-mask-with-shuffle.ll
M llvm/test/CodeGen/X86/pr132844.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-8.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-6.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-7.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i8-stride-8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx512f.ll
Log Message:
-----------
[X86] combineSelect - attempt to combine with shuffles (#143753)
Before legalization we will convert to a vector_shuffle node - but afterward we can try to combine the select into an existing target shuffle chain
Commit: 4079ed3c9e72d64746c5d3f05fc585d844c1e8a7
https://github.com/llvm/llvm-project/commit/4079ed3c9e72d64746c5d3f05fc585d844c1e8a7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Move setting of more runtime libcalls to RuntimeLibcallInfo (#143826)
These are the easy cases that do not really depend on the subtarget,
other than for the deceptive predicates on the subtarget class. Most
of the rest of the cases here also do not, but this is obscured by
going through helper predicates added onto the subtarget which hide
dependence on TargetOptions.
Commit: 5434b85d2c7a83d9cebae06dad2f9d630e9a3927
https://github.com/llvm/llvm-project/commit/5434b85d2c7a83d9cebae06dad2f9d630e9a3927
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
ARM: Remove fake entries for divrem libcalls (#143832)
This was defining aliases of the i32 divrem functions for the i8
and i16 cases. This is unnecessary and was unused. The divrem
candidate cases wouldn't have formed with illegal types in the
first place, so codegen wouldn't even query these.
Commit: ce621041c2f162c50d630810491c2feee8eb6c64
https://github.com/llvm/llvm-project/commit/ce621041c2f162c50d630810491c2feee8eb6c64
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/TargetParser/RISCVTargetParser.h
M llvm/lib/TargetParser/Host.cpp
M llvm/lib/TargetParser/RISCVTargetParser.cpp
Log Message:
-----------
[RISCV] Get host CPU name via hwprobe (#142745)
We can get the `mvendorid/marchid/mimpid` via hwprobe and then we
can compare these IDs with those defined in processors to find the
CPU name.
With this change, `-mcpu/-mtune=native` can set the proper name.
Commit: 4551e5035565606eb04253a35f31d51685657436
https://github.com/llvm/llvm-project/commit/4551e5035565606eb04253a35f31d51685657436
Author: kadir çetinkaya <kadircet at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Diagnostic.h
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
Log Message:
-----------
[clang] Reset FileID based diag state mappings (#143695)
When sharing same compiler instance for multiple compilations, we reset
source manager's file id tables in between runs. Diagnostics engine
keeps a cache based on these file ids, that became dangling references
across compilations.
This patch makes sure we reset those whenever sourcemanager is trashing
its FileIDs.
Commit: db8d34db26e9ea92c08d6e813eca9cce40c48478
https://github.com/llvm/llvm-project/commit/db8d34db26e9ea92c08d6e813eca9cce40c48478
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Set branch weight metadata on middle term in VPlan (NFC) (#143035)
Manage branch weights for the BranchOnCond in the middle block in VPlan.
This requires updating VPInstruction to inherit from VPIRMetadata, which
in general makes sense as there are a number of opcodes that could take
metadata.
There are other branches (part of the skeleton) that also need branch
weights adding.
PR: https://github.com/llvm/llvm-project/pull/143035
Commit: 2a27c059eccd96b6e46464dbdf69fd2f6237a56c
https://github.com/llvm/llvm-project/commit/2a27c059eccd96b6e46464dbdf69fd2f6237a56c
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/bsr.ll
M llvm/test/CodeGen/X86/pr40090.ll
Log Message:
-----------
[X86] Use BSR passthrough behaviour to fold (CMOV (BSR ?, X), Y, (X == 0)) -> (BSR Y, X) (#143662)
Make use of targets that support BSR "pass through behaviour" on a zero input to remove a CMOV thats performing the same function
BSF will be a trickier patch as we need to make sure it works with the "REP BSF" hack in X86MCInstLower
Commit: 1d1f9afe911c360b9505b5fd2c712cb112c8aa5f
https://github.com/llvm/llvm-project/commit/1d1f9afe911c360b9505b5fd2c712cb112c8aa5f
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
A clang/test/Modules/pr143788.cppm
Log Message:
-----------
[C++20] [Modules] Treat directly imported internal partition unit as reachable
Close https://github.com/llvm/llvm-project/issues/143788
See the discussion for details.
Commit: 8e4fdff6f02161d878a63900abb35aaa32ff85e9
https://github.com/llvm/llvm-project/commit/8e4fdff6f02161d878a63900abb35aaa32ff85e9
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/tailcc-ssp.ll
Log Message:
-----------
[X86] Update tailcc-ssp.ll assertions using update_llc_test_checks.py (#143500)
The assertions in llvm/test/CodeGen/X86/tailcc-ssp.ll were outdated. The
initial comment indicated they were generated with
`utils/update_llc_test_checks.py UTC_ARGS: --version 5`, but this was
not accurate based on the file's content.
Running `utils/update_llc_test_checks.py` regenerated the assertions,
aligning them with the current `llc` output.
This commit ensures that the test's claimed behavior accurately reflects
the actual `llc` output, even though the tests were already passing.
This was identified by @efriedma-quic during review of #136290.
Submitting a separate PR to make sure these changes stay isolated.
Commit: 3e5d50f9c61bb266ab17919ab5209c7b08520aff
https://github.com/llvm/llvm-project/commit/3e5d50f9c61bb266ab17919ab5209c7b08520aff
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/include/llvm/IR/NVVMIntrinsicUtils.h
M llvm/lib/IR/AutoUpgrade.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.h
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/Assembler/auto_upgrade_nvvm_intrinsics.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-1cta.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-2cta.ll
A llvm/test/CodeGen/NVPTX/cp-async-bulk-tensor-g2s-invalid.ll
Log Message:
-----------
[NVPTX] Add cta_group support to TMA G2S intrinsics (#143178)
This patch extends the TMA G2S intrinsics with the
support for cta_group::1/2 available from Blackwell onwards.
The existing intrinsics are auto-upgraded with a default
value of '0' for the `cta_group` flag operand.
* lit tests are added for all combinations of the newer variants.
* Negative tests are added to validate the error-handling
when the value of the cta_group flag falls out-of-range.
* The generated PTX is verified with a 12.8 ptxas executable.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: a8c6fb4cb8e686f733e022afc549bc085d1558f4
https://github.com/llvm/llvm-project/commit/a8c6fb4cb8e686f733e022afc549bc085d1558f4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/Analysis/ScopedNoAliasAA/alias-scope-merging.ll
M llvm/test/Transforms/MemCpyOpt/callslot_badaa.ll
Log Message:
-----------
[MemCpyOpt] Fix lifetime marker sizes in tests (NFC)
As pointed out in https://github.com/llvm/llvm-project/pull/143782,
these tests were specifying the size in bits instead of bytes.
In order to preserve the intent of the tests, add a use of %src,
which prevents stack-move optimization. These are supposed to test
the handling of scoped alias metadata in call slot optimization.
Commit: 5987f1ee5cc59a05961156c04010ab0f3c857628
https://github.com/llvm/llvm-project/commit/5987f1ee5cc59a05961156c04010ab0f3c857628
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/Transforms/InstCombine/narrow-switch.ll
Log Message:
-----------
[InstCombine] Regenerate `narrow-switch.ll` test (NFC)
`narrow-switch.ll` test has been regenerated via latest UTC using
`--prefix-filecheck-ir-name _`, so as to avoid conflicts with
scripted variable names.
Commit: 7ef77eb9984d1fb537a409cf4be89560fbb681fe
https://github.com/llvm/llvm-project/commit/7ef77eb9984d1fb537a409cf4be89560fbb681fe
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/VectorUtils.h
M llvm/lib/Analysis/VectorUtils.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
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/RISCV/interleaved-accesses.ll
Log Message:
-----------
[LV] Support scalable interleave groups for factors 3,5,6 and 7 (#141865)
Currently the loop vectorizer can only vectorize interleave groups for
power-of-2 factors at scalable VFs by recursively interleaving
[de]interleave2 intrinsics.
However after https://github.com/llvm/llvm-project/pull/124825 and
#139893, we now have [de]interleave intrinsics for all factors up to 8,
which is enough to support all types of segmented loads and stores on
RISC-V.
Now that the interleaved access pass has been taught to lower these in
#139373 and #141512, this patch teaches the loop vectorizer to emit
these intrinsics for factors up to 8, which enables scalable
vectorization for non-power-of-2 factors.
As far as I'm aware, no in-tree target will vectorize a scalable
interelave group above factor 8 because the maximum interleave factor is
capped at 4 on AArch64 and 8 on RISC-V, and the
`-max-interleave-group-factor` CLI option defaults to 8, so the
recursive [de]interleaving code has been removed for now.
Factors of 3 with scalable VFs are also turned off in AArch64 since
there's no lowering for [de]interleave3 just yet either.
Commit: 702b9033c115500a934a6c49c325c112b30fe47f
https://github.com/llvm/llvm-project/commit/702b9033c115500a934a6c49c325c112b30fe47f
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-vector-deinterleave.ll
M llvm/test/CodeGen/AArch64/sve-vector-interleave.ll
Log Message:
-----------
[LLVM][CodeGen][AArch64] Lower vector-(de)interleave to multi-register uzp/zip instructions. (#143128)
Commit: d517f15e09e49e172387cb6deb76e4ee2d45d0e4
https://github.com/llvm/llvm-project/commit/d517f15e09e49e172387cb6deb76e4ee2d45d0e4
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/Transforms/LICM/call-hoisting.ll
Log Message:
-----------
[LICM] Regenerate test checks (NFC)
Commit: 971c49fbf361c22ccf20913f61a58c28b26c4e27
https://github.com/llvm/llvm-project/commit/971c49fbf361c22ccf20913f61a58c28b26c4e27
Author: SahilPatidar <patidarsahil2001 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/fneg.ll
M llvm/test/Transforms/InstCombine/fsub.ll
Log Message:
-----------
[InstCombine] Ensure Safe Handling of Flags in foldFNegIntoConstant (#94148)
Fix #93769
alive2: https://alive2.llvm.org/ce/z/MHShQY
Commit: 20d5d09e99188dfc7df6e4e4f1c37512e0ab318e
https://github.com/llvm/llvm-project/commit/20d5d09e99188dfc7df6e4e4f1c37512e0ab318e
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M compiler-rt/test/lit.common.configured.in
Log Message:
-----------
[compiler-rt] remove unused default in compiler-rt lit tests (#143738)
In https://github.com/llvm/llvm-project/pull/143183 was mistakenly added
a default value to `python_root_dir` in lit tests of compiler-rt.
This is unused by the lit tests of compiler-rt, as it was meant to be
used by `lldb`.
This patch removes this change.
Commit: fe28ea37b640ea4842583df3b89e08877220fb8e
https://github.com/llvm/llvm-project/commit/fe28ea37b640ea4842583df3b89e08877220fb8e
Author: hev <wangrui at loongson.cn>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/LoongArchISelLowering.cpp
M llvm/lib/Target/LoongArch/LoongArchISelLowering.h
M llvm/test/CodeGen/LoongArch/lasx/xvmskcond.ll
M llvm/test/CodeGen/LoongArch/lsx/vmskcond.ll
Log Message:
-----------
[LoongArch] Add demanded bits support for [X]VMSKLTZ (#143528)
This patch adds a DAG combine hook for the [X]VMSKLTZ nodes to simplify
their input when possible. It also implements target-specific logic in
SimplifyDemandedBitsForTargetNode to optimize away unnecessary
computations when only a subset of the sign bits in the vector results
is actually used.
Commit: 97ac6483aaead89897d9bda8a12f1f4c11fad621
https://github.com/llvm/llvm-project/commit/97ac6483aaead89897d9bda8a12f1f4c11fad621
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/BasicBlock.h
M llvm/include/llvm/IR/Function.h
M llvm/include/llvm/IR/Module.h
M llvm/lib/AsmParser/LLParser.cpp
M llvm/lib/Bitcode/Reader/BitcodeReader.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/Core.cpp
M llvm/lib/IR/Function.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/IR/Module.cpp
M llvm/lib/IR/Verifier.cpp
M llvm/lib/LTO/LTO.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Target/AMDGPU/AMDGPULowerBufferFatPointers.cpp
M llvm/lib/Target/AMDGPU/AMDGPUPreloadKernelArguments.cpp
M llvm/lib/Target/AMDGPU/AMDGPURewriteOutArguments.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAddMissingPrototypes.cpp
M llvm/lib/Transforms/IPO/ArgumentPromotion.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/DeadArgumentElimination.cpp
M llvm/lib/Transforms/IPO/ExpandVariadics.cpp
M llvm/lib/Transforms/IPO/MergeFunctions.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/CloneFunction.cpp
M llvm/lib/Transforms/Utils/CloneModule.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/tools/llvm-as/llvm-as.cpp
M llvm/tools/llvm-dis/llvm-dis.cpp
M llvm/tools/llvm-link/llvm-link.cpp
M llvm/unittests/IR/IRBuilderTest.cpp
M mlir/lib/Target/LLVMIR/ConvertFromLLVMIR.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Delete debug-info-format flag (#143746)
This flag was used to let us incrementally introduce debug records
into LLVM, however everything is now using records. It serves no
purpose now, so delete it.
Commit: 013034cd0f5ae19ef02fc35a83362874e727f13c
https://github.com/llvm/llvm-project/commit/013034cd0f5ae19ef02fc35a83362874e727f13c
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/CloneFunction.cpp
Log Message:
-----------
Follow-up to 97ac6483aae, squelch an unused lambda capture warning
NewBB here was being captured for some code that was deleted in
97ac6483aae, and that leads to some warnings on some compilers.
Commit: d698ede748e66f5519cb8481abc2df89a994a059
https://github.com/llvm/llvm-project/commit/d698ede748e66f5519cb8481abc2df89a994a059
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMX/Transforms.h
M mlir/include/mlir/InitAllExtensions.h
M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
M mlir/test/Target/LLVMIR/amx.mlir
Log Message:
-----------
[mlir][amx] Restore conversion interface for AMX (#143871)
Restores mistakenly removed AMX interface which ensures that the custom
tile type is converted to its LLVM equivalent within other operations
such as control flow.
Fix after #140559
Commit: 0604dc199c019b23746f4a54885ba0c75569cdae
https://github.com/llvm/llvm-project/commit/0604dc199c019b23746f4a54885ba0c75569cdae
Author: Hans Wennborg <hans at chromium.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
Revert "[VPlan] Set branch weight metadata on middle term in VPlan (NFC) (#143035)"
This caused assertion failures:
llvm/lib/Transforms/Vectorize/VPlan.h:4021:
llvm::VPBasicBlock* llvm::VPlan::getMiddleBlock():
Assertion `LoopRegion && "cannot call the function after vector loop region has been removed"' failed.
See comment on the PR.
> Manage branch weights for the BranchOnCond in the middle block in VPlan.
> This requires updating VPInstruction to inherit from VPIRMetadata, which
> in general makes sense as there are a number of opcodes that could take
> metadata.
>
> There are other branches (part of the skeleton) that also need branch
> weights adding.
>
> PR: https://github.com/llvm/llvm-project/pull/143035
This reverts commit db8d34db26e9ea92c08d6e813eca9cce40c48478.
Commit: 9f542f14701cdf70023790b206273ae8174e913a
https://github.com/llvm/llvm-project/commit/9f542f14701cdf70023790b206273ae8174e913a
Author: Ryan Buchner <92571492+bababuck at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/CodeGen/RISCV/zicond-opts.ll
Log Message:
-----------
[RISCV] Add new tests for RISCV zicond extension (#143580)
I have a few patches to improve compilation for these tests which I will
be posting as separate MRs.
Commit: 2ecbfc0beb42abbbd2c3d28bfd576b38c44a5b46
https://github.com/llvm/llvm-project/commit/2ecbfc0beb42abbbd2c3d28bfd576b38c44a5b46
Author: Ami-zhang <zhanglimin at loongson.cn>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/test/Preprocessor/init-loongarch.c
Log Message:
-----------
[LoongArch] Fix '-mno-lsx' option not disabling LASX feature (#143821)
When '-march' with LASX feature and '-mno-lsx' options are used
together, '-mno-lsx' fails to disable LASX, leaving
'HasFeatureLASX=true' and causing incorrect '__loongarch_sx/asx=1' macro
definition.
Fixes https://github.com/loongson-community/discussions/issues/95
Commit: bc7fafbeea08bf8cd9a18fa10d3d3bc63f0c45a3
https://github.com/llvm/llvm-project/commit/bc7fafbeea08bf8cd9a18fa10d3d3bc63f0c45a3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/AliasAnalysis.h
M llvm/include/llvm/Analysis/CaptureTracking.h
M llvm/lib/Analysis/BasicAliasAnalysis.cpp
M llvm/lib/Analysis/CaptureTracking.cpp
M llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
M llvm/test/Analysis/BasicAA/captures.ll
M llvm/test/Transforms/GVN/captures.ll
Log Message:
-----------
[AA] Take read-only provenance captures into account (#143097)
Update the AA CaptureAnalysis providers to return CaptureComponents, so
we can distinguish between full provenance and read-only provenance
captures.
Use this to restrict "other" memory effects on call from ModRef to Ref.
Ideally we would also apply the same reasoning for escape sources, but
the current API cannot actually convey the necessary information (we can
only say NoAlias or MayAlias, not MayAlias but only via Ref).
Commit: 3550662c040024597485d1bfac0d733340514ae1
https://github.com/llvm/llvm-project/commit/3550662c040024597485d1bfac0d733340514ae1
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Avoid using getTargetLowering in TargetLowering (#143833)
This is this.
Commit: 633375a29f52504b0b23a30bb767de521dd3e2a8
https://github.com/llvm/llvm-project/commit/633375a29f52504b0b23a30bb767de521dd3e2a8
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/DWARFLinker/Parallel/OutputSections.h
Log Message:
-----------
[llvm][DWARFLinker] Fix gcc 13 -Wuninitialized warnings (#143867)
A bit awkward that we have to switch from public to protected and back
again, but it seemed neater than putting OS all the way down at the
bottom. Since it is a public member that you're more likely to be
looking for.
llvm-project/llvm/lib/DWARFLinker/Parallel/OutputSections.h:157:67:
warning: member
‘llvm::dwarf_linker::parallel::SectionDescriptor::Contents’ is used
uninitialized [-Wuninitialized]
Which refers to the use in the constructor:
```
SectionDescriptor(DebugSectionKind SectionKind, LinkingGlobalData &GlobalData,
dwarf::FormParams Format, llvm::endianness Endianess)
: SectionDescriptorBase(SectionKind, Format, Endianess), OS(Contents),
```
Where Contents is passed to `OS`, before Contents has been constructed.
Commit: aac603c47800bf2e167b53ddfd3bb10be292bc53
https://github.com/llvm/llvm-project/commit/aac603c47800bf2e167b53ddfd3bb10be292bc53
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
ARM: Avoid repeating hardcoded windows division libcall names (#143834)
This is properly set in the runtime libcall info, so query
the name.
Commit: b9793118423f928b8dcda933aa581f3904ae2b68
https://github.com/llvm/llvm-project/commit/b9793118423f928b8dcda933aa581f3904ae2b68
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__functional/function.h
Log Message:
-----------
[libc++] Remove allocator support from std::function (#140395)
The allocator support was removed in P0302R1, since it was impossible to
implement. We're currently providing the API for this, but ignore the
allocator in all cases but one (which is almost certainly an oversight).
That case is the `function(allocator_arg_t, const Alloc&, Func)`
constuctor. IMO we should remove the API entirely at a later date, but
this only removes most of the code for now, leaving only the public
functions. This not only simplifies the code quite a bit, but also
results in the constructor being instantiated ~8x faster.
Fixes #133901
Commit: 5aed4800f33a72c778f3b49f6389fff099ff4ff6
https://github.com/llvm/llvm-project/commit/5aed4800f33a72c778f3b49f6389fff099ff4ff6
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/GISelValueTracking.cpp
M llvm/unittests/CodeGen/GlobalISel/KnownFPClassTest.cpp
Log Message:
-----------
[GISel] KnownFPClass ValueTracking fix handling of vectors (#143372)
Commit: 41c8df147b83026db8612ad2ca07fc0f007e3448
https://github.com/llvm/llvm-project/commit/41c8df147b83026db8612ad2ca07fc0f007e3448
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Convert foldMaskedMerge to SDPatternMatch to match (m & x) | (~m & y) (#143855)
This PR resolves https://github.com/llvm/llvm-project/issues/143363
Remove foldMaskedMergeImpl entirely to use SDPatternMatch
Commit: 36ac72f4e3e4752f85c16363d630f4cfbd682e48
https://github.com/llvm/llvm-project/commit/36ac72f4e3e4752f85c16363d630f4cfbd682e48
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp
Log Message:
-----------
[llvm][MemProf] Fix unused variable warning in release build
g++-13 warned that:
llvm/lib/Transforms/IPO/MemProfContextDisambiguation.cpp:1645:8: warning: variable ‘PrevIterCreatedNode’ set but not used [-Wunused-but-set-variable]
1645 | bool PrevIterCreatedNode = false;
| ^~~~~~~~~~~~~~~~~~~
When asserts were not enabled.
Commit: a08a831515919bcc384b453799f33bc97860c73b
https://github.com/llvm/llvm-project/commit/a08a831515919bcc384b453799f33bc97860c73b
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/include/llvm/IR/DebugInfoMetadata.h
M llvm/include/llvm/IR/DebugLoc.h
M llvm/include/llvm/IR/IRBuilder.h
M llvm/include/llvm/IR/Instruction.h
M llvm/lib/CodeGen/BranchFolding.cpp
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/CodeGen/MachineSink.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/IR/Instruction.cpp
M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
[DLCov][NFC] Propagate annotated DebugLocs through transformations (#138047)
Part of the coverage-tracking feature, following #107279.
In order for DebugLoc coverage testing to work, we firstly have to set
annotations for intentionally-empty DebugLocs, and secondly we have to
ensure that we do not drop these annotations as we propagate DebugLocs
throughout compilation. As the annotations exist as part of the DebugLoc
class, and not the underlying DILocation, they will not survive a
DebugLoc->DILocation->DebugLoc roundtrip. Therefore this patch modifies
a number of places in the compiler to propagate DebugLocs directly
rather than via the underlying DILocation. This has no effect on the
output of normal builds; it only ensures that during coverage builds, we
do not drop incorrectly annotations and therefore create false
positives.
The bulk of these changes are in replacing
DILocation::getMergedLocation(s) with a DebugLoc equivalent, and in
changing the IRBuilder to store a DebugLoc directly rather than storing
DILocations in its general Metadata array. We also use a new function,
`DebugLoc::orElse`, which selects the "best" DebugLoc out of a pair
(valid location > annotated > empty), preferring the current DebugLoc on
a tie - this encapsulates the existing behaviour at a few sites where we
_may_ assign a DebugLoc to an existing instruction, while extending the
logic to handle annotation DebugLocs at the same time.
Commit: ce747a16328b2fbc365e1cb1cb01cb400c2c1b4c
https://github.com/llvm/llvm-project/commit/ce747a16328b2fbc365e1cb1cb01cb400c2c1b4c
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/single-scalar-cast-minbw.ll
Log Message:
-----------
[LV] Pre-commit test case for support VPWidenCastRecipe in isSingleScalar. nfc (#143498)
Commit: d49bc5e621c8931679b232fa28abfc89a171105e
https://github.com/llvm/llvm-project/commit/d49bc5e621c8931679b232fa28abfc89a171105e
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/ProfileData/MemProfRadixTree.cpp
Log Message:
-----------
[llvm][MemProf] Correct position of LLVM_ABI macro in computeFrameHistogram
The previous placement resulted in this warning when using g++-13:
/home/david.spickett/llvm-project/llvm/include/llvm/Support/Compiler.h:120:43: warning: attribute ignored [-Wattributes]
120 | #define LLVM_ATTRIBUTE_VISIBILITY_DEFAULT [[gnu::visibility("default")]]
| ^
/home/david.spickett/llvm-project/llvm/include/llvm/Support/Compiler.h:213:18: note: in expansion of macro ‘LLVM_ATTRIBUTE_VISIBILITY_DEFAULT’
213 | #define LLVM_ABI LLVM_ATTRIBUTE_VISIBILITY_DEFAULT
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/david.spickett/llvm-project/llvm/lib/ProfileData/MemProfRadixTree.cpp:245:5: note: in expansion of macro ‘LLVM_ABI’
245 | LLVM_ABI computeFrameHistogram<FrameId>(
| ^~~~~~~~
/home/david.spickett/llvm-project/llvm/include/llvm/Support/Compiler.h:120:43: note: an attribute that appertains to a type-specifier is ignored
120 | #define LLVM_ATTRIBUTE_VISIBILITY_DEFAULT [[gnu::visibility("default")]]
| ^
According to the interface guide, that macro should go before the return
type to be effective.
https://llvm.org/docs/InterfaceExportAnnotations.html#specialized-template-functions
Commit: 843f256623a68f51a80ae503c08b98433eeda04d
https://github.com/llvm/llvm-project/commit/843f256623a68f51a80ae503c08b98433eeda04d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/compiler-rt/test/BUILD.gn
Log Message:
-----------
[gn] port 20d5d09e99188
Commit: 622df892b844749440124167e8eee9e652fba613
https://github.com/llvm/llvm-project/commit/622df892b844749440124167e8eee9e652fba613
Author: Pavel Labath <pavel at labath.sk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/cmake/modules/AddLLDB.cmake
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
Log Message:
-----------
[lldb/cmake] Remove EXTRA_CXXFLAGS arg (#143731)
We have one library using this and three libraries directly calling
`target_compile_options`. Might as well standardize on the latter.
Commit: b8e3e0749fb62a9845f8790f858e11f2558f94a2
https://github.com/llvm/llvm-project/commit/b8e3e0749fb62a9845f8790f858e11f2558f94a2
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
Log Message:
-----------
[InstCombine] Export logic for common base pointer (NFC)
Make this available to other parts of InstCombine, to be used for
pointer comparison optimization.
Commit: 3100b50f78c06dcd5207140e0d6e5ba6954d8828
https://github.com/llvm/llvm-project/commit/3100b50f78c06dcd5207140e0d6e5ba6954d8828
Author: Janek van Oirschot <janek.vanoirschot at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUMCResourceInfo.h
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/recursive-resource-usage-mcexpr.ll
Log Message:
-----------
[AMDGPU] Flatten recursive register resource info propagation (#142766)
In #112251 I had mentioned I'd follow up with flattening of recursion
for register resource info propagation
Behaviour prior to this patch when a recursive call is used is to take
the module scope worst case function register use (even prior to
AMDGPUMCResourceInfo). With this patch it will, when a cycle is
detected, attempt to do a simple cycle avoidant dfs to find the worst
case constant within the cycle and the cycle's propagates. In other
words, it will attempt to look for the cycle scope worst case rather
than module scope worst case.
Commit: 79f4a43839386e785451c8f0a362b2d1e5850b74
https://github.com/llvm/llvm-project/commit/79f4a43839386e785451c8f0a362b2d1e5850b74
Author: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86InstComments.cpp
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/any_extend_vector_inreg_of_broadcast_from_memory.ll
M llvm/test/CodeGen/X86/avgfloors.ll
M llvm/test/CodeGen/X86/avx512-cvt.ll
M llvm/test/CodeGen/X86/avx512-logic.ll
M llvm/test/CodeGen/X86/avx512fp16-arith.ll
M llvm/test/CodeGen/X86/avx512vl-logic.ll
M llvm/test/CodeGen/X86/combine-bitselect.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/fp-round.ll
M llvm/test/CodeGen/X86/gfni-funnel-shifts.ll
M llvm/test/CodeGen/X86/gfni-shifts.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/min-legal-vector-width.ll
M llvm/test/CodeGen/X86/pmul.ll
M llvm/test/CodeGen/X86/psubus.ll
M llvm/test/CodeGen/X86/sadd_sat_vec.ll
M llvm/test/CodeGen/X86/srem-seteq-vec-nonsplat.ll
M llvm/test/CodeGen/X86/ssub_sat_vec.ll
M llvm/test/CodeGen/X86/usub_sat_vec.ll
M llvm/test/CodeGen/X86/vector-fshl-128.ll
M llvm/test/CodeGen/X86/vector-fshl-256.ll
M llvm/test/CodeGen/X86/vector-fshl-512.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshl-rot-512.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-512.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-128.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-256.ll
M llvm/test/CodeGen/X86/vector-fshr-rot-512.ll
M llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll
M llvm/test/CodeGen/X86/vector-idiv-udiv-512.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i16-stride-7.ll
M llvm/test/CodeGen/X86/vector-rotate-128.ll
M llvm/test/CodeGen/X86/vector-rotate-256.ll
M llvm/test/CodeGen/X86/vector-rotate-512.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-128.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-256.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-512.ll
M llvm/test/CodeGen/X86/vector-shift-ashr-sub128.ll
M llvm/test/CodeGen/X86/vector-shift-shl-256.ll
M llvm/test/CodeGen/X86/vector-shift-shl-512.ll
M llvm/test/CodeGen/X86/vector-shuffle-avx512.ll
M llvm/test/CodeGen/X86/vselect-pcmp.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] VPTERNLOG comments - use "mem" just for full width loads and "m32bcst" / "m64bcst" for broadcast loads (#143721)
Use "mem" just for full width loads and "m32bcst" / "m64bcst" for 32-bit (D) / 64-bit (Q) broadcasts.
Fixes #143679
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: cc17f68e566ab7db4ac8e95dc857e49e10d8366c
https://github.com/llvm/llvm-project/commit/cc17f68e566ab7db4ac8e95dc857e49e10d8366c
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/Transforms/SLPVectorizer/AMDGPU/external-shuffle.ll
Log Message:
-----------
[SLP] NFC: Precommit test for pull/137419 (#137730)
Precommit for https://github.com/llvm/llvm-project/pull/137419
Commit: e1e1836bbd70e4f30bd0be97b9d81eabfd6b45c8
https://github.com/llvm/llvm-project/commit/e1e1836bbd70e4f30bd0be97b9d81eabfd6b45c8
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/Target/X86/CMakeLists.txt
M llvm/lib/Target/X86/X86.h
M llvm/lib/Target/X86/X86TargetMachine.cpp
R llvm/lib/Target/X86/X86WinFixupBufferSecurityCheck.cpp
M llvm/test/CodeGen/AArch64/GlobalISel/irtranslator-stack-protector-windows.ll
M llvm/test/CodeGen/X86/opt-pipeline.ll
A llvm/test/CodeGen/X86/stack-protector-msvc-oz.ll
M llvm/test/CodeGen/X86/stack-protector-msvc.ll
M llvm/test/CodeGen/X86/tailcc-ssp.ll
M llvm/test/DebugInfo/COFF/fpo-stack-protect.ll
Log Message:
-----------
[CodeGen] Inline stack guard check on Windows (#136290)
This patch optimizes the Windows security cookie check mechanism by
moving the comparison inline and only calling __security_check_cookie
when the check fails. This reduces the overhead of making a DLL call
for every function return.
Previously, we implemented this optimization through a machine pass
(X86WinFixupBufferSecurityCheckPass) in PR #95904 submitted by
@mahesh-attarde. We have reverted that pass in favor of this new
approach. Also we have abandoned the AArch64 specific implementation
of same pass in PR #121938 in favor of this more general solution.
The old machine instruction pass approach:
- Scanned the generated code to find __security_check_cookie calls
- Modified these calls by splitting basic blocks
- Added comparison logic and conditional branching
- Required complex block management and live register computation
The new approach:
- Implements the same optimization during instruction selection
- Directly emits the comparison and conditional branching
- No need for post-processing or basic block manipulation
- Disables optimization at -Oz.
Thanks @tamaspetz, @efriedma-quic and @arsenm for their help.
Commit: 36878158586b92e53dd615264f883e9d7530d047
https://github.com/llvm/llvm-project/commit/36878158586b92e53dd615264f883e9d7530d047
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/X86/BUILD.gn
Log Message:
-----------
[gn build] Port e1e1836bbd70
Commit: b6a56b8ef26a6b612eb5f49d37024666b073481e
https://github.com/llvm/llvm-project/commit/b6a56b8ef26a6b612eb5f49d37024666b073481e
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/tools/llvm-remarkutil/convert.test
M llvm/tools/llvm-remarkutil/RemarkConvert.cpp
Log Message:
-----------
[llvm-remarkutil] bitstream2yaml: Keep output file (#143220)
Keep the output file on successful exit, otherwise `llvm-remarkutil
bitstream2yaml -o filename.yaml ...` does not produce any output,
because the output file is deleted when the tool exits.
Commit: ca5b71a4559890a9768558ddea724782fb638bfa
https://github.com/llvm/llvm-project/commit/ca5b71a4559890a9768558ddea724782fb638bfa
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/select.ll
Log Message:
-----------
[Matrix] Propagate shape information through Select insts (#141876)
Commit: bba4ded3c2f94fe0de6011a6941b135b3cb0370a
https://github.com/llvm/llvm-project/commit/bba4ded3c2f94fe0de6011a6941b135b3cb0370a
Author: A. Jiang <de34 at live.cn>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/include/bitset
M libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
Log Message:
-----------
[libc++] Fix constructing `bitset` from non-null-terminated arrays (#143691)
Unconditional evaluation of `char_traits<_CharT>::length(__str)` is problematic, because it causes
UB when `__str` points to a non-null-terminated array. We should only call `length` (currently, in
`basic_string_view`'s constructor) when `__n == npos` per [bitset.cons]/8.
Drive-by change: Reduction of conditional compilation, given that
- both `basic_string_view<_CharT>::size_type` and `basic_string<_CharT>::size_type` must be
`size_t`, and thus
- both `basic_string_view<_CharT>::npos` and `basic_string<_CharT>::npos` must be `size_t(-1)`.
For the type sameness in the standard wording, see:
- [string.view.template.general]
- [basic.string.general]
- [allocator.traits.types]/6
- [default.allocator.general]/1
Fixes #143684
Commit: 5c1a021f7f285f702a290d7faaaf0a274b3bf5a1
https://github.com/llvm/llvm-project/commit/5c1a021f7f285f702a290d7faaaf0a274b3bf5a1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/docs/ABIGuarantees.rst
Log Message:
-----------
[libc++] Fix typos in documentation (#143912)
Commit: 4f60321ca183ebf132e97e54d8d560643c5c3340
https://github.com/llvm/llvm-project/commit/4f60321ca183ebf132e97e54d8d560643c5c3340
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M offload/liboffload/API/Common.td
M offload/liboffload/API/Kernel.td
M offload/liboffload/src/OffloadImpl.cpp
M offload/unittests/OffloadAPI/kernel/olLaunchKernel.cpp
Log Message:
-----------
[Offload] Add `ol_dimensions_t` and convert ranges from size_t -> uint32_t (#143901)
This is a three element x, y, z size_t vector that can be used any place
where a 3D vector is required. This ensures that all vectors across
liboffload are the same and don't require any resizing/reordering
dances.
Commit: 4bd0a0e50bcfc3263c219acc9709ae234a334456
https://github.com/llvm/llvm-project/commit/4bd0a0e50bcfc3263c219acc9709ae234a334456
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
Log Message:
-----------
Revert "[flang] Enable delayed localization by default for `do concurrent` (#142567)" (#143905)
This reverts commit 937be177528de156922c1b5f6cab08ba3009dbf2.
Resolves https://github.com/llvm/llvm-project/issues/143897 until the
todo is properly handled.
Commit: 62b694090093ed34d620dd1129b194fc66fa4bb0
https://github.com/llvm/llvm-project/commit/62b694090093ed34d620dd1129b194fc66fa4bb0
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for GL Pack/UnpackHalf2x16 (#143889)
Commit: e4de74ba11eadb47cf78afbabffbf2b1a50e7298
https://github.com/llvm/llvm-project/commit/e4de74ba11eadb47cf78afbabffbf2b1a50e7298
Author: Nicolas Vasilache <nicolas.vasilache at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Vector/canonicalize.mlir
Log Message:
-----------
[mlir][Vector] Tighten up application conditions in TransferReadAfter… (#143869)
…WriteToBroadcast
The pattern would previously apply in spurious cases and generate
incorrect IR.
In the process, we disable the application of this pattern in the case
where there is no broadcast; this should be handled separately and may
more easily support masking.
The case {no-broadcast, yes-transpose} was previously caught by this
pattern and arguably could also generate incorrect IR (and was also
untested): this case does not apply anymore.
The last cast {yes-broadcast, yes-transpose} continues to apply but
should arguably be removed from the future because creating transposes
as part of canonicalization feels dangerous.
There are other patterns that move permutation logic:
- either into the transfer, or
- outside of the transfer
Ideally, this would be target-dependent and not a canonicalization (i.e.
does your DMA HW allow transpose on the fly or not) but this is beyond
the scope of this PR.
Co-authored-by: Nicolas Vasilache <nicolasvasilache at users.noreply.github.com>
Commit: 2e5fb77ce03748608cfad49fd62479fc3d912372
https://github.com/llvm/llvm-project/commit/2e5fb77ce03748608cfad49fd62479fc3d912372
Author: Paul Kirth <paulkirth at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/llvm-test-mustache-spec/llvm-test-mustache-spec.cpp
Log Message:
-----------
[llvm] Make TestData compatible with c++20 (#143801)
The clang-debian-cpp20 buildbot did not like direct initialization
without a matching constructor. This patch adds a new constructor taking
a json::Object that directly initializes the struct fields. We also
update an internal interface for const correctness.
https://lab.llvm.org/buildbot/#/builders/108/builds/13950
Commit: 9b679889b596aa5076062d5fbbdd01e3532b4ff5
https://github.com/llvm/llvm-project/commit/9b679889b596aa5076062d5fbbdd01e3532b4ff5
Author: Cyndy Ishida <cyndy_ishida at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/Darwin.cpp
A clang/test/Driver/darwin-invalid-version-range.c
Log Message:
-----------
[clang][darwin] Fix assertion failure when reporting fatal errors when inferring OS versions (#143817)
Commit: f6eaa2b00cc8d6421934cc92d4b210348809d700
https://github.com/llvm/llvm-project/commit/f6eaa2b00cc8d6421934cc92d4b210348809d700
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
Reland "[clang-format][NFC] Clean up fillRanges() in ClangFormat.cpp" (#143477)
Reapply https://github.com/llvm/llvm-project/pull/143236 and fix the bug
reported in
https://github.com/llvm/llvm-project/pull/143236#issuecomment-2957102180.
Commit: f12b1ed11672bc40a53fb1180541b2fda6e7d9fc
https://github.com/llvm/llvm-project/commit/f12b1ed11672bc40a53fb1180541b2fda6e7d9fc
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/Todo/target-parallel-private.f90
A flang/test/Lower/OpenMP/Todo/target-teams-private.f90
Log Message:
-----------
[flang][OpenMP] Add TODOs for target [teams|parallel] private (#143706)
Using the private clause on `target teams` or `target parallel` is not
currently implemented and causes crashes during lowering. Add
appropriate TODOs.
Resolves https://github.com/llvm/llvm-project/issues/116428.
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 13fe07d670e8a115929c9e595c4490ef5c75f583
https://github.com/llvm/llvm-project/commit/13fe07d670e8a115929c9e595c4490ef5c75f583
Author: tynasello-google <tynasello at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/cmake/caches/AndroidNDK.cmake
R libcxx/test/configs/llvm-libc++-android-ndk.cfg.in
A libcxx/test/configs/llvm-libc++-android.cfg.in
R libcxxabi/test/configs/llvm-libc++abi-android-ndk.cfg.in
A libcxxabi/test/configs/llvm-libc++abi-android.cfg.in
Log Message:
-----------
[libc++] Expand Android libc++ test config files (#142846)
Parameterize (and rename) existing libc++/libc++abi test configuration
files for the Android NDK to work for both the NDK and platform.
Android LLVM downstream seeks to test libc++ for both the NDK and
platform build (currently only testing the NDK), which will use almost
identical test configuration files. The only difference is the name of
the libc++ shared object used. Because of this we parameterize the
current test files (for both libc++ and libc++abi) with the existing
LIBCXX_SHARED_OUTPUT_NAME cmake variable, and rename the file
accordingly.
Commit: 1c1df94d09820959c771cb4aaae4d36cdf5cab5a
https://github.com/llvm/llvm-project/commit/1c1df94d09820959c771cb4aaae4d36cdf5cab5a
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/test/API/functionalities/memory/find/TestMemoryFind.py
M lldb/test/API/functionalities/memory/find/main.cpp
Log Message:
-----------
[lldb][Commands][NFC] Extract memory find expression evaluation into helpers (#143686)
This patch factors out the `-e` option logic into two helper functions.
The `EvaluateExpression` helper might seem redundant but I'll be adding
to it in a follow-up patch to fix an issue when running `memory find -e`
for Swift targets.
Also adds test coverage for the error cases that were previously
untested.
rdar://152113525
Commit: 2a905dd1ebb46a6865b1f4743589b50cdb2cb4f0
https://github.com/llvm/llvm-project/commit/2a905dd1ebb46a6865b1f4743589b50cdb2cb4f0
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Use range-for in Visit* Result construction. NFC
Commit: 316f530724ee2e870886e75729799afbcc1ff8d3
https://github.com/llvm/llvm-project/commit/316f530724ee2e870886e75729799afbcc1ff8d3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast_from_memory.ll
Log Message:
-----------
[X86] getTargetConstantBitsFromNode - handle EXTRACT_SUBVECTOR through bitcasts (#143886)
Generalize the extraction index/width to account for any changes in type through bitcasts
Commit: a53003fe23cb6c871e72d70ff2d3a075a7490da2
https://github.com/llvm/llvm-project/commit/a53003fe23cb6c871e72d70ff2d3a075a7490da2
Author: kotborealis <kotborealis at awooo.ru>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libcxx/utils/gdb/libcxx/printers.py
Log Message:
-----------
[libc++] Update GDB pretty-printer to work with GDB 17 (#142106)
This patch fixes an issue in libcxx/utils/gdb/libcxx/printers.py.
With gdb 17 (binutils 2_44) pretty-printers do not work anymore because
calls to `gdb.printing` requires `import gdb.printing` statement, which
was missing from the `printers.py`.
This was broken after commit https://github.com/bminor/binutils-gdb/commit/fc14343205d3a
and `import gdb.printing` was first referenced in https://github.com/bminor/binutils-gdb/commit/ee06c79b0f.
Co-authored-by: Dmitry Chestnykh <dm.chestnykh at gmail.com>
Commit: 882b58a90ae0c4a91e1ecda6df3767b0fc44dab1
https://github.com/llvm/llvm-project/commit/882b58a90ae0c4a91e1ecda6df3767b0fc44dab1
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/flatten-bug-117273.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
M llvm/test/CodeGen/DirectX/scalar-bug-117273.ll
Log Message:
-----------
[DirectX] Reland #142853 with Circular GEP fixes (#143747)
This change relands https://github.com/llvm/llvm-project/pull/142853
It fixes the circular reference issue we were seeing in GEPs
ex `%.flat = getelementptr inbounds [16 x i32], ptr %.flat, i32 0, i32
15`
Commit: ef1cb8277ac3cb34ce9700a313ed60410dd9f84b
https://github.com/llvm/llvm-project/commit/ef1cb8277ac3cb34ce9700a313ed60410dd9f84b
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVModuleAnalysis.cpp
M llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
Log Message:
-----------
[SPIR-V] Fix ExecutionMode generation (#143888)
PR #141787 added code to emit the Fragment execution model. This
required emitting the OriginUpperLeft ExecutionMode. But this was done
by using the same codepath used for OpEntrypoint.
This has 2 issues:
- the interface variables were added to both OpEntryPoint and
OpExecutionMode.
- the existing OpExecutionMode logic was not used.
This commit fixes this, regrouping OpExecutionMode handling in one
place, and fixing bad codegen issue when interface variiables are added.
Commit: daee5eee8562d26d234f85152e803b6571b15ee2
https://github.com/llvm/llvm-project/commit/daee5eee8562d26d234f85152e803b6571b15ee2
Author: Ethan Luis McDonough <ethanluismcdonough at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M offload/test/offloading/gpupgo/pgo_atomic_teams.c
M offload/test/offloading/gpupgo/pgo_atomic_threads.c
Log Message:
-----------
[Offload][PGO] Fix new GPU PGO tests (#143645)
`pgo_atomic_teams.c` and `pgo_atomic_threads.c` currently are set to run
on NVPTX despite the changes for that target not being upstreamed yet.
This patch also replaces instances of `llvm-profdata` with `%profdata`
in those tests.
Commit: c6da2c877cb407c0404e58c5ca257d12036ed164
https://github.com/llvm/llvm-project/commit/c6da2c877cb407c0404e58c5ca257d12036ed164
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/source/Commands/CommandObjectMemory.cpp
Log Message:
-----------
[lldb][Commands] Fix memory find for Swift expressions (#143860)
(depends on https://github.com/llvm/llvm-project/pull/143686)
There were two issues previously preventing `memory find -e` expressions
to succeed when stopped in Swift frames:
1. We weren't getting the dynamic type of the result `ValueObject`.
For Swift this would fail when we tried to produce a scalar value
out of it because the static VO wasn't sufficient to get to the
integer value. Hence we add a call to
`GetQualifiedRepresentationIfAvailable`
(which is what we do for expressions in `OptionArgParser::ToAddress`
too).
2. We weren't passing an `ExecutionContextScope` to `GetByteSize`, which
Swift relied on to get the size of the result type.
My plan is to add an API test for this on the Apple
`swiftlang/llvm-project` fork.
I considered an alternative where we use `OptionArgParser::ToAddress`
for `memory find -e` expressions, but it got a bit icky when trying to
figure out how many bytes we should copy out of the result into the
`DataBufferHeap` (currently we rely on the size of the result variable
type). This gets even trickier when we were to pass an expression that
was actually a hex digit or a number into `ToAddress`.
rdar://152113525
Commit: 4039fdb7ba5a0d9ead5bdc0404f036063a4ca95d
https://github.com/llvm/llvm-project/commit/4039fdb7ba5a0d9ead5bdc0404f036063a4ca95d
Author: W. Turner Abney <weebney at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ioctl_macros.h
M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h
M libc/src/sys/CMakeLists.txt
A libc/src/sys/ioctl/CMakeLists.txt
A libc/src/sys/ioctl/ioctl.h
A libc/src/sys/ioctl/linux/CMakeLists.txt
A libc/src/sys/ioctl/linux/ioctl.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/ioctl/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/ioctl_test.cpp
Log Message:
-----------
[libc] add ioctl (#141393)
Closes #85275
Closes #90317
Updates #97191
---------
Co-authored-by: Joseph Huber <huberjn at outlook.com>
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: 77834a40cf350d2fe63fac26222c3918f5f348fd
https://github.com/llvm/llvm-project/commit/77834a40cf350d2fe63fac26222c3918f5f348fd
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
A clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/test/CIR/CodeGen/ctor.cpp
Log Message:
-----------
[CIR] Upstream support for emitting constructors (#143639)
This change upstreams the code to emit simple constructor defintions.
Commit: 639c19ddb688595a69ad9f83a40aa32e2187134c
https://github.com/llvm/llvm-project/commit/639c19ddb688595a69ad9f83a40aa32e2187134c
Author: long.chen <lipracer at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/ExecutionEngine/MemRefUtils.h
Log Message:
-----------
[NFC][mlir] make the assert consistent with the declared behavior (#143874)
Commit: 56548e1d9b2ed4f5d2fe3913c27af770cf0e06e5
https://github.com/llvm/llvm-project/commit/56548e1d9b2ed4f5d2fe3913c27af770cf0e06e5
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
M llvm/test/Transforms/LowerMatrixIntrinsics/select.ll
Log Message:
-----------
[Matrix] Fix a crash in VisitSelectInst due to iteration length mismatch
Commit: 31daed868d69ac1ac6f6a29340d0b5e0e6dc39ab
https://github.com/llvm/llvm-project/commit/31daed868d69ac1ac6f6a29340d0b5e0e6dc39ab
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
Log Message:
-----------
[RISCV] Prefer QC_EXTU to ANDI for certain 12-bit mask immediates (#143838)
`QC_EXTU` can be compressed to `QC_C_EXTU` when the immediate is a `mask
>=63`. We currently only handle masks that don't fit in 12-bits in
`RISCVISelDAGToDAG`.
I have added ISEL patterns in `RISCVInstrInfoXqci.td` instead of
changing code in `RISCVISelDAGToDAG` since the other extract
instructions ( in `XTHeadbb` and `XAndesPerf`) don't have compressed
versions and it is a lot easier to maintain things this way.
Commit: cd8facebabab9b61c6af1313cd1fd1e586bc2ba6
https://github.com/llvm/llvm-project/commit/cd8facebabab9b61c6af1313cd1fd1e586bc2ba6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
A clang/test/CIR/Transforms/vector-create-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecCreateOp (#143355)
This change adds a folder for the VecCreateOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: ae7ea6e3a28c017485cc2401703d6fab1549123d
https://github.com/llvm/llvm-project/commit/ae7ea6e3a28c017485cc2401703d6fab1549123d
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/src/sys/ioctl/linux/ioctl.cpp
M libc/test/src/sys/ioctl/linux/CMakeLists.txt
M libc/test/src/sys/ioctl/linux/ioctl_test.cpp
Log Message:
-----------
[libc] Fix ioctl errno inclusion (#143928)
Since errno was moved in
https://github.com/llvm/llvm-project/pull/143187 the code including it
in https://github.com/llvm/llvm-project/pull/141393 was rendered
incorrect. This patch fixes the include and the cmake depends.
Commit: e65131a56335fc6b8e47c609f17df50ea65577b4
https://github.com/llvm/llvm-project/commit/e65131a56335fc6b8e47c609f17df50ea65577b4
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/MC/AsmParser/include.ll
Log Message:
-----------
MC,test: Specify explicit triple for include.ll
The output is subject to .set or = difference.
Commit: 2c20bc5112a18a8a893e8caea6fd59c097754d74
https://github.com/llvm/llvm-project/commit/2c20bc5112a18a8a893e8caea6fd59c097754d74
Author: fairywreath <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definitions for GL FindILsb and FindSMsb (#143916)
Adds SPIRV GL FindILsb and FindSMsb instructions which correspond to GL
instruction numbers 73 and 74.
Commit: 1a4cf1d3edff2d4c790f597834301702cfc6dc15
https://github.com/llvm/llvm-project/commit/1a4cf1d3edff2d4c790f597834301702cfc6dc15
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
A lldb/scripts/framework-header-fix.py
A lldb/test/Shell/Scripts/Inputs/Main/SBAddress.h
A lldb/test/Shell/Scripts/Inputs/RPC/RPCSBAddress.h
A lldb/test/Shell/Scripts/TestFrameworkFixScript.test
A lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
A lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
Log Message:
-----------
[lldb][headers] Create Python script to fix up framework headers (#142051)
This commit replaces the shell script that fixes up includes for the
LLDB framework with a Python script. This script will also be used when
fixing up includes for the LLDBRPC.framework.
Commit: 217304a09949de73a8def5ee4c7ed9510449ce4c
https://github.com/llvm/llvm-project/commit/217304a09949de73a8def5ee4c7ed9510449ce4c
Author: 黃國庭 <we3223 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/test/CodeGen/X86/2012-01-12-extract-sv.ll
M llvm/test/CodeGen/X86/avx-insertelt.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/avx512-intrinsics-upgrade.ll
M llvm/test/CodeGen/X86/avx512-intrinsics.ll
M llvm/test/CodeGen/X86/avx512copy-intrinsics.ll
M llvm/test/CodeGen/X86/build-vector-512.ll
M llvm/test/CodeGen/X86/buildvec-extract.ll
M llvm/test/CodeGen/X86/canonicalize-vars-f16-type.ll
M llvm/test/CodeGen/X86/coalesce_commute_movsd.ll
M llvm/test/CodeGen/X86/combine-and.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/fminimumnum-fmaximumnum.ll
M llvm/test/CodeGen/X86/fmsubadd-combine.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-inttofp-fp16.ll
M llvm/test/CodeGen/X86/fp-strict-scalar-round-fp16.ll
M llvm/test/CodeGen/X86/half-constrained.ll
M llvm/test/CodeGen/X86/half-darwin.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/masked_expandload.ll
M llvm/test/CodeGen/X86/masked_gather.ll
M llvm/test/CodeGen/X86/masked_gather_scatter.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/pr40730.ll
M llvm/test/CodeGen/X86/scalarize-fp.ll
M llvm/test/CodeGen/X86/sse-insertelt-from-mem.ll
M llvm/test/CodeGen/X86/sse-insertelt.ll
M llvm/test/CodeGen/X86/sse-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sse-scalar-fp-arith.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/sse41.ll
M llvm/test/CodeGen/X86/stack-folding-fp-avx1.ll
M llvm/test/CodeGen/X86/vec-strict-128-fp16.ll
M llvm/test/CodeGen/X86/vec-strict-fptoint-128-fp16.ll
M llvm/test/CodeGen/X86/vec_extract-avx.ll
M llvm/test/CodeGen/X86/vec_floor.ll
M llvm/test/CodeGen/X86/vec_ss_load_fold.ll
M llvm/test/CodeGen/X86/vector-blend.ll
M llvm/test/CodeGen/X86/vector-half-conversions.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-interleaved-store-i32-stride-7.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-avx2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
M llvm/test/CodeGen/X86/vector-zmov.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
[X86] Use X86FixupInstTunings to select between (V)MOVSS/D and (V)BLENDPS/D (#143895)
Fix https://github.com/llvm/llvm-project/issues/142588
Following @RKSimon’s suggestion, the transformation applies only when
the blend mask is exactly 1, indicating that the instruction behaves
like a move. Additionally, the conversion will only be performed when
optimizing for size or when the target prefers MOVSS/D over BLENDPS/D
for performance reasons.
The switch-case instructions were identified with GPT O.O .
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: 53e50472ff445bb946a53aba30649ae65f3534b1
https://github.com/llvm/llvm-project/commit/53e50472ff445bb946a53aba30649ae65f3534b1
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Interpreter/DeviceOffload.cpp
Log Message:
-----------
[Clang][NFC] Move FatbinFileName instead of copy (#143827)
Static analysis flagged FatbinFileName since we can move it instead of
copying it.
Commit: 82f19674bff578b9afd164144fd6b75d042ac932
https://github.com/llvm/llvm-project/commit/82f19674bff578b9afd164144fd6b75d042ac932
Author: lntue <lntue at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/include/llvm-libc-types/size_t.h
M libc/include/llvm-libc-types/ssize_t.h
Log Message:
-----------
[libc] Update size_t and ssize_t definitions to use __SIZE_TYPE__ and __PTRDIFF_TYPE__ respectively. (#143921)
The current definition of `ssize_t` does not have the same bit width as
`size_t` on 32-bit platforms.
Commit: cbc2ef0e890e6c700023fe00c7166554f2f5ad14
https://github.com/llvm/llvm-project/commit/cbc2ef0e890e6c700023fe00c7166554f2f5ad14
Author: Dave Lee <davelee.com at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/utils/lldbDataFormatters.py
Log Message:
-----------
[llvm][utils] Add synthetic provider for llvm::DenseSet (#143631)
Add a synthetic child provider for `DenseSet`, which is a wrapper around
`DenseMap`. This provider leverages the existing `DenseMap` provider,
reshaping its dictionary structured children into a set.
Commit: eab1a1d4914a51de8383b818bf595125fb830c51
https://github.com/llvm/llvm-project/commit/eab1a1d4914a51de8383b818bf595125fb830c51
Author: halbi2 <hehiralbi at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A libcxx/test/libcxx/containers/container.adaptors/flat.set/scary.compile.pass.cpp
Log Message:
-----------
[libc++][test] Improve test coverage for flat_set (lack of) SCARY iterators (#139649)
Missing from 5e94e26a7afb8db00cc123e5fc5471c1125596e3.
Commit: d1ca8d891ff038ec29e67065a446aa2f2043325e
https://github.com/llvm/llvm-project/commit/d1ca8d891ff038ec29e67065a446aa2f2043325e
Author: lntue <lntue at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A libc/shared/math.h
A libc/shared/math/expf.h
M libc/src/__support/CMakeLists.txt
A libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp_float_constants.h
A libc/src/__support/math/expf.h
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/expf.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/libc_test_rules.bzl
Log Message:
-----------
[libc][math] Refactor expf implementation to header-only in src/__support/math folder. (#143790)
This is a step in preparation for:
https://discourse.llvm.org/t/rfc-make-clang-builtin-math-functions-constexpr-with-llvm-libc-to-support-c-23-constexpr-math-functions/86450
Commit: 6311f039b2678f0a1367a88679efb7b2e37949dc
https://github.com/llvm/llvm-project/commit/6311f039b2678f0a1367a88679efb7b2e37949dc
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/hdr/CMakeLists.txt
M libc/hdr/types/CMakeLists.txt
M libc/include/llvm-libc-types/char8_t.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/wchar/mbstate.h
M libc/src/__support/wchar/utf_ret.h
Log Message:
-----------
[libc] Build fixes for widechar characterconverter (#143805)
Build fixes for wchar CharacterConverter class
Commit: 9208b343e962b9f1140ee345c0050a3920bdcbf2
https://github.com/llvm/llvm-project/commit/9208b343e962b9f1140ee345c0050a3920bdcbf2
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
M clang/test/Driver/aix-shared-lib-tls-model-opt.c
M clang/test/Driver/aix-small-local-exec-dynamic-tls.c
M clang/test/Driver/ppc-crbits.cpp
M clang/test/Driver/ppc-isa-features.cpp
M llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/PPCTargetParser.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[PowerPC] frontend get target feature from backend with cpu name (#137670)
1. The PR proceeds with a backend target hook to allow front-ends to
determine what target features are available in a compilation based on
the CPU name.
2. Fix a backend target feature bug that supports HTM for
Power8/9/10/11. However, HTM is only supported on Power8/9 according to
the ISA.
3. All target features that are hardcoded in PPC.cpp can be retrieved
from the backend target feature. I have double-checked that the
hardcoded logic for inferring target features from the CPU in the
frontend(PPC.cpp) is the same as in PPC.td.
Commit: 06dad352dba16fd9afa89be7abf9bb46f7552b48
https://github.com/llvm/llvm-project/commit/06dad352dba16fd9afa89be7abf9bb46f7552b48
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
R lldb/scripts/framework-header-fix.py
R lldb/test/Shell/Scripts/Inputs/Main/SBAddress.h
R lldb/test/Shell/Scripts/Inputs/RPC/RPCSBAddress.h
R lldb/test/Shell/Scripts/TestFrameworkFixScript.test
R lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
R lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
Log Message:
-----------
Revert "[lldb][headers] Create Python script to fix up framework headers" (#143941)
Reverts llvm/llvm-project#142051
Commit: 4e765b7a6b93b5d82e90f9a112b3eca4f873f005
https://github.com/llvm/llvm-project/commit/4e765b7a6b93b5d82e90f9a112b3eca4f873f005
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/dpbusd_i4.ll
Log Message:
-----------
[x86] dpbusd_i4.ll - regenerate VPTERNLOGD asm comment
Commit: 5a6a4b6ba6945363bf366a885103a4adca11b5ef
https://github.com/llvm/llvm-project/commit/5a6a4b6ba6945363bf366a885103a4adca11b5ef
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/stdio.yaml
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/generic/CMakeLists.txt
A libc/src/stdio/generic/perror.cpp
A libc/src/stdio/perror.h
M libc/test/src/stdio/CMakeLists.txt
A libc/test/src/stdio/perror_test.cpp
Log Message:
-----------
[libc] Implement perror (#143624)
The perror function writes an error message directly to stderr. This
patch adds an implementation, tests, and header generation details.
Commit: f94950db89a905309ec9ea2245889df88ffd0690
https://github.com/llvm/llvm-project/commit/f94950db89a905309ec9ea2245889df88ffd0690
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/mbstate.h
Log Message:
-----------
[libc] Changed mbstate struct (#143942)
Changed the mbstate variable from bits processed to bytes processed and
implemented isComplete().
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: fd88aef21bae75b4641472badeb2abe3757872ac
https://github.com/llvm/llvm-project/commit/fd88aef21bae75b4641472badeb2abe3757872ac
Author: Qinkun Bao <qinkun at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/docs/SanitizerSpecialCaseList.rst
Log Message:
-----------
[Doc][NFC] Fix Sanitizer Ignore list example errors. (#143755)
Commit: 639e811434d2c21b9161fe9955acdea28ce33c7b
https://github.com/llvm/llvm-project/commit/639e811434d2c21b9161fe9955acdea28ce33c7b
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
Log Message:
-----------
[CIR][NFC] Fix an unused variable warning (#143933)
This fixes a warning where a variable assigned in 'if' statement wasn't
referenced again.
Commit: 4a58a63280a673142fc674db1fb668b7bae00420
https://github.com/llvm/llvm-project/commit/4a58a63280a673142fc674db1fb668b7bae00420
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/test/Integration/Dialect/Linalg/CPU/test-padtensor.mlir
M mlir/test/lib/Dialect/Linalg/TestLinalgTransforms.cpp
Log Message:
-----------
[mlir][linalg] Remove the `test-linalg-to-vector-patterns` option (#142116)
This patch removes the `test-linalg-to-vector-patterns` option from the
`-test-linalg-transform-patterns=` test flag. It was only used in one
test, where a more specialized transform dialect op can be used instead:
* `transform.apply_patterns.linalg.pad_vectorization`
While we could preserve `test-linalg-to-vector-patterns`, it's better to
rely on finer-grained transformations — this way, we know exactly what
is being run and tested. Now that its only use has been removed, it
feels natural to delete `test-linalg-to-vector-patterns`.
Commit: 3c1053811e6925e8b9f7a044f3a18bfda1d7ccfe
https://github.com/llvm/llvm-project/commit/3c1053811e6925e8b9f7a044f3a18bfda1d7ccfe
Author: David Rivera <davidriverg at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/modernize/UseIntegerSignComparisonCheck.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-integer-sign-comparison.cpp
Log Message:
-----------
Revert "[clang-tidy] Improve integer comparison by matching valid expressions outside implicitCastExpr" (#143944)
Reverts llvm/llvm-project#134188
related: https://github.com/llvm/llvm-project/issues/143927
Commit: edf636afe405ff90da7bf1834aa334bd52bc861e
https://github.com/llvm/llvm-project/commit/edf636afe405ff90da7bf1834aa334bd52bc861e
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Log Message:
-----------
[PowerPC][NFC] Update lowering STXVP to STXV in Oct word spilling (#142220)
Remove explicit register arithmetic from spilling ACC and STXVP code.
Commit: 46085d8f83623f6ea2921459de9f731d7df762d4
https://github.com/llvm/llvm-project/commit/46085d8f83623f6ea2921459de9f731d7df762d4
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lld/ELF/Writer.cpp
M lld/test/ELF/x86-64-section-layout.s
Log Message:
-----------
[lld/ELF][x86-64] Place large executable sections at the edges of binary (#70358)
So that when mixing small and large text, large text stays out of the
way of the rest of the binary.
Place large RX sections at the beginning rather than at the end so that
with `--no-rosegment`, the large text and rodata share a single PT_LOAD
segment. Place large RWX sections at the end to keep writable and
readonly sections separate.
Clang started emitting the large section flag for `.ltext` sections in
#73037.
Commit: df7db441d4e97568a5cbf830b0810512bb702159
https://github.com/llvm/llvm-project/commit/df7db441d4e97568a5cbf830b0810512bb702159
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
Log Message:
-----------
Revert "[PowerPC][NFC] Update lowering STXVP to STXV in Oct word spil… (#143948)
…ling (#142220)"
This reverts commit edf636afe405ff90da7bf1834aa334bd52bc861e.
checked in wrong branch.
Commit: c317eda6e3785037f16a746a1096c2cca82d9455
https://github.com/llvm/llvm-project/commit/c317eda6e3785037f16a746a1096c2cca82d9455
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/lib/Target/PowerPC/PPCRegisterInfo.h
Log Message:
-----------
[PowerPC][NFC] Update lowering STXVP to STXV in Oct word spilling (#143953)
Simpliy handling for spilling of acc reg with stx by removing explicit
register arithmetic and clean up code gen for register mapping used in
stxvp spilling.
Relanding: https://github.com/llvm/llvm-project/pull/142220
Commit: 030a471753421477c7ef345cc60091788252fabc
https://github.com/llvm/llvm-project/commit/030a471753421477c7ef345cc60091788252fabc
Author: David Green <david.green at arm.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
Log Message:
-----------
[AArch64][Clang] Exclude address spaces from pointer-only coercion types.
As reported on #135064, the generic pointer coercion code in
CoerceIntOrPtrToIntOrPtr cannot handle address space casts (it tries to bitcast
the pointers). This bails out if an address space qualifier is found on the
pointer.
Commit: 891f6ae783b36122b0f2fadc0c2d95d7dd590415
https://github.com/llvm/llvm-project/commit/891f6ae783b36122b0f2fadc0c2d95d7dd590415
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/Transforms/InstCombine/vp-reverse.ll
Log Message:
-----------
[instcombine] Add test coverage for vp.reverse elimination combines
Commit: cbf27bf711c08c34185f05ca5edbfa61bd3786e2
https://github.com/llvm/llvm-project/commit/cbf27bf711c08c34185f05ca5edbfa61bd3786e2
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
M clang/test/Driver/aix-shared-lib-tls-model-opt.c
M clang/test/Driver/aix-small-local-exec-dynamic-tls.c
M clang/test/Driver/ppc-crbits.cpp
M clang/test/Driver/ppc-isa-features.cpp
M llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/TargetParser/CMakeLists.txt
M llvm/lib/TargetParser/PPCTargetParser.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
Revert " [PowerPC] frontend get target feature from backend with cpu name (#137670)"
This reverts commit 9208b343e962b9f1140ee345c0050a3920bdcbf2.
TargetParser shouldn't re-run the PPC subtarget tablegen target, it
should define its own `-gen-ppc-target-def` rule like all the other
targets do in llvm/include/llvm/TargetParser/CMakeLists.txt .
One user reported that there are incorrect CMake dependencies after this
change, so I will roll this back in the meantime.
Commit: c19e900ce8b422f6b8c028fbbd9ef7e9d3720236
https://github.com/llvm/llvm-project/commit/c19e900ce8b422f6b8c028fbbd9ef7e9d3720236
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/cmp-to-cmn.ll
Log Message:
-----------
[AArch64] Signed comparison using CMN is safe when the subtraction is nsw (#141993)
nsw means no signed wrap, and 0 - INT_MIN is a signed wrap.
Now, this is going to be a point I need to get out of the way:
So is it okay to always transform a > -b into cmn if it is a signed
comparison, even if b is INT_MIN because -INT_MIN is undefined, at least
in C, because unless fwrapv is specified, opt puts nsw on signed integer
operations, allowing for more folds anyway.
Commit: b1f5e26b78a9550a22ee2f24bb3f220d396c452f
https://github.com/llvm/llvm-project/commit/b1f5e26b78a9550a22ee2f24bb3f220d396c452f
Author: GeorgeHuyubo <113479859+GeorgeHuyubo at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/source/Target/Target.cpp
Log Message:
-----------
[lldb] Properly handle locate module callback when Target change arch (#143793)
Since this PR: https://github.com/llvm/llvm-project/pull/141670/ We
started to override the Platform/Arch for a target if needed. However we
may have already registered locate module callback with the old
platform.
This PR will move the locate module callback to the new Platform
whenever Target changes architecture.
Co-authored-by: George Hu <georgehuyubo at gmail.com>
Commit: d65904675ea106713937c9cce24e3d1ec0bc570a
https://github.com/llvm/llvm-project/commit/d65904675ea106713937c9cce24e3d1ec0bc570a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Move logic to create trip count check to helper (NFC).
Move the logic to create the iteration count check to a separate helper,
so it can be re-used by when creating the skeleton for epilogue
vectorization as well.
Commit: 8ee9646b06cd128a6c55f375e4df431aee053c76
https://github.com/llvm/llvm-project/commit/8ee9646b06cd128a6c55f375e4df431aee053c76
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
R llvm/include/llvm/IR/VectorBuilder.h
M llvm/include/llvm/Transforms/Utils/LoopUtils.h
M llvm/lib/IR/CMakeLists.txt
R llvm/lib/IR/VectorBuilder.cpp
M llvm/lib/Transforms/Utils/LoopUtils.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/unittests/IR/CMakeLists.txt
R llvm/unittests/IR/VectorBuilderTest.cpp
Log Message:
-----------
[LV] Simplify creation of vp.load/vp.store/vp.reduce intrinsics (#143804)
The use of VectorBuilder here was simply obscuring what was actually
going on. For vp.load and vp.store, the resulting code is significantly
more idiomatic. For the vp.reduce cases, we remove several layers of
indirection, including passing parameters via implicit state on the
builder. In both cases, the code is significantly easier to follow.
Commit: 741ea80446e21b4052d723765011fe3583d3fc7f
https://github.com/llvm/llvm-project/commit/741ea80446e21b4052d723765011fe3583d3fc7f
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
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 8ee9646b06cd
Commit: 8a8ea8fec063bd64c17e463e7c3eaae5cdb4a645
https://github.com/llvm/llvm-project/commit/8a8ea8fec063bd64c17e463e7c3eaae5cdb4a645
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/cmake/modules/LLDBFramework.cmake
A lldb/scripts/framework-header-fix.py
A lldb/test/Shell/Scripts/Inputs/Main/SBAddress.h
A lldb/test/Shell/Scripts/Inputs/RPC/RPCSBAddress.h
A lldb/test/Shell/Scripts/TestFrameworkFixScript.test
A lldb/test/Shell/Scripts/TestFrameworkFixUnifdef.test
A lldb/test/Shell/Scripts/TestRPCFrameworkFixScript.test
Log Message:
-----------
Reland "[lldb][headers] Create Python script to fix up framework head… (#143945)
…ers" (#143941)
Reland the script that converts lldb headers to RPC headers. The RPC
test was failing due to the incorrect input filepath being used.
Original commit message:
This commit replaces the shell script that fixes up includes for the
LLDB framework with a Python script. This script will also be used when
fixing up includes for the LLDBRPC.framework.
Commit: 6f3e2c076d6e3abac9cfd756e95a1ebb5979dd88
https://github.com/llvm/llvm-project/commit/6f3e2c076d6e3abac9cfd756e95a1ebb5979dd88
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
A llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
A llvm/test/Instrumentation/MemorySanitizer/X86/x86-vpermi2.ll
Log Message:
-----------
[MSAN] fork avx512vl-intrinsics and x86-vpermi2 tests (#143643)
Commit: ee6362515dfa4fe4531c7a7690c270313669195b
https://github.com/llvm/llvm-project/commit/ee6362515dfa4fe4531c7a7690c270313669195b
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
Log Message:
-----------
[RISCV][CostModel] Add additional high LMUL reverse tests
Commit: e4c32a4147012da735205eb44a45b8be5eea048d
https://github.com/llvm/llvm-project/commit/e4c32a4147012da735205eb44a45b8be5eea048d
Author: Shafik Yaghmour <shafik.yaghmour at intel.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/Frontend/CompilerInstance.cpp
Log Message:
-----------
[Clang][NFC] Move Input into SmallVector instead of copy (#143830)
Static analysis flagged Input as a large object that would benefit from
being moved over being copied.
Commit: 902a991e1245537f5fc11e031409fdd69fba1c06
https://github.com/llvm/llvm-project/commit/902a991e1245537f5fc11e031409fdd69fba1c06
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT] Make memory profile parsing optional (#129585)
Introduce `parse-mem-profile` option to limit overheads processing
tracing data (Intel PT or ARM ETM). By default, it's enabled for
perf data (existing behavior), unless `itrace` is passed to parse
tracing data where it's extremely expensive. In this case, the flag
needs to be set explicitly if needed.
Commit: 1ac61c8334782629462e6bf7c91b3fc8f4e663e8
https://github.com/llvm/llvm-project/commit/1ac61c8334782629462e6bf7c91b3fc8f4e663e8
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M mlir/lib/Dialect/SparseTensor/Transforms/SparseVectorization.cpp
M mlir/test/Dialect/SparseTensor/minipipeline_vector.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector.mlir
M mlir/test/Dialect/SparseTensor/sparse_vector_chain.mlir
M mlir/test/Dialect/SparseTensor/vectorize_reduction.mlir
Log Message:
-----------
[mlir][Vector] Remove `vector.extractelement/insertelement` from sparse vectorizer (#143270)
This PR is part of the last step to remove `vector.extractelement` and `vector.insertelement` ops.
RFC: https://discourse.llvm.org/t/rfc-psa-remove-vector-extractelement-and-vector-insertelement-ops-in-favor-of-vector-extract-and-vector-insert-ops
It updates the Sparse Vectorizer to use `vector.extract` and `vector.insert` instead of `vector.extractelement` and `vector.insertelement`.
Commit: 4a4035c86b0dd2b1aa09bb2ff4b6788c2bf88745
https://github.com/llvm/llvm-project/commit/4a4035c86b0dd2b1aa09bb2ff4b6788c2bf88745
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/test/CIR/CodeGen/ctor.cpp
Log Message:
-----------
[CIR] Add support for delegating constructors (#143932)
This change adds the necessary support for handling delegating
constructors in ClangIR. The implementation is kept as small as possible
by not handling any other sort of initialization (members, base classes,
etc.). That will be added in a future commit.
Commit: 8a2895ad89793591cd3f0114bc56cd345f651823
https://github.com/llvm/llvm-project/commit/8a2895ad89793591cd3f0114bc56cd345f651823
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lldb/include/lldb/Host/JSONTransport.h
M lldb/source/Host/common/JSONTransport.cpp
M lldb/unittests/DAP/CMakeLists.txt
M lldb/unittests/DAP/TestBase.cpp
M lldb/unittests/DAP/TestBase.h
R lldb/unittests/DAP/TransportTest.cpp
M lldb/unittests/Host/CMakeLists.txt
A lldb/unittests/Host/JSONTransportTest.cpp
A lldb/unittests/TestingSupport/Host/PipeTestUtilities.h
Log Message:
-----------
[lldb] Implement JSON RPC (newline delimited) Transport (#143946)
This PR implements JSON RPC-style (i.e. newline delimited) JSON
transport. I moved the existing transport tests from DAP to Host and
moved the PipeTest base class into TestingSupport so it can be shared by
both.
Commit: 26f91610011f1a23cb306d61bbc1fafded7d077d
https://github.com/llvm/llvm-project/commit/26f91610011f1a23cb306d61bbc1fafded7d077d
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lld/test/Unit/lit.cfg.py
M lldb/test/API/lit.cfg.py
M lldb/test/Shell/lit.cfg.py
M lldb/test/lit.cfg.py
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/discovery.py
M llvm/utils/lit/lit/worker.py
Log Message:
-----------
[lit] cleanup unused imports (#143930)
Remove imports that are not used in some lit test files.
Commit: 2ee8fdbfddcca86ac079104718e6fda3aabed0eb
https://github.com/llvm/llvm-project/commit/2ee8fdbfddcca86ac079104718e6fda3aabed0eb
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/src/__support/CMakeLists.txt
Log Message:
-----------
[libc] Prevent building wchar on MacOS (#143978)
Prevent building wchar on macos as it depends on uchar.h which isn't
available
Commit: 2b8f82b8308fc9df0a74cdd61a1257d9eb51189c
https://github.com/llvm/llvm-project/commit/2b8f82b8308fc9df0a74cdd61a1257d9eb51189c
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrPredicates.td
M llvm/test/CodeGen/RISCV/rvv/vleff-vlseg2ff-output.ll
M llvm/test/CodeGen/RISCV/rvv/vleff.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv32-dead.ll
M llvm/test/CodeGen/RISCV/rvv/vlsegff-rv64-dead.ll
Log Message:
-----------
[RISCV] Remove implicit $vl def on vleNff pseudos (#143935)
In #90049 we removed the side effect flag on the vleNff pseudos with the
reasoning that we modelled the effect of setting vl as an output
operand.
This extends this further by removing the implicit def on vl, inserting
it back in RISCVInsertVSETVLI when we also emit the PseudoReadVL.
The motiviation for this is to make it easier to handle vleff in more
places in RISCVVectorPeephole in a follow up patch, which in turn will
make migrating the last vmerge peephole over from RISCVISelDAGToDAG
easier.
Some of these tests claim that the vleff shouldn't be deleted when none
of its values are used, but these are from the initial commit in
3b5430eb0dad5. I'm not sure if these still hold today?
This also moves the fault-only-first predicate to
RISCVInstrPredicates.td since we can't rely on the implicit vl operand
anymore.
Commit: 703e4460228fa5893dd0dff514ce44442b310b5e
https://github.com/llvm/llvm-project/commit/703e4460228fa5893dd0dff514ce44442b310b5e
Author: Feng Zou <feng.zou at intel.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/stack-alignment.c
Log Message:
-----------
[Clang] Add check for -mstack-alignment (#143124)
Currently the assertion in Alignment.h is triggered if a wrong value is
passed -mstack-alignment option:
```
Assertion `(Value == 0 || llvm::isPowerOf2_64(Value)) && "Alignment is neither 0 nor
a power of 2"' failed.
```
Added check in clang driver for the value of -mstack-alignment option,
and emitted an error message when the wrong value was passed.
Commit: 28c14d475fbd16d07db88c8d12edddfe9cc226ab
https://github.com/llvm/llvm-project/commit/28c14d475fbd16d07db88c8d12edddfe9cc226ab
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/src/string/CMakeLists.txt
M libc/src/string/stpcpy.cpp
M libc/src/string/strcat.cpp
M libc/src/string/strncat.cpp
Log Message:
-----------
[libc] Independent strcat/strncat/stpcpy (#142643)
The previous implementations called other entrypoints. This patch fixes
strcat, strncat, and stpcpy to be properly independent.
Commit: 32e1360aaa9fbf5e388f9d061fa004b02c0a1359
https://github.com/llvm/llvm-project/commit/32e1360aaa9fbf5e388f9d061fa004b02c0a1359
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenValue.h
Log Message:
-----------
[CIR][NFC] Fix build problems with [[maybe_unused]] (#143994)
A recent commit introduced the use of [[maybe_unused]] following
LLVM_PREFFERED_TYPE(bool) on a member variable declaration. I compiled
it with clang 14.0, which doesn't support the `preferred_type` attribute
so I didn't notice a problem. However, starting with clang 18.0, this
reports an error ("an attribute list cannot appear here") because of the
mixing of attribute styles.
This change fixes the problem by replacing [[maybe_unused]] with
LLVM_ATTRIBUTE_UNUSED.
Commit: 70f44ec6feba56b076cf65e02b8876f185efdab9
https://github.com/llvm/llvm-project/commit/70f44ec6feba56b076cf65e02b8876f185efdab9
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M libc/docs/configure.rst
Log Message:
-----------
[libc][NFC] Accept doc fix (#143996)
Docgen updates the docs when the config options are changed. This update
has been waiting since https://github.com/llvm/llvm-project/pull/143187.
Commit: e1bb35d067568794585544b8942638c467d13bea
https://github.com/llvm/llvm-project/commit/e1bb35d067568794585544b8942638c467d13bea
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
Log Message:
-----------
[bazel] Fix modules build for llvm-libc (speculative) (#143995)
Commit: 3ddd137332237918fbb6175c20327fe765d2c4ad
https://github.com/llvm/llvm-project/commit/3ddd137332237918fbb6175c20327fe765d2c4ad
Author: Zhen Wang <37195552+wangzpgi at users.noreply.github.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/cuf21.cuf
Log Message:
-----------
[flang] [cuda] Move SetImplicityCUDADevice after symbols in block construct are converted to objects (#143791)
`SetImplicitCUDADevice` looks for `symbol.has<ObjectEntityDetails>()` to
set the device attribute before symbols inside block constructs are
converted to ObjectEntity. Fix is to move the call to
`SetImplicitCUDADevice` after those symbols are converted.
Commit: 22f9b4aa1dad597d908be77be1e10ba4c77330ce
https://github.com/llvm/llvm-project/commit/22f9b4aa1dad597d908be77be1e10ba4c77330ce
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
Reland [HIP] use offload wrapper for non-device-only non-rdc (#132869) (#143964)
Fixed two issues:
1. assertion with -flto. the linker wrapper action is missing for
wrapping the device binary. Added it for -flto.
2. when there are two HIP files, the kernels in the second file were not
found. This is because the -r option of linker wrapper assumes offload
entries section of HIP to be hip_offloading_entries but it is actually
llvm_offload_entries, causing the offload entries sections not made
unique for different object files. Fixed and tested working for both
-fgpu-rdc and -fno-gpu-rdc case with and without -r
Commit: 029f8892a500594bd044507352503249fd641e6c
https://github.com/llvm/llvm-project/commit/029f8892a500594bd044507352503249fd641e6c
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.ll
M llvm/test/CodeGen/RISCV/rvv/vmv.v.v-peephole.mir
Log Message:
-----------
[RISCV] Fold vmv.v.v into vleNff.v (#143981)
We currently already fold vmerge.vvm into vleNff.v via
RISCVDAGToDAGISel::performCombineVMergeAndVOps, so this teaches
RISCVVectorPeephole::foldVMV_V_V to do the same.
Commit: 8890706db67384a423773cc921302dd63d950ef5
https://github.com/llvm/llvm-project/commit/8890706db67384a423773cc921302dd63d950ef5
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
Revert "Reland [HIP] use offload wrapper for non-device-only non-rdc (#132869) (#143964)"
This reverts commit 22f9b4aa1dad597d908be77be1e10ba4c77330ce.
Commit: 7232c07eb97d5c21d47a661c9cca8981c7f91698
https://github.com/llvm/llvm-project/commit/7232c07eb97d5c21d47a661c9cca8981c7f91698
Author: Yaxun (Sam) Liu <yaxun.liu at amd.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCUDANV.cpp
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/hip-binding.hip
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-toolchain-no-rdc.hip
M clang/test/Driver/linker-wrapper.c
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
Reland [HIP] use offload wrapper for non-device-only non-rdc (#143964)
Fixed a typo:
- auto Section = (Prefix + "llvm_offload_entries").str();
+ auto Section = (Prefix + "_offload_entries").str();
which broke buildbot e.g.
https://lab.llvm.org/buildbot/#/builders/208/builds/1948
Commit: 07dad4ecba43bcd92453a0cd4c351025126db683
https://github.com/llvm/llvm-project/commit/07dad4ecba43bcd92453a0cd4c351025126db683
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Writer.cpp
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/ELF/driver.test
M lld/test/ELF/weak-undef-got-plt.s
M lld/test/ELF/weak-undef-hidden.s
M lld/test/ELF/weak-undef-rw.s
Log Message:
-----------
[ELF] Implement -z dynamic-undefined-weak
The behavior of an undefined weak reference is implementation defined.
For static -no-pie linking, dynamic relocations are generally avoided (except
IRELATIVE). -shared linking generally emits dynamic relocations.
Dynamic -no-pie linking and -pie allow flexibility. Changes adjust the
behavior for better consistency and simpler internal representation,
e.g. https://reviews.llvm.org/D63003 https://reviews.llvm.org/D105164
(generalized to undefined non-weak in
2fcaa00d1e2317a90c9071b735eb0e758b5dd58b).
GNU ld introduced -z [no]dynamic-undefined-weak option to fine-tune the
behavior. (The option is not very effective with -no-pie, e.g. on
x86-64, `ld.bfd a.o s.so -z dynamic-undefined-weak` generates
R_X86_64_NONE relocations instead of GLOB_DAT/JUMP_SLOT)
This patch implements -z [no]dynamic-undefined-weak option.
The effects are summarized as follows:
* Static -no-pie: no-op
* Dynamic -no-pie: nodynamic-undefined-weak suppresses GLOB_DAT/JUMP_SLOT
* Static -pie: dynamic-undefined-weak generates ABS/GLOB_DAT/JUMP_SLOT.
https://discourse.llvm.org/t/lld-weak-undefined-symbols-in-vdso-only/86749
* Dynamic -pie: nodynamic-undefined-weak suppresses ABS/GLOB_DAT/JUMP_SLOT
The -pie behavior likely stays stable while -no-pie (`!ctx.arg.isPic` in
`isStaticLinkTimeConstant`) behavior will likely change in the future.
The current default value of ctx.arg.zDynamicUndefined is selected to
prevent behavior changes.
Pull Request: https://github.com/llvm/llvm-project/pull/143831
Commit: 9992668404cfb2302f7a62f01884c210642caea1
https://github.com/llvm/llvm-project/commit/9992668404cfb2302f7a62f01884c210642caea1
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M flang-rt/lib/cuda/descriptor.cpp
M flang/include/flang/Lower/LoweringOptions.def
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
A flang/test/Lower/CUDA/cuda-runtime-check.cuf
M flang/tools/bbc/bbc.cpp
Log Message:
-----------
[flang][cuda] Add runtime check for passing device arrays (#144003)
Commit: 4268360003e2dc6721469aa5ccab7efbb29dcbfd
https://github.com/llvm/llvm-project/commit/4268360003e2dc6721469aa5ccab7efbb29dcbfd
Author: Thirumalai Shaktivel <74826228+Thirumalai-Shaktivel at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
A flang/test/Lower/OpenMP/flush02.f90
M mlir/include/mlir/Dialect/OpenMP/OpenMPOps.td
Log Message:
-----------
[Flang] [OpenMP] Allow any type as argument to the FlushOp (#143844)
Fixes: #143842
Commit: cd573e0a547dba18e2a960967c1f24f124c6cb26
https://github.com/llvm/llvm-project/commit/cd573e0a547dba18e2a960967c1f24f124c6cb26
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M compiler-rt/lib/fuzzer/FuzzerDataFlowTrace.cpp
Log Message:
-----------
[compiler-rt] Remove unused local variables (NFC) (#144010)
Commit: 752538c12cf4b37499f73e1bf05ea421ab055665
https://github.com/llvm/llvm-project/commit/752538c12cf4b37499f73e1bf05ea421ab055665
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/tools/llvm-pdbutil/llvm-pdbutil.cpp
Log Message:
-----------
[llvm-pdbutil] Remove an unused local variable (NFC) (#144011)
Commit: 054f4a50bb2ec1e535111d779bc5fdc93314c55a
https://github.com/llvm/llvm-project/commit/054f4a50bb2ec1e535111d779bc5fdc93314c55a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M polly/lib/Support/RegisterPasses.cpp
Log Message:
-----------
[polly] Remove an unused local variable (NFC) (#144012)
Commit: dfc5125946ade289840fa119716957ebce2d31d2
https://github.com/llvm/llvm-project/commit/dfc5125946ade289840fa119716957ebce2d31d2
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.cpp
M llvm/lib/Target/NVPTX/NVPTXISelDAGToDAG.h
M llvm/lib/Target/NVPTX/NVPTXISelLowering.cpp
M llvm/lib/Target/NVPTX/NVPTXISelLowering.h
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXIntrinsics.td
M llvm/test/CodeGen/NVPTX/fast-math.ll
M llvm/test/CodeGen/NVPTX/sqrt-approx.ll
Log Message:
-----------
[NVPTX] Consistently check fast-math flags when lowering fsqrt (#143776)
Ensure that we check the global, function-level, and instruction-level
flags when considering whether to use `sqrt.rn` or `sqrt.approx` to
lower either `@llvm.sqrt.f32` or `@llvm.nvvm.sqrt.f`
Commit: 432d06ab919ae18c4ed1e94148448501578a6c85
https://github.com/llvm/llvm-project/commit/432d06ab919ae18c4ed1e94148448501578a6c85
Author: Saiyedul Islam <Saiyedul.Islam at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/docs/HIPSupport.rst
M llvm/docs/AMDGPUDwarfExtensionsForHeterogeneousDebugging.rst
M llvm/docs/AMDGPUUsage.rst
M llvm/test/Analysis/KernelInfo/openmp/amdgpu.ll
M mlir/include/mlir/Dialect/LLVMIR/ROCDLDialect.h
Log Message:
-----------
[NFC][AMDGPU] Fix stale links to ROCm repositories (#143949)
Following GitHub organizations were merged into the ROCm org:
* ROCm-Developer-Tools
* RadeonOpenCompute
* ROCmSoftwarePlatform
Ensure that all hyperlinks to the old organizations now point to the new
organization at https://github.com/ROCm.
Commit: 4e80a033a1bade55bca8a32e267cf1b06d05b1ed
https://github.com/llvm/llvm-project/commit/4e80a033a1bade55bca8a32e267cf1b06d05b1ed
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-12 (Thu, 12 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/test/CodeGen/NVPTX/prmt.ll
Log Message:
-----------
[NVPTX] Use prmt.f4e to lower pointer alignment fshr idiom (#143407)
Commit: f64b3bb276e820f00911dbf6ecc484751daeb5f1
https://github.com/llvm/llvm-project/commit/f64b3bb276e820f00911dbf6ecc484751daeb5f1
Author: Adam Siemieniuk <adam.siemieniuk at intel.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/Conversion/LLVMCommon/Pattern.h
M mlir/lib/Dialect/AMX/Transforms/LegalizeForLLVMExport.cpp
M mlir/lib/Dialect/X86Vector/Transforms/LegalizeForLLVMExport.cpp
Log Message:
-----------
[mlir][llvm] Op interface LLVM converter (#143922)
Adds a utility conversion class for rewriting op interface instances
targeting LLVM dialect.
Commit: 483d19619c3221c1d54080e57e43052eb863436a
https://github.com/llvm/llvm-project/commit/483d19619c3221c1d54080e57e43052eb863436a
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/lib/Target/RISCV/RISCVSubtarget.h
M llvm/test/CodeGen/RISCV/features-info.ll
Log Message:
-----------
[RISCV] Add tune features for Andes 45 series cpus (#143899)
Add tune features TuneNoDefaultUnroll, TuneShortForwardBranchOpt and
TunePostRAScheduler for Andes 45 series cpus.
Commit: 4903c11a7e144d63635b115d97936a7aecf7a2f6
https://github.com/llvm/llvm-project/commit/4903c11a7e144d63635b115d97936a7aecf7a2f6
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
Log Message:
-----------
[RISCV] Support memcmp expansion for vectors
This patch adds the support of generating vector instructions for
`memcmp`. This implementation is inspired by X86's.
We convert integer comparisons (eq/ne only) into vector comparisons
and do a vector reduction and to get the result.
The range of supported load sizes is (XLEN, VLEN * LMUL8] and
non-power-of-2 types are not supported.
Fixes #143294.
Reviewers: lukel97, asb, preames, topperc, dtcxzyw
Reviewed By: topperc, lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/114517
Commit: 43be31e35ab0985ec381041762586902c2718751
https://github.com/llvm/llvm-project/commit/43be31e35ab0985ec381041762586902c2718751
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
Log Message:
-----------
SPARC: Simplify SparcMCExpr
Reduce direct uses of SparcMCExpr, facilitating transition to
MCSpecifierExpr in the future.
Commit: 1fae5918b3d6fbed8ce6d8a2edf31bdf304ca8db
https://github.com/llvm/llvm-project/commit/1fae5918b3d6fbed8ce6d8a2edf31bdf304ca8db
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/test/Format/multiple-inputs-error.cpp
M clang/test/Format/ranges.cpp
M clang/tools/clang-format/ClangFormat.cpp
Log Message:
-----------
[clang-format] Fix an off-by-1 bug with -length option (#143302)
Also validate the argument value.
Fixes #56245
Commit: 1f4b1729851bcada646be75c2bc90e0d012525dd
https://github.com/llvm/llvm-project/commit/1f4b1729851bcada646be75c2bc90e0d012525dd
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/GVN.cpp
A llvm/test/Transforms/GVN/opt-remark-assert-constant-uselistorder.ll
Log Message:
-----------
GVN: Fix trying to inspect uselist of constants when emitting remark (#144009)
Commit: 02f1f6967a847bba35fc207d61732f3466f39403
https://github.com/llvm/llvm-project/commit/02f1f6967a847bba35fc207d61732f3466f39403
Author: Longsheng Mou <longshengmou at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/WinogradConv2D.cpp
M mlir/test/Dialect/Linalg/transform-winograd-conv2d.mlir
Log Message:
-----------
[mlir][linalg] Add pure tensor check for `winogradConv2DHelper` (#142299)
This PR adds pure tensor semantics check for `winogradConv2DHelper` to
prevent a crash. Fixes #141566.
Commit: cd3d234868cad8b42e2a09a570e3e229d5ecfb08
https://github.com/llvm/llvm-project/commit/cd3d234868cad8b42e2a09a570e3e229d5ecfb08
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/test/CodeGen/X86/combine-and.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/masked_expandload.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/sse-insertelt-from-mem.ll
M llvm/test/CodeGen/X86/sse-insertelt.ll
M llvm/test/CodeGen/X86/sse-scalar-fp-arith.ll
M llvm/test/CodeGen/X86/sse41.ll
M llvm/test/CodeGen/X86/vec_floor.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-zmov.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
[X86] X86FixupInstTuning - extend BLENDPD/S -> MOVSD/S handling to SSE variant (#143961)
Commit: 02b6ed0bf139518c704a2996418e66f3a93260a1
https://github.com/llvm/llvm-project/commit/02b6ed0bf139518c704a2996418e66f3a93260a1
Author: Shamshura Egor <164661612+egorshamshura at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Added explanation why `is_constructible` evaluated to false. (#143309)
Added explanation why a is constructible evaluated to false. Also fixed
problem with ```ExtractTypeTraitFromExpression```. In case
```std::is_xxx_v<>``` with variadic pack it tries to get template
argument, but fails in expression ```Arg.getAsType()``` due to
```Arg.getKind() == TemplateArgument::ArgKind::Pack```, but not
```TemplateArgument::ArgKind::Type```.
Commit: c4caf00bfbf10caa88f1c46a561564b4f0f723af
https://github.com/llvm/llvm-project/commit/c4caf00bfbf10caa88f1c46a561564b4f0f723af
Author: LU-JOHN <John.Lu at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/mad_64_32.ll
M llvm/test/CodeGen/AMDGPU/srl64_reduce.ll
Log Message:
-----------
[AMDGPU] Convert more 64-bit lshr to 32-bit if shift amt>=32 (#138204)
Convert vector 64-bit lshr to 32-bit if shift amt is known to be >= 32.
Also convert scalar 64-bit lshr to 32-bit if shift amt is variable but
known to be >=32.
---------
Signed-off-by: John Lu <John.Lu at amd.com>
Commit: d4826cd324d9a10abdc67c973affa62d36dff4ee
https://github.com/llvm/llvm-project/commit/d4826cd324d9a10abdc67c973affa62d36dff4ee
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/aarch64-sme2-asm.ll
Log Message:
-----------
[AArch64] Observe Z-reg inline asm clobbers without SVE (#143742)
inline asm that clobbers any of the z-registers when not in streaming
mode, should still observe that the lower 128 bits of those registers
are clobbered.
Commit: 0cf333878d310bf9bbc8156cb7d8a0e271fb2c6f
https://github.com/llvm/llvm-project/commit/0cf333878d310bf9bbc8156cb7d8a0e271fb2c6f
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/IR/LLVMContextImpl.h
Log Message:
-----------
[NFC] Pack MDNodeKeyImpl<DILocation> from 40 to 32 bytes (#143891)
Commit: addd98f7a5b964a5a5860d65f327f3fc3b7e0a42
https://github.com/llvm/llvm-project/commit/addd98f7a5b964a5a5860d65f327f3fc3b7e0a42
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
M lldb/test/API/api/multiple-debuggers/multi-process-driver.cpp
Log Message:
-----------
[lldb][test] Don't call SBDebugger::Terminate if TestMultipleDebuggers times out (#143732)
Fixes #101162
This test did this:
* SBDebugger::Initialize
* Spawn a bunch of threads that do:
* SBDebugger::Create
* some work
* SBDebugger::Destroy
* Wait on those threads to finish then call SBDebugger::Terminate and
exit, or -
* Reach a time limit before all the threads finish, call
SBDebugger::Terminate and exit.
The problem was that in the timeout case, calling SBDebugger::Terminate
destroys data being used by threads that are still running. I expect
this test was expecting said threads to be so broken they were probably
stuck, but when the machine is just heavily loaded, one of them might
read that data before the whole program exits.
This means what should have been a timeout becomes a crash. Sometimes.
Which explains why we saw both timeouts and various signals on the
AArch64 Linux bot. It depends on the timings.
So I'm changing it not to call SBDebugger::Terminate in the timeout
case. We will have to tweak the timeout value based on what happens on
the buildbot, but we will know it's machine load not an lldb bug.
Also use _exit instead of exit, to skip more cleanup that might cause a
crash.
Commit: 8ba62fdb3d2da2f5f199ee7a07222620a451293f
https://github.com/llvm/llvm-project/commit/8ba62fdb3d2da2f5f199ee7a07222620a451293f
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
A clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
Log Message:
-----------
[CIR] Function calls with aggregate arguments and return values (#143377)
This patch updates cir.call operation and allows function calls with
aggregate arguments and return values.
It seems that C++ class support is still at a minimum now. I tried to
make a call to a C++ function with an argument of aggregate type but it
failed because the initialization of C++ class / struct is NYI. I also
tried to inline this part of support into this patch, but the mixed
patch quickly blows in size and becomes unsuitable for review. Thus,
tests for calling functions with aggregate arguments are added only for
C for now.
Commit: 2d49bc01cf07434138ea01ef7b9ba4b646b54183
https://github.com/llvm/llvm-project/commit/2d49bc01cf07434138ea01ef7b9ba4b646b54183
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/check-prof-info.ll
Log Message:
-----------
[LV][NFC] Tidy up check-prof-info.ll test (#143884)
Commit: 4b59b7b94608ddbd21d14bec68400f2eb21f510d
https://github.com/llvm/llvm-project/commit/4b59b7b94608ddbd21d14bec68400f2eb21f510d
Author: Simone Pellegrini <simone.pellegrini at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Linalg/Transforms/ElementwiseOpFusion.cpp
M mlir/test/Dialect/Linalg/fusion-elementwise-ops.mlir
Log Message:
-----------
[mlir][Linalg] Fix fusing of indexed linalg consumer with different axes (#140892)
When fusing two `linalg.genericOp`, where the producer has index
semantics, invalid `affine.apply` ops can be generated where the number
of indices do not match the number of loops in the fused genericOp.
This patch fixes the issue by directly using the number of loops from
the generated fused op.
Commit: 67c590004d055b7aeb0f82787041a114c3a136b3
https://github.com/llvm/llvm-project/commit/67c590004d055b7aeb0f82787041a114c3a136b3
Author: Tim Gymnich <tim at gymni.ch>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/IR/AMDGPU.td
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/lib/Dialect/AMDGPU/IR/AMDGPUDialect.cpp
A mlir/test/Conversion/AMDGPUToROCDL/packed-ext.mlir
A mlir/test/Conversion/AMDGPUToROCDL/packed-trunc.mlir
M mlir/test/Dialect/AMDGPU/ops.mlir
Log Message:
-----------
[mlir][AMDGPU] Add scaled floating point conversion ops (#141554)
implement `ScaledExtPackedOp` and `PackedScaledTruncOp`
Commit: 06c783567069db169ee2d1545a4bd3ffd0e3fec0
https://github.com/llvm/llvm-project/commit/06c783567069db169ee2d1545a4bd3ffd0e3fec0
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lldb/test/API/api/multiple-debuggers/TestMultipleDebuggers.py
Log Message:
-----------
[lldb][test] Disable TestMultipleDebuggers again
I did manage to turn a crash into a non-zero return code,
but on the very first build it managed to time out.
I thought I had the appetite to tweak timeouts but
on second thought, I don't want yet another test to look
out for.
The test is not wrong, but on heavily loaded machines
it's always going to be inherently unstable.
Commit: 5762491e2a1935911c1e998a4865591d429f8559
https://github.com/llvm/llvm-project/commit/5762491e2a1935911c1e998a4865591d429f8559
Author: SivanShani-Arm <sivan.shani at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/SyntheticSections.cpp
M lld/test/ELF/aarch64-feature-pauth.s
Log Message:
-----------
[lld] Refactor storage of PAuth ABI core info (#141920)
Previously, the AArch64 PAuth ABI core values were stored as an
ArrayRef<uint8_t>, introducing unnecessary indirection.
This patch replaces the ArrayRef with two explicit uint64_t fields:
aarch64PauthAbiPlatform and aarch64PauthAbiVersion. This simplifies the
representation and improves readability.
No functional change intended, aside from improved error messages.
Commit: 058602372e2bb7460469c5c53cc36f0a4b131f54
https://github.com/llvm/llvm-project/commit/058602372e2bb7460469c5c53cc36f0a4b131f54
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/test/CodeGen/X86/avx-insertelt.ll
M llvm/test/CodeGen/X86/avx-intrinsics-x86-upgrade.ll
M llvm/test/CodeGen/X86/coalesce_commute_movsd.ll
M llvm/test/CodeGen/X86/combine-and.ll
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/commute-blend-sse41.ll
M llvm/test/CodeGen/X86/horizontal-sum.ll
M llvm/test/CodeGen/X86/insertelement-zero.ll
M llvm/test/CodeGen/X86/masked_load.ll
M llvm/test/CodeGen/X86/sse-insertelt.ll
M llvm/test/CodeGen/X86/sse-scalar-fp-arith.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sse2-intrinsics-x86-upgrade.ll
M llvm/test/CodeGen/X86/sse2.ll
M llvm/test/CodeGen/X86/sse41-intrinsics-fast-isel.ll
M llvm/test/CodeGen/X86/sse41-intrinsics-x86-upgrade.ll
M llvm/test/CodeGen/X86/vec-strict-128-fp16.ll
M llvm/test/CodeGen/X86/vec_floor.ll
M llvm/test/CodeGen/X86/vector-blend.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-4.ll
M llvm/test/CodeGen/X86/vector-interleaved-load-i32-stride-5.ll
M llvm/test/CodeGen/X86/vector-mul.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v2.ll
M llvm/test/CodeGen/X86/vector-shuffle-128-v4.ll
M llvm/test/CodeGen/X86/vector-shuffle-256-v8.ll
M llvm/test/CodeGen/X86/vector-shuffle-combining-ssse3.ll
M llvm/test/CodeGen/X86/vector-shuffle-concatenation.ll
M llvm/test/CodeGen/X86/vselect-2.ll
M llvm/test/CodeGen/X86/vselect.ll
Log Message:
-----------
[X86] X86FixupInstTuning - fold BLENDPS -> MOVSD (#144029)
Reduces codesize - make use of free PS<->PD domain transfers (like we do in many other places) and replace a suitable BLENDPS mask with MOVSD if OptSize or the scheduler prefers it
Commit: e2c27fd66a13c7a37cccbf4309532fcbce86c09b
https://github.com/llvm/llvm-project/commit/e2c27fd66a13c7a37cccbf4309532fcbce86c09b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
Log Message:
-----------
[X86] X86FixupInstTuning - hoist OptSize flag. NFC.
Allow reuse in a future patch.
Commit: 6fc8ec720ea590bbdb94e19acefaf5bafdfcf817
https://github.com/llvm/llvm-project/commit/6fc8ec720ea590bbdb94e19acefaf5bafdfcf817
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/sub-gep.ll
Log Message:
-----------
[InstCombine] Restore splat gep support in OptimizePointerDifference() (#143906)
When looking for the common base pointer, support the case where the
type changes because the GEP goes from pointer to vector of pointers.
This was supported prior to #142958.
Commit: 2019553a0b8811a23d7546cbace52a8e241a3b37
https://github.com/llvm/llvm-project/commit/2019553a0b8811a23d7546cbace52a8e241a3b37
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
Log Message:
-----------
[InstCombine] Extract EmitGEPOffsets() helper (NFC)
Extract a reusable helper for emitting a sum of multiple GEP
offsets.
Commit: 541e5118ce570c9bed74cb5ff836f88cf1c0e644
https://github.com/llvm/llvm-project/commit/541e5118ce570c9bed74cb5ff836f88cf1c0e644
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[LV] Use getFixedValue instead of getKnownMinValue when appropriate (#143526)
There are many places in VPlan and LoopVectorize where we use
getKnownMinValue to discover the number of elements in a vector. Where
we expect the vector to have a fixed length, I have used the stronger
getFixedValue call. I believe this is clearer and adds extra protection
in the form of an assert in getFixedValue that the vector is not
scalable.
While looking at VPFirstOrderRecurrencePHIRecipe::computeCost I also
took the liberty of simplifying the code.
In theory I believe this patch should be NFC, but I'm reluctant to add
that to the title in case we're just missing tests for some of the VPlan
changes. I built and ran the LLVM test suite when targeting neoverse-v1
and it seemed ok.
Commit: 9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b
https://github.com/llvm/llvm-project/commit/9eef4d1c5fa6b1bcbbe675c14ca8301d5d346f7b
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang/docs/ReleaseNotes.rst
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaInternal.h
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/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.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/SemaObjC.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReaderStmt.cpp
M clang/lib/Serialization/ASTWriterStmt.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ast-dump-recovery.c
M clang/test/AST/ast-dump-recovery.cpp
R clang/test/AST/ast-dump-recovery.m
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/module/basic/basic.link/p2.cppm
R clang/test/FixIt/typo.cpp
R clang/test/Index/complete-switch.c
M clang/test/Index/fix-its.c
M clang/test/Lexer/raw-string-ext.c
M clang/test/Modules/diagnose-missing-import.m
M clang/test/OpenMP/begin_declare_variant_messages.c
M clang/test/OpenMP/declare_reduction_messages.cpp
M clang/test/OpenMP/declare_variant_messages.c
M clang/test/OpenMP/declare_variant_messages.cpp
M clang/test/OpenMP/target_update_messages.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/cxx1z-fold-expressions.cpp
M clang/test/Parser/cxx2c-pack-indexing.cpp
M clang/test/Parser/objc-foreach-syntax.m
M clang/test/Parser/opencl-atomics-cl20.cl
M clang/test/Parser/recovery.c
M clang/test/Parser/switch-recovery.cpp
M clang/test/Parser/switch-typo-correction.cpp
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Sema/PR28181.c
M clang/test/Sema/builtin-unary-fp.c
A clang/test/Sema/c23-delayed-typo-correction-crashes.c
A clang/test/Sema/delayed-typo-correction-crashes.c
M clang/test/Sema/invalid-member.cpp
M clang/test/Sema/typo-correction-ambiguity.cpp
M clang/test/Sema/typo-correction-no-hang.c
M clang/test/Sema/typo-correction-no-hang.cpp
M clang/test/Sema/typo-correction-recursive.cpp
M clang/test/Sema/typo-correction.c
M clang/test/SemaCXX/arrow-operator.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/conversion-function.cpp
M clang/test/SemaCXX/coroutines.cpp
A clang/test/SemaCXX/cxx-delayed-typo-correction-crashes.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
A clang/test/SemaCXX/cxx20-delayed-typo-correction-crashes.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/destructor.cpp
M clang/test/SemaCXX/invalid-if-constexpr.cpp
M clang/test/SemaCXX/member-expr.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
R clang/test/SemaCXX/pr13394-crash-on-invalid.cpp
M clang/test/SemaCXX/return.cpp
M clang/test/SemaCXX/typo-correction-crash.cpp
M clang/test/SemaCXX/typo-correction-cxx11.cpp
R clang/test/SemaCXX/typo-correction-delayed.cpp
M clang/test/SemaCXX/typo-correction.cpp
M clang/test/SemaCXX/virtuals.cpp
M clang/test/SemaObjC/call-super-2.m
M clang/test/SemaObjC/typo-correction-subscript.m
M clang/test/SemaObjC/undef-arg-super-method-call.m
M clang/test/SemaObjCXX/block-for-lambda-conversion.mm
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
M clang/test/SemaOpenCL/clang-builtin-version.cl
M clang/test/SemaTemplate/concepts-recovery-expr.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/typo-variadic.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/unittests/Sema/ExternalSemaSourceTest.cpp
Log Message:
-----------
Remove delayed typo expressions (#143423)
This removes the delayed typo correction functionality from Clang
(regular typo correction still remains) due to fragility of the
solution.
An RFC was posted here:
https://discourse.llvm.org/t/rfc-removing-support-for-delayed-typo-correction/86631
and while that RFC was asking for folks to consider stepping up to be
maintainers, and we did have a few new contributors show some interest,
experiments show that it's likely worth it to remove this functionality
entirely and focus efforts on improving regular typo correction.
This removal fixes ~20 open issues (quite possibly more), improves
compile time performance by roughly .3-.4%
(https://llvm-compile-time-tracker.com/?config=Overview&stat=instructions%3Au&remote=AaronBallman&sortBy=date),
and does not appear to regress diagnostic behavior in a way we wouldn't
find acceptable.
Fixes #142457
Fixes #139913
Fixes #138850
Fixes #137867
Fixes #137860
Fixes #107840
Fixes #93308
Fixes #69470
Fixes #59391
Fixes #58172
Fixes #46215
Fixes #45915
Fixes #45891
Fixes #44490
Fixes #36703
Fixes #32903
Fixes #23312
Fixes #69874
Commit: a5cbd2ab0bebc722f836cd3b04dbab691ef9ed2f
https://github.com/llvm/llvm-project/commit/a5cbd2ab0bebc722f836cd3b04dbab691ef9ed2f
Author: Diana Picus <Diana-Magda.Picus at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUResourceUsageAnalysis.cpp
M llvm/lib/Target/AMDGPU/SIMachineFunctionInfo.h
M llvm/lib/Target/AMDGPU/SIRegisterInfo.cpp
M llvm/lib/Target/AMDGPU/SIRegisterInfo.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/extractelement.ll
M llvm/test/CodeGen/AMDGPU/amdgpu-no-agprs-violations.ll
M llvm/test/CodeGen/AMDGPU/amdhsa-kernarg-preload-num-sgprs.ll
M llvm/test/CodeGen/AMDGPU/amdpal-callable.ll
M llvm/test/CodeGen/AMDGPU/amdpal-elf.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-flat-work-group-size.ll
M llvm/test/CodeGen/AMDGPU/attr-amdgpu-waves-per-eu.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage-agpr.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage0.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage1.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage2.ll
M llvm/test/CodeGen/AMDGPU/call-alias-register-usage3.ll
M llvm/test/CodeGen/AMDGPU/call-graph-register-usage.ll
M llvm/test/CodeGen/AMDGPU/coalescer_remat.ll
M llvm/test/CodeGen/AMDGPU/code-object-v3.ll
M llvm/test/CodeGen/AMDGPU/elf-notes.ll
M llvm/test/CodeGen/AMDGPU/flat-scratch-reg.ll
M llvm/test/CodeGen/AMDGPU/function-resource-usage.ll
M llvm/test/CodeGen/AMDGPU/hsa-metadata-kernel-code-props.ll
M llvm/test/CodeGen/AMDGPU/hsa.ll
R llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count-large.ll
R llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count-leaf.ll
R llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count-use-inactive.ll
R llvm/test/CodeGen/AMDGPU/init-whole-wave-vgpr-count.ll
M llvm/test/CodeGen/AMDGPU/ipra.ll
M llvm/test/CodeGen/AMDGPU/mcexpr-knownbits-assign-crash-gh-issue-110930.ll
M llvm/test/CodeGen/AMDGPU/multi-call-resource-usage-mcexpr.ll
M llvm/test/CodeGen/AMDGPU/pal-metadata-3.0-callable.ll
M llvm/test/CodeGen/AMDGPU/ps-shader-arg-count.ll
M llvm/test/CodeGen/AMDGPU/register-count-comments.ll
M llvm/test/CodeGen/AMDGPU/resource-optimization-remarks.ll
M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-tracker-physreg.ll
M llvm/test/CodeGen/AMDGPU/schedule-amdgpu-trackers.ll
M llvm/test/CodeGen/AMDGPU/schedule-regpressure-limit2.ll
M llvm/test/CodeGen/AMDGPU/stack-realign-kernel.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-any.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-off.ll
M llvm/test/CodeGen/AMDGPU/tid-kd-xnack-on.ll
M llvm/test/CodeGen/AMDGPU/unnamed-function-resource-info.ll
M llvm/test/CodeGen/AMDGPU/vgpr-agpr-limit-gfx90a.ll
R llvm/test/CodeGen/AMDGPU/vgpr-count-compute.ll
R llvm/test/CodeGen/AMDGPU/vgpr-count-graphics.ll
Log Message:
-----------
Revert "[AMDGPU] Skip register uses in AMDGPUResourceUsageAnalysis (#… (#144039)
…133242)"
This reverts commit 130080fab11cde5efcb338b77f5c3b31097df6e6 because it
causes issues in testcases similar to coalescer_remat.ll [1], i.e. when
we use a VGPR tuple but only write to its lower parts. The high VGPRs
would then not be included in the vgpr_count, and accessing them would
be an out of bounds violation.
[1]
https://github.com/llvm/llvm-project/blob/main/llvm/test/CodeGen/AMDGPU/coalescer_remat.ll
Commit: be9994b09206a84a32c3029b409587008d179b95
https://github.com/llvm/llvm-project/commit/be9994b09206a84a32c3029b409587008d179b95
Author: Abhina Sree <Abhina.Sreeskantharajan at ibm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/Support/AutoConvert.h
M llvm/lib/Support/AutoConvert.cpp
M llvm/lib/Support/Unix/Path.inc
M llvm/lib/Support/Unix/Program.inc
Log Message:
-----------
[SystemZ][z/OS] Refactor AutoConvert more (#143955)
This patch removes the C++
disablezOSAutoConversion,enablezOSAutoConversion declarations and also
updates Path.inc to use the common function.
Commit: 30725efe671bc82bf9095a575aece60fc40fbef5
https://github.com/llvm/llvm-project/commit/30725efe671bc82bf9095a575aece60fc40fbef5
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
Log Message:
-----------
Fix build after removing delayed typo expression
This addresses issues found by:
https://lab.llvm.org/buildbot/#/builders/64/builds/4220
https://lab.llvm.org/buildbot/#/builders/51/builds/17890
Commit: 4236423ee863be5903819db57205fc83a4bd21e1
https://github.com/llvm/llvm-project/commit/4236423ee863be5903819db57205fc83a4bd21e1
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/source/ValueObject/DILAST.cpp
M lldb/source/ValueObject/DILEval.cpp
M lldb/source/ValueObject/DILLexer.cpp
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
A lldb/test/API/commands/frame/var-dil/basics/BitFieldExtraction/Makefile
A lldb/test/API/commands/frame/var-dil/basics/BitFieldExtraction/TestFrameVarDILBitFieldExtraction.py
A lldb/test/API/commands/frame/var-dil/basics/BitFieldExtraction/main.cpp
Log Message:
-----------
[LLDB] Add bit extraction to DIL (#141422)
Commit: 41b37f05554ae59974675ae219430b5598c6159f
https://github.com/llvm/llvm-project/commit/41b37f05554ae59974675ae219430b5598c6159f
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/test/API/functionalities/memory/find/TestMemoryFind.py
Log Message:
-----------
[lldb] CommandObjectMemoryFind: Improve expression evaluation error messages (#144036)
We now bubble up the expression evaluation diagnostics to the user and
also distinguish between "expression failed to parse/run" versus other
ways in which expressions didn't complete (e.g., setup errors, etc.).
Before:
```
(lldb) memory find -e "" 0x16fdfedc0 0x16fdfede0
error: expression evaluation failed. pass a string instead
(lldb) memory find -e "invalid" 0x16fdfedc0 0x16fdfede0
error: expression evaluation failed. pass a string instead
```
After:
```
(lldb) memory find -e "" 0x16fdfedc0 0x16fdfede0
error: Expression evaluation failed:
error: No result returned from expression. Exit status: 1
(lldb) memory find -e "invalid" 0x16fdfedc0 0x16fdfede0
error: Expression evaluation failed:
error: <user expression 0>:1:1: use of undeclared identifier 'invalid'
1 | invalid
| ^~~~~~~
```
Commit: f1036d844e4b886ac702859ccf8a19cf2153c7f7
https://github.com/llvm/llvm-project/commit/f1036d844e4b886ac702859ccf8a19cf2153c7f7
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86InstrInfo.cpp
Log Message:
-----------
[X86] X86InstrInfo::commuteInstructionImpl - remove (V)BLENDPD/S commutation to (V)MOVSD/S optsize handling (#144051)
Just commute with (V)BLENDPD/S like all other BLEND instructions
This is now handled more generally by the X86FixupInstTuningPass (OptSize fold occurs even without a scheduler model).
First step towards #142972
Commit: cc365331af423de99ae98655d035e4892842fe97
https://github.com/llvm/llvm-project/commit/cc365331af423de99ae98655d035e4892842fe97
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/CMakeLists.txt
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/docs/CMake.rst
M llvm/include/llvm/Config/llvm-config.h.cmake
Log Message:
-----------
[DLCov] Origin-Tracking: Add config options (#143590)
This patch is part of a series that adds origin-tracking to the debugify
source location coverage checks, allowing us to report symbolized stack
traces of the point where missing source locations appear.
This patch adds the configuration options needed to enable this feature,
in the form of a new CMake option that enables a flag in
`llvm-config.h`; this is not an entirely new CMake flag, but a new
option, `COVERAGE_AND_ORIGIN`, for the existing flag
`LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING`. This patch contains
documentation, but no actual implementation for the flag itself.
Commit: fbea0fc5c77713a4d62db2512b1b51cc76ed6a25
https://github.com/llvm/llvm-project/commit/fbea0fc5c77713a4d62db2512b1b51cc76ed6a25
Author: Martin Wehking <martin.wehking at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/test/Preprocessor/aarch64-target-features.c
Log Message:
-----------
Add Macro for CSSC Feature (#143148)
Add a new __ARM_FEATURE_CSSC macro that can be utilized during the
preprocessing stage.
__ARM_FEATURE_CSSC is defined to 1 if there is hardware support for
CSSC.
Implements the ACLE change:
https://github.com/ARM-software/acle/pull/394
Commit: 9a237f35ef58c838a461d560908e380c481aadad
https://github.com/llvm/llvm-project/commit/9a237f35ef58c838a461d560908e380c481aadad
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/test/MC/AMDGPU/gfx11_asm_vop1.s
M llvm/test/MC/AMDGPU/gfx11_asm_vop1_t16_err.s
Log Message:
-----------
[AMDGPU][AsmParser] Support true16 register suffix for valid register range (#143997)
Commit: d7ddd461162cc5585408417f64dd160929dd0691
https://github.com/llvm/llvm-project/commit/d7ddd461162cc5585408417f64dd160929dd0691
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86CompressEVEX.cpp
M llvm/lib/Target/X86/X86PadShortFunction.cpp
Log Message:
-----------
[X86] Add start/end debug messages for the X86CompressEVEXPass and X86PadShortFunctionPass (#144056)
Commit: 4f8187c0dc6e7a818ebf3272a0c022203f901e96
https://github.com/llvm/llvm-project/commit/4f8187c0dc6e7a818ebf3272a0c022203f901e96
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/test/Instrumentation/ThreadSanitizer/atomic-non-integer.ll
Log Message:
-----------
[TSan] Regenerate test checks (NFC)
Commit: a59e4acd753007c83594a6a56654025d4202a528
https://github.com/llvm/llvm-project/commit/a59e4acd753007c83594a6a56654025d4202a528
Author: Ryan Buchner <92571492+bababuck at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/short-forward-branch-opt.ll
M llvm/test/CodeGen/RISCV/zicond-opts.ll
Log Message:
-----------
[RISCV] Lower SELECT's with one constant more efficiently using Zicond (#143581)
See #143580 for MR with the test commit.
Performs the following transformations:
(select c, c1, t) -> (add (czero_nez t - c1, c), c1)
(select c, t, c1) -> (add (czero_eqz t - c1, c), c1)
@mgudim
Commit: 85a9f2e14859b472750f13fb441291e6e9c893a0
https://github.com/llvm/llvm-project/commit/85a9f2e14859b472750f13fb441291e6e9c893a0
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/IntrinsicsPowerPC.td
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/lib/Target/PowerPC/PPCISelLowering.h
M llvm/lib/Target/PowerPC/PPCInstr64Bit.td
M llvm/lib/Target/PowerPC/PPCInstrInfo.td
M llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll
M llvm/test/CodeGen/PowerPC/all-atomics.ll
M llvm/test/CodeGen/PowerPC/atomic-2.ll
M llvm/test/CodeGen/PowerPC/atomic-compare-exchange-weak.ll
M llvm/test/CodeGen/PowerPC/atomic-float.ll
M llvm/test/CodeGen/PowerPC/atomicrmw-cond-sub-clamp.ll
M llvm/test/CodeGen/PowerPC/atomicrmw-uinc-udec-wrap.ll
M llvm/test/CodeGen/PowerPC/atomics-regression.ll
M llvm/test/CodeGen/PowerPC/atomics.ll
M llvm/test/CodeGen/PowerPC/loop-comment.ll
M llvm/test/Transforms/AtomicExpand/PowerPC/atomicrmw-fp.ll
Log Message:
-----------
[PowerPC] enable AtomicExpandImpl::expandAtomicCmpXchg for powerpc (#142395)
In PowerPC, the AtomicCmpXchgInst is lowered to
ISD::ATOMIC_CMP_SWAP_WITH_SUCCESS. However, this node does not handle
the weak attribute of AtomicCmpXchgInst. As a result, when compiling C++
atomic_compare_exchange_weak_explicit, the generated assembly includes a
"reservation lost" loop — i.e., it branches back and retries if the
stwcx. (store-conditional) fails. This differs from GCC’s codegen, which
does not include that loop for weak compare-exchange.
Since PowerPC uses LL/SC-style atomic instructions, the patch enables
AtomicExpandImpl::expandAtomicCmpXchg for PowerPC. With this, the weak
attribute is properly respected, and the "reservation lost" loop is
removed for weak operations.
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 4a47634a0075c49051cb4708a7f54577ecb080f4
https://github.com/llvm/llvm-project/commit/4a47634a0075c49051cb4708a7f54577ecb080f4
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/depend-complex.f90
A flang/test/Lower/OpenMP/depend-substring.f90
A flang/test/Semantics/OpenMP/depend-substring.f90
Log Message:
-----------
[flang][OpenMP] Support substrings and complex part refs for DEPEND (#143907)
Fixes #142404
The parser can't tell the difference between array indexing and a
substring: that has to be done in semantics once we have types.
Substrings can only be in the form string([lower]:[higher]) not
string(index) or string(lower:higher:step). I added semantic checks to
catch this for the DEPEND clause.
This patch also adds lowering for correct substrings and for complex
part references.
Commit: 6ca31ad720ba32bff3664af218ec2d3c29bdd1b0
https://github.com/llvm/llvm-project/commit/6ca31ad720ba32bff3664af218ec2d3c29bdd1b0
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
A flang/test/Semantics/OpenMP/parallel-master-goto.f90
Log Message:
-----------
[flang][OpenMP] improve semantic check for invalid goto (#144040)
Fixes #143229
Commit: 9c2e0bd59ce0438fcad61b0468fd939c6282d048
https://github.com/llvm/llvm-project/commit/9c2e0bd59ce0438fcad61b0468fd939c6282d048
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/mtvsrbmi.ll
Log Message:
-----------
[PowerPC][NFC] Pre-commit test case for checking whether `mtvsrbmi` power10 instruction not used (#143956)
Verify whether the generated assembly for the following function
includes the mtvsrbmi instruction.
vector unsigned char v00FF()
{
vector unsigned char x = { 0xFF, 0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0 };
return x;
}
Commit: 7e0bb2b0b9f66715c07c5eeaadb367d1a084d4c7
https://github.com/llvm/llvm-project/commit/7e0bb2b0b9f66715c07c5eeaadb367d1a084d4c7
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
A flang/test/Transforms/do-concurrent-localizer-dealloc-region.fir
A flang/test/Transforms/do-concurrent-localizer-init-region.fir
Log Message:
-----------
[flang][fir] Extend locality specs lowering to support `init` and `dealloc` regions (#144027)
Extending `fir.do_concurrent` to `fir.do_loop ... unordered` lowering by
adding support for lowring/inlining non-empty `init` and `dealloc`
regions.
Resolves https://github.com/llvm/llvm-project/issues/143897 (actually
handles the todo).
Commit: ea73fc5f079d1849ca3bed902e598191105a95dc
https://github.com/llvm/llvm-project/commit/ea73fc5f079d1849ca3bed902e598191105a95dc
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/mtvsrbmi.ll
Log Message:
-----------
[PowerPC] fixed mtvsrbmi.ll test case error caused by run the update_llc_test_checks.py (#144075)
fixed mtvsrbmi.ll test case error which caused by run the
update_llc_test_checks.py
Commit: c3ec9e3f6553b43caf2b9d754f128abbf44cf80e
https://github.com/llvm/llvm-project/commit/c3ec9e3f6553b43caf2b9d754f128abbf44cf80e
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
Log Message:
-----------
[lldb][DWARF] Don't try to compute address range information of forward declarations (#144059)
This fixes the error reported in
https://github.com/llvm/llvm-project/pull/144037.
When computing the aranges table of a CU, LLDB would currently visit all
`DW_TAG_subprogram` DIEs and check their
`DW_AT_low_pc`/`DW_AT_high_pc`/`DW_AT_ranges` attributes. If those don't
exist it would error out and spam the console. Some subprograms
(particularly forward declarations) don't have low/high pc attributes,
so it's not really an "error". See DWARFv5 spec section `3.3.3
Subroutine and Entry Point Locations`:
```
A subroutine entry may have either a DW_AT_low_pc and DW_AT_high_pc
pair of attributes or a DW_AT_ranges attribute whose values encode the
contiguous or non-contiguous address ranges, respectively, of the machine
instructions generated for the subroutine (see Section 2.17 on page 51).
...
A subroutine entry representing a subroutine declaration that is not also a
definition does not have code address or range attributes.
```
We should just ignore those DIEs.
Commit: 6f999a5d99e5cb21520d8a7878ed0d3a32971af6
https://github.com/llvm/llvm-project/commit/6f999a5d99e5cb21520d8a7878ed0d3a32971af6
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/vector-pcmp.ll
Log Message:
-----------
[x86] vector-pcmp.ll - regenerate VPTERNLOGD asm comment
Commit: a361a3dc7a12b776507f48035f245e764c45455d
https://github.com/llvm/llvm-project/commit/a361a3dc7a12b776507f48035f245e764c45455d
Author: Yash Solanki <67216443+yashnator at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
A llvm/test/Transforms/InstCombine/select-to-cmp.ll
Log Message:
-----------
[llvm][InstCombine] Fold select to cmp for weak and inverted inequalities (#143445)
Commit: 8b11de70681355d7e7a4f8f3da85afa31fa7fc74
https://github.com/llvm/llvm-project/commit/8b11de70681355d7e7a4f8f3da85afa31fa7fc74
Author: Fabian Ritter <fabian.ritter at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
A llvm/test/CodeGen/AMDGPU/ptradd-sdag.ll
Log Message:
-----------
[AMDGPU][SDAG] Initial support for ISD::PTRADD (#141725)
Enable generation of PTRADD SelectionDAG nodes for pointer arithmetic for SI,
for now behind an internal CLI option. Also add basic patterns to match these
nodes. Optimizations will come in follow-up PRs. Basic tests for SDAG codegen
with PTRADD are in test/CodeGen/AMDGPU/ptradd-sdag.ll
Only affects 64-bit address spaces for now, since the immediate use case only
affects the flat address space.
For SWDEV-516125.
Commit: 0a0960dac69fc88a3c8bd5e2099f8d45b0292c78
https://github.com/llvm/llvm-project/commit/0a0960dac69fc88a3c8bd5e2099f8d45b0292c78
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVCastOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVDialect.cpp
M mlir/lib/Dialect/SPIRV/IR/SPIRVTypes.cpp
M mlir/lib/Target/SPIRV/Deserialization/Deserializer.cpp
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/Conversion/FuncToSPIRV/types-to-spirv.mlir
M mlir/test/Dialect/SPIRV/IR/arithmetic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/atomic-ops.mlir
M mlir/test/Dialect/SPIRV/IR/cast-ops.mlir
M mlir/test/Dialect/SPIRV/IR/composite-ops.mlir
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/IR/logical-ops.mlir
M mlir/test/Dialect/SPIRV/IR/non-uniform-ops.mlir
M mlir/test/Dialect/SPIRV/IR/types.mlir
M mlir/test/Dialect/SPIRV/Transforms/vce-deduction.mlir
M mlir/test/Target/SPIRV/cast-ops.mlir
M mlir/test/Target/SPIRV/logical-ops.mlir
Log Message:
-----------
[mlir][spirv] Add bfloat16 support (#141458)
Adds bf16 support to SPIRV by using the `SPV_KHR_bfloat16` extension.
Only a few operations are supported, including loading from and storing
to memory, conversion to/from other types, cooperative matrix operations
(including coop matrix arithmetic ops) and dot product support.
This PR adds the type definition and implements the basic cast
operations. Arithmetic/coop matrix ops will be added in a separate PR.
Commit: e6a3579653196af337f191ed2a3acbbf0e6d01bb
https://github.com/llvm/llvm-project/commit/e6a3579653196af337f191ed2a3acbbf0e6d01bb
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M offload/liboffload/src/OffloadImpl.cpp
M offload/plugins-nextgen/amdgpu/src/rtl.cpp
M offload/plugins-nextgen/common/include/PluginInterface.h
M offload/plugins-nextgen/common/src/PluginInterface.cpp
M offload/plugins-nextgen/cuda/src/rtl.cpp
M offload/plugins-nextgen/host/src/rtl.cpp
Log Message:
-----------
[Offload] Replace device info queue with a tree (#144050)
Previously, device info was returned as a queue with each element having
a "Level" field indicating its nesting level. This replaces this queue
with a more traditional tree-like structure.
This should not result in a change to the output of
`llvm-offload-device-info`.
Commit: 82911f188be7ce7cb0a04b7fd648ea8b4aad2e59
https://github.com/llvm/llvm-project/commit/82911f188be7ce7cb0a04b7fd648ea8b4aad2e59
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lldb/unittests/Host/JSONTransportTest.cpp
Log Message:
-----------
[lldb][test] Skip ReadAfterClose JSON Transport tests on Windows
These were failing on our Windows on Arm bot, or more precisely,
not even completing.
This is because Microsoft's C runtime does extra parameter validation.
So when we called _read with an invalid fd, it called an invalid
parameter handler instead of returning an error.
https://learn.microsoft.com/en-us/%20cpp/c-runtime-library/reference/read?view=msvc-170
https://learn.microsoft.com/en-us/%20cpp/c-runtime-library/parameter-validation?view=msvc-170
(lldb) run
Process 8440 launched: 'C:\Users\tcwg\llvm-worker\lldb-aarch64-windows\build\tools\lldb\unittests\Host\HostTests.exe' (aarch64)
Process 8440 stopped
* thread #1, stop reason = Exception 0xc0000409 encountered at address 0x7ffb7453564c
frame #0: 0x00007ffb7453564c ucrtbase.dll`_get_thread_local_invalid_parameter_handler + 652
ucrtbase.dll`_get_thread_local_invalid_parameter_handler:
-> 0x7ffb7453564c <+652>: brk #0xf003
ucrtbase.dll`_invalid_parameter_noinfo:
0x7ffb74535650 <+0>: b 0x7ffb745354d8 ; _get_thread_local_invalid_parameter_handler + 280
0x7ffb74535654 <+4>: nop
0x7ffb74535658 <+8>: nop
You can override this handler but I'm assuming that this reading
after close isn't a crucial feature, so disabling the tests seems
like the way to go.
If it is crucial, we can check the fd before we use it.
Tests added by https://github.com/llvm/llvm-project/pull/143946.
Commit: 9670e09d0eac596fba6bf03ef1a6f3229dddee46
https://github.com/llvm/llvm-project/commit/9670e09d0eac596fba6bf03ef1a6f3229dddee46
Author: Devon Loehr <DKLoehr at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/unique_object_duplication.cpp
M clang/test/SemaCXX/unique_object_duplication.h
Log Message:
-----------
Enable unique-object-duplication warning for windows (#143537)
Followup to #125526. This expands the logic of the
unique-object-duplication warning so that it also works for windows
code.
For the most part, the logic is unchanged, merely substituting "has no
import/export annotation" in place of "has hidden visibility". However,
there are some small inconsistencies between the two; namely, visibility
is propagated through nested classes, while import/export annotations
aren't.
This PR:
1. Updates the logic for the warning to account for the differences
between posix and windows
2. Changes the warning message and documentation appropriately
3. Updates the tests to cover windows, and adds new test cases for the
places where behavior differs.
This PR was tested by building chromium (cross compiling linux->windows)
with the changes in place. After accounting for the differences in
semantics, no new warnings were discovered.
Commit: cf6ae065a042aae6324b28e99628c40bc53be0b7
https://github.com/llvm/llvm-project/commit/cf6ae065a042aae6324b28e99628c40bc53be0b7
Author: nicebert <110385235+nicebert at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M openmp/runtime/src/include/ompx.h.var
Log Message:
-----------
[OpenMP] Remove declaration and usage of __AMDGCN_WAVEFRONT_SIZE (#143761)
Removes usage of __AMDGCN_WAVEFRONT_SIZE as compile time constant.
---------
Co-authored-by: Shilei Tian <i at tianshilei.me>
Commit: ebd7f7539b1c2bc7d5e391bbb00cb56dc245b2dd
https://github.com/llvm/llvm-project/commit/ebd7f7539b1c2bc7d5e391bbb00cb56dc245b2dd
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfDebug.cpp
Log Message:
-----------
[KeyInstr][NFC] Fix incorrect atomGroup/rank uint size in computeKeyInstructions
Commit: 9e622986526a35f3f8bc60a7fc756b5c7bf825c0
https://github.com/llvm/llvm-project/commit/9e622986526a35f3f8bc60a7fc756b5c7bf825c0
Author: Darren Wihandi <65404740+fairywreath at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/test/Conversion/ConvertToSPIRV/func-signature-vector-unroll.mlir
Log Message:
-----------
[mlir][spirv] Fix FuncOpVectorUnroll to process placeholder values in all blocks (#142339)
`FuncOpVectorUnroll` contains logic that replaces function arguments by
placeholders values. These replacements also involve changing all
instructions in the function that use the arguments to use these
placeholders. These placeholder values will later be changed back to use
the function arguments (either new or original if already legal).
The current implementation however only replaces back (the second
replacement, i.e. replacing the placeholder values to new/legal
arguments) the first block of instructions and not all of the blocks.
This may leave some instructions to use these placeholder values (which
for already legal arguments are just zeroattr values that will get
DCE'd) instead of the arguments, which is incorrect.
Closes #132158.
Commit: bcfbba12e6754e0a2a5a1c8e3aac3a24316bba2d
https://github.com/llvm/llvm-project/commit/bcfbba12e6754e0a2a5a1c8e3aac3a24316bba2d
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/lib/IR/Attributes.cpp
Log Message:
-----------
[llvm] Compare std::optional<T> to values directly (NFC) (#143913)
This patch transforms:
X && *X == Y
to:
X == Y
where X is of std::optional<T>, and Y is of T or similar.
Commit: 6751b3a549ebef78a7e75b100d61742c20945592
https://github.com/llvm/llvm-project/commit/6751b3a549ebef78a7e75b100d61742c20945592
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lld/test/Unit/lit.cfg.py
M lldb/test/API/lit.cfg.py
M lldb/test/Shell/lit.cfg.py
M lldb/test/lit.cfg.py
M llvm/utils/lit/lit/LitConfig.py
M llvm/utils/lit/lit/TestRunner.py
M llvm/utils/lit/lit/discovery.py
M llvm/utils/lit/lit/worker.py
Log Message:
-----------
Revert "[lit] cleanup unused imports" (#144054)
Reverts llvm/llvm-project#143930 as it causes build failures:
https://github.com/llvm/llvm-project/pull/143930#issuecomment-2969115461
Commit: 3ea45a65edb2f033e59a12f71a8241f220791ac8
https://github.com/llvm/llvm-project/commit/3ea45a65edb2f033e59a12f71a8241f220791ac8
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/sve-fixed-length-partial-reduce.ll
Log Message:
-----------
[AArch64] Add fixed-length SVE USDOT support (#143730)
Commit: eba63cd76f7ba7f9e9964b1263f76409d08fcd04
https://github.com/llvm/llvm-project/commit/eba63cd76f7ba7f9e9964b1263f76409d08fcd04
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M flang/lib/Semantics/rewrite-directives.cpp
A flang/test/Lower/OpenMP/requires-atomic-default-mem-order.f90
M flang/test/Semantics/OpenMP/requires-atomic02.f90
Log Message:
-----------
[flang][OpenMP] Improve handling of REQUIRES ATOMIC_DEFAULT_MEM_ORDER (#143917)
According to OpenMP 5.0 rules, the ACQ_REL ordering coming from a
REQUIRES directive may need to be replaced with ACQUIRE or RELEASE
depending on the directive in the ATOMIC construct. This was not done,
leading to an incorrect "memory-order" clause appearing in the generated
HLFIR.
This may need to be relaxed a bit to fully comply with later spec
versions, that will be done in a future PR.
Commit: ec21b0fc9f64e8cffe689699d1e39533c62fcfc3
https://github.com/llvm/llvm-project/commit/ec21b0fc9f64e8cffe689699d1e39533c62fcfc3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
A llvm/test/CodeGen/X86/fixup-blend.ll
Log Message:
-----------
[X86] Add X86FixupInstTuning test coverage for (V)BLENDPD/S <-> (V)MOVSD/S patterns for various scheduler models
Commit: ca5040990ed17fa444d30c22fffcfa7ddc72612f
https://github.com/llvm/llvm-project/commit/ca5040990ed17fa444d30c22fffcfa7ddc72612f
Author: Aleksandr Platonov <platonov.aleksandr at huawei.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang/lib/Index/IndexBody.cpp
Log Message:
-----------
[clangd] Collect references in array designators (#140356)
Commit: dc9e300f12f3b9c8160dbfb0bc32252ad99c3ba7
https://github.com/llvm/llvm-project/commit/dc9e300f12f3b9c8160dbfb0bc32252ad99c3ba7
Author: Fabian Meumertzheim <fabian at meumertzhe.im>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-cov.rst
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
A llvm/test/tools/llvm-cov/showLineExecutionCounts-lcov-baseline.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
[llvm-cov] Add support for baseline coverage (#117910)
When no profile is provided, but the new --empty-profile option is
specifed, the export/report/show commands now emit coverage data
equivalent to that obtained from a profile with all zero counters
("baseline coverage").
This is useful for build systems (e.g. Bazel) that can track coverage
information for each build target, even those that are never linked into
tests and thus don't have runtime coverage data recorded. By merging in
baseline coverage, lines in files that aren't linked into tests are
correctly reported as uncovered.
Commit: 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
https://github.com/llvm/llvm-project/commit/18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCAsmStreamer.cpp
M llvm/lib/MC/MCStreamer.cpp
Log Message:
-----------
MC: Add MCAsmInfo::printExpr to replace MCExpr::print
* Make relocation specifier code closer (MCAsmInfo defines specifiers).
* MCExpr::print has an optional MCAsmInfo argument, which is
error-prone when omitted.
* Enable MCSpecifierExpr
Commit: d688df52ba9012197b3716ae85f818fafee7cf62
https://github.com/llvm/llvm-project/commit/d688df52ba9012197b3716ae85f818fafee7cf62
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
A llvm/test/Transforms/InstSimplify/vp-reverse.ll
Log Message:
-----------
[instsimplify] Add tests for missing vp.reverse simplifications
Commit: dec576514cb7106c59a5059ac6d52ebdf5de5275
https://github.com/llvm/llvm-project/commit/dec576514cb7106c59a5059ac6d52ebdf5de5275
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
Log Message:
-----------
[X86] X86FixupInstTuning - add dbg message for each instruction replacement (#144083)
Help debug the changes the pass makes
Commit: bd33eef7f1013bea24289a898f788a2efe9d8282
https://github.com/llvm/llvm-project/commit/bd33eef7f1013bea24289a898f788a2efe9d8282
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M llvm/include/llvm/IR/IntrinsicsSPIRV.td
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.cpp
M llvm/lib/Target/SPIRV/SPIRVGlobalRegistry.h
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.cpp
M llvm/lib/Target/SPIRV/SPIRVUtils.h
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferLoadStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/BufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/Packed.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/ScalarResourceType.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageDynIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StorageImageNonUniformIdx.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/StructuredBuffer.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferLoad.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/UnknownBufferStore.ll
M llvm/test/CodeGen/SPIRV/hlsl-resources/spirv.layout.type.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast-2.ll
M llvm/test/CodeGen/SPIRV/pointers/resource-addrspacecast.ll
M llvm/test/CodeGen/SPIRV/spirv-explicit-layout.ll
Log Message:
-----------
[HLSL][SPIRV] Use resource names (#143412)
The SPIR-V backend does not have access to the original name of a
resource in the source, so it tries to create a name. This leads to some
problems with reflection.
That is why start to pass the name of the resource from Clang to the
SPIR-V backend.
Fixes #138533
Commit: 68b6f392ed446ff8edfbb2a52899c9361d45ba28
https://github.com/llvm/llvm-project/commit/68b6f392ed446ff8edfbb2a52899c9361d45ba28
Author: Daniel Hernandez-Juarez <danherna at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/load_lds.mlir
Log Message:
-----------
[MLIR][AMDGPU] Fix bug in GatherToLDSOpLowering, get the correct MemRefType for destination (#142915)
This PR fixes a bug in GatherToLDSOpLowering, we were getting the
MemRefType of source for the destination. Additionally, some related
typos are corrected.
CC: @krzysz00 @umangyadav @lialan
Commit: 3b09a3d5ae41faac3c0046b93a9c6e0297cc860b
https://github.com/llvm/llvm-project/commit/3b09a3d5ae41faac3c0046b93a9c6e0297cc860b
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcInstPrinter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
Log Message:
-----------
MC,SPARC: Replace SparcMCExpr with MCSpecifierExpr
Add a hook printSpecifierExpr so that targets can implement
relocation specifier printing without inheriting from MCSpecifierExpr.
Commit: 36c710c40e8a59f74f56eb0e04e438cec5532ec5
https://github.com/llvm/llvm-project/commit/36c710c40e8a59f74f56eb0e04e438cec5532ec5
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/test/CIR/CodeGen/libc.c
Log Message:
-----------
[CIR] Change default assumption about allowing builtins (#144004)
The code to read the "nobuiltins" attributes hasn't been implemented
yet, but we were defaulting to the assumption that use of builtins is
allowed for function calls that we recognize as standard C library calls
and have builtin equivalents of. This change reverses that assumption so
that when such calls are encountered, we just emit the call. This is a
better default assumption, and since our builtin handling for these
functions isn't implemented yet, it also allows us to compile more
programs.
Commit: 3bf1e1f79ce5b4921586b24014acf5888c35e03f
https://github.com/llvm/llvm-project/commit/3bf1e1f79ce5b4921586b24014acf5888c35e03f
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVBase.td
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVImageOps.td
M mlir/lib/Dialect/SPIRV/IR/ImageOps.cpp
M mlir/test/Dialect/SPIRV/IR/image-ops.mlir
M mlir/test/Target/SPIRV/image-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition of OpImageRead (#144038)
Commit: b184672ec7f1433e5dc698cda7e61be8a6085aa6
https://github.com/llvm/llvm-project/commit/b184672ec7f1433e5dc698cda7e61be8a6085aa6
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/config/linux/x86_64/entrypoints.txt
M libc/include/wchar.yaml
M libc/src/wchar/CMakeLists.txt
A libc/src/wchar/wmemmove.cpp
A libc/src/wchar/wmemmove.h
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmemmove_test.cpp
Log Message:
-----------
[libc] Implemented wmemmove (#142245)
Implemented wmemmove and added tests
Commit: c403cf1e38faa456fdd6f1301efabea3f36c3e6b
https://github.com/llvm/llvm-project/commit/c403cf1e38faa456fdd6f1301efabea3f36c3e6b
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/VE/MCTargetDesc/VEInstPrinter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.h
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
Log Message:
-----------
VE: Replace VEMCExpr::printImpl with printSpecifierExpr
Prepare for removing the VEMCExpr subclass.
VEMCExpr overrides evaluateAsRelocatableImpl, so it cannot be removed
yet.
Commit: 6e988bd33f5fa8a529ef9208d3e147945b7bb7ed
https://github.com/llvm/llvm-project/commit/6e988bd33f5fa8a529ef9208d3e147945b7bb7ed
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
[mlir] Forward **kwargs through gentbl_shard_rule (#144001)
This allows clients to pass additional cc_library arguments through this
macro to the build rules it calls.
Commit: 2704b27a0b452f4aaf87ab26d315fdc92857373a
https://github.com/llvm/llvm-project/commit/2704b27a0b452f4aaf87ab26d315fdc92857373a
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lldb/test/API/api/multiple-debuggers/multi-process-driver.cpp
Log Message:
-----------
[lldb] Include unistd.h for _exit in multi-process-driver.cpp
This test fails to build on macOS without the correct header include.
Commit: 65d88d31ea279bbab8a0fa2c8abfb3f723a1715b
https://github.com/llvm/llvm-project/commit/65d88d31ea279bbab8a0fa2c8abfb3f723a1715b
Author: Keith Smiley <keithbsmiley at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-cov.rst
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
R llvm/test/tools/llvm-cov/showLineExecutionCounts-lcov-baseline.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
Revert "[llvm-cov] Add support for baseline coverage" (#144121)
Reverts llvm/llvm-project#117910
```
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/unittests/ProfileData/CoverageMappingTest.cpp
/home/buildbots/llvm-external-buildbots/workers/ppc64le-lld-multistage-test/ppc64le-lld-multistage-test/llvm-project/llvm/unittests/ProfileData/CoverageMappingTest.cpp:281:28: error: 'std::reference_wrapper' may not intend to support class template argument deduction [-Werror,-Wctad-maybe-unsupported]
281 | std::make_optional(std::reference_wrapper(*ProfileReader));
| ^
/usr/lib/gcc/ppc64le-redhat-linux/8/../../../../include/c++/8/bits/refwrap.h:289:11: note: add a deduction guide to suppress this warning
289 | class reference_wrapper
| ^
```
Commit: 9e23e85d6597bd59ff316a3ce93bb8ec41919b19
https://github.com/llvm/llvm-project/commit/9e23e85d6597bd59ff316a3ce93bb8ec41919b19
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/test/MinGW/lib.test
Log Message:
-----------
[LLD][Cygwin] Implement --dll-search-prefix (#143263)
GCC on Cygwin environment invokes linker with passing
`--dll-search-prefix=cyg`.
Implementing this option makes lld-mingw invokable by `gcc -fuse-ld=lld`.
---------
Co-authored-by: jeremyd2019 <github at jdrake.com>
Commit: 1072196c2737fcf921ad52e9a44c13423789111b
https://github.com/llvm/llvm-project/commit/1072196c2737fcf921ad52e9a44c13423789111b
Author: Tai Ly <tai.ly at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tosa/Utils/ConversionUtils.h
M mlir/lib/Dialect/Tosa/Transforms/TosaValidation.cpp
M mlir/lib/Dialect/Tosa/Utils/ConversionUtils.cpp
M mlir/test/Dialect/Tosa/invalid.mlir
Log Message:
-----------
[tosa] Add duplicate indices check for Scatter (#143736)
Tosa scatter operator disallow duplicate indices (per batch)
This patch adds, to the validation pass, checking for duplicate values
in scatter operator's constant indices values.
Signed-off-by: Tai Ly <tai.ly at arm.com>
Commit: b81d5e06c7cba8c9f1f5380daed4b9ee139214ba
https://github.com/llvm/llvm-project/commit/b81d5e06c7cba8c9f1f5380daed4b9ee139214ba
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/test/Transforms/InstCombine/abs-1.ll
M llvm/test/Transforms/InstCombine/fma.ll
M llvm/test/Transforms/InstCombine/minmax-intrinsics.ll
M llvm/test/Transforms/InstCombine/powi.ll
M llvm/test/Transforms/InstCombine/scmp.ll
M llvm/test/Transforms/InstCombine/sqrt.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/add_sub_sat.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls-inseltpoison.ll
M llvm/test/Transforms/SLPVectorizer/X86/alternate-calls.ll
Log Message:
-----------
[InstCombine] Fold shuffles through all trivially vectorizable intrinsics (#141979)
This addresses a TODO in foldShuffledIntrinsicOperands to use
isTriviallyVectorizable instead of a hardcoded list of intrinsics, which
in turn allows more intriniscs to be scalarized by VectorCombine.
>From what I can tell every intrinsic here should be speculatable so an
assertion was added.
Because this enables intrinsics like abs which have a scalar operand, we
need to also check isVectorIntrinsicWithScalarOpAtArg.
Commit: c609112a5383c10272e3afceedd4d03f26437cf0
https://github.com/llvm/llvm-project/commit/c609112a5383c10272e3afceedd4d03f26437cf0
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest." (#143972)
This reverts commit a93e55e57ed00a55f822c64e3520c7c732b58480 and fixes
build and test failures:
* Proper include added to setvbuf_test.cpp
* fgetc/fgetc_unlocked/fgets tests are ported to ErrnoSetterMatcher and
are made more precise. This fixes inconsistencies between expectations
in regular and GPU builds - ErrnoSetterMatcher is configured to omit
errno matching on GPUs, as fgetc implementation on GPU doesn't set
errno, in contrast to Linux.
Commit: 493c1612d6f8f7a40d0bf0ba28fb753be83fac1c
https://github.com/llvm/llvm-project/commit/493c1612d6f8f7a40d0bf0ba28fb753be83fac1c
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/test/CodeGen/SPIRV/ExecutionMode_Fragment.ll
Log Message:
-----------
[SPIRV] Fix ExecutionMode_fragment.ll test (#144116)
Fix test broken by https://github.com/llvm/llvm-project/pull/143412.
Commit: fd432151a607a997c417f32cb70650fc7728629a
https://github.com/llvm/llvm-project/commit/fd432151a607a997c417f32cb70650fc7728629a
Author: William Huynh <113542065+saturn691 at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/include/math.yaml
M libc/include/wchar.yaml
M libc/test/src/stdio/printf_core/converter_test.cpp
Log Message:
-----------
[libc] Fix bugs found when testing with all headers (#144049)
Fixes a couple of bugs found when building. The PR to enable the headers
can be found here: #144114.
- math.yaml: float128 guard
- wchar.yaml: __restrict keyword order
Commit: 9a3082276d21873a37925d0c6ad89bd28d065cea
https://github.com/llvm/llvm-project/commit/9a3082276d21873a37925d0c6ad89bd28d065cea
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/test/CIR/CodeGen/forrange.cpp
Log Message:
-----------
[CIR][NFC] Fix forrange.cpp test (#144123)
A recent change has cause the begin and end iterators in the
forrange.cpp CIR codegen test to be marked as 'init' causing the test to
fail. This change fixes the checks in the test.
Commit: 62eea86424c4eacd38ad8a03f4bdae78687e3ade
https://github.com/llvm/llvm-project/commit/62eea86424c4eacd38ad8a03f4bdae78687e3ade
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGen/array.cpp
Log Message:
-----------
[CIR] Update isSized with upstreamed types (#143960)
Update `isSized` function with the upstreamed types
Commit: ec330cf6701793525da9eb471e7ff796938ab54a
https://github.com/llvm/llvm-project/commit/ec330cf6701793525da9eb471e7ff796938ab54a
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
[bazel] Update llvm-config.h and disable DebugLoc tracking (#144125)
In c588224ca797886064a7a79f6c0114a6963c325e, @chapuni set
LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING to 1, but from what I can tell,
this is not the default setting for CMake builds. I think the intention
was mostly just to update llvm-config.h to fix the Bazel build.
I'm adding LLVM_ENABLE_DEBUGLOC_ORIGIN_TRACKING as well to fix the build
for the same purpose.
Commit: 51689c9df2fbb81aab1ff802f3efb86cac926853
https://github.com/llvm/llvm-project/commit/51689c9df2fbb81aab1ff802f3efb86cac926853
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/OSUtil/fcntl.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/fcntl.cpp
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/fcntl.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/linux/shm_unlink.cpp
M libc/src/unistd/linux/close.cpp
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[libc][NFC] clean internal fd handling (#143991)
The previous internal fcntl implementation modified errno directly, this
patch fixes that. This patch also moves open and close into OSUtil since
they are used in multiple places. There are more places that need
similar cleanup but only got comments in this patch to keep it
relatively reviewable.
Related to: https://github.com/llvm/llvm-project/issues/143937
Commit: 5578bcbcfd25c797d4d14b8dfb3f83360712513d
https://github.com/llvm/llvm-project/commit/5578bcbcfd25c797d4d14b8dfb3f83360712513d
Author: Chao Chen <chao.chen at intel.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/XeGPU/Utils/XeGPUUtils.h
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
M mlir/lib/Dialect/XeGPU/Utils/XeGPUUtils.cpp
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
Log Message:
-----------
[mlir][xegpu] add support for structure control flow ops in workgroup to subgroup distribution (#142618)
This PR introduces support for `scf::ForOp`, `scf::WhileOp`, `scf::If`,
and `scf::Condition` within the workgroup-subgroup-distribution pass,
leveraging the `SCFStructuralTypeConversionsAndLegality`.
Commit: ecdb549e6de60b3211cfa860eec498270e3980f1
https://github.com/llvm/llvm-project/commit/ecdb549e6de60b3211cfa860eec498270e3980f1
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/TableGen/Record.cpp
M llvm/test/TableGen/true-false.td
Log Message:
-----------
[TableGen] Avoid evaluating RHS of a BinOp until short-circuit is complete (#144021)
This patch adds an even more aggressive short-circuit on `!and` and
`!or` that completely avoids the evaluation of RHS operand until short
circuiting decisions are made.
Commit: 09c54c2e9e044fa0857831e6ce1bf77c8ce16ecc
https://github.com/llvm/llvm-project/commit/09c54c2e9e044fa0857831e6ce1bf77c8ce16ecc
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/IR2Vec.h
M llvm/lib/Analysis/IR2Vec.cpp
M llvm/unittests/Analysis/IR2VecTest.cpp
Log Message:
-----------
[IR2Vec] Minor vocab changes and exposing weights (#143200)
This PR changes some asserts in Vocab to hard checks that emit error and exposes flags and constructor to help in unit tests.
(Tracking issue - #141817)
Commit: 9d49b82de077c730d687593604dfa00770f11965
https://github.com/llvm/llvm-project/commit/9d49b82de077c730d687593604dfa00770f11965
Author: Naveen Seth Hanig <naveen.hanig at outlook.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
Log Message:
-----------
[clang-scan-deps] Implement P2223R2 for DependencyDirectiveScanner.cpp (#143950)
P2223R2 allows the line-continuation slash `\` to be followed by
additional whitespace. The Clang lexer already follows this behavior,
also for versions prior to C++23. The dependency directive scanner
however only implements it for `#define` directives (15d5f5d).
This fully implements P2223R2 for the dependency directive scanner (for
any C++ standard) and aligns the dependency directive scanner's splicing
behavior with that of the Clang lexer.
For example, the following code was previously not scanned correctly by
`clang-scan-deps` but now works as expected:
```cpp
import \<whitespace here>
A;
```
Commit: 92a116c4ef822950f8c57eaa5164c844c73a1f7e
https://github.com/llvm/llvm-project/commit/92a116c4ef822950f8c57eaa5164c844c73a1f7e
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
Revert "Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest."" (#144129)
Reverts llvm/llvm-project#143972 - matcher seems to be pedantic for
fgets tests, reverting to verify and fix.
Commit: 452276ecc0f5d1cb9bf5e1655e422a68eafdb8b9
https://github.com/llvm/llvm-project/commit/452276ecc0f5d1cb9bf5e1655e422a68eafdb8b9
Author: Michael Jones <michaelrj at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/fuzzing/stdio/CMakeLists.txt
Log Message:
-----------
[libc] Fix missing errno include in fuzzer (#144132)
The printf parser uses errno for setting up the %m conversion. It was
presumably getting this include indirectly until a recent change. This
patch adds a direct dependency to fix it.
Commit: 0c7ce6883a04dadd9daf0d41cba58c2f9eec19ad
https://github.com/llvm/llvm-project/commit/0c7ce6883a04dadd9daf0d41cba58c2f9eec19ad
Author: Charitha Saumya <136391709+charithaintc at users.noreply.github.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorDistribute.cpp
M mlir/test/Dialect/Vector/vector-warp-distribute.mlir
Log Message:
-----------
Revert "[mlir][vector] Fix for WarpOpScfForOp failure when scf.for has results that are unused." (#144124)
Reverts llvm/llvm-project#141853
Reverting the bug fix because it does not handle all cases correctly.
Commit: f82cf7442029d3376813db82eca60800e999bfb9
https://github.com/llvm/llvm-project/commit/f82cf7442029d3376813db82eca60800e999bfb9
Author: Artem Gindinson <gindinson at roofline.ai>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Utils/ReshapeOpsUtils.cpp
M mlir/unittests/Dialect/Utils/ReshapeOpsUtilsTest.cpp
Log Message:
-----------
[mlir][tensor] Fix `getReassociationForCollapse` for tensor/scalar re… (#144118)
…shapes
Commit 6e5a142 changed the behavior of the function when computing
reassociations between tensors (consisting of unit/dynamic dimensions)
and scalars/0d vectors. The IR representation for such reshapes actually
expects an empty reassociation, like so:
```
func.func @example(%arg0 : tensor<?x?x?xf32>) -> tensor<f32> {
%0 = tensor.collapse_shape %arg0 [] : tensor<?x?x?xf32> into tensor<f32>
}
```
Restore the original behavior - the routine should resort to reporting
failures when compile time-known non-unit dimensions are part of the
attempted reassociation.
Signed-off-by: Artem Gindinson <gindinson at roofline.ai>
Commit: 52d34865b9db3485c8a671a88cc571270349f720
https://github.com/llvm/llvm-project/commit/52d34865b9db3485c8a671a88cc571270349f720
Author: FYK <fanju110 at 163.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/ProfileList.h
M clang/include/clang/Driver/Options.td
M clang/lib/Basic/ProfileList.cpp
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/test/Driver/flang-f-opts.f90
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
A flang/test/Profile/gcc-flag-compatibility.f90
M llvm/include/llvm/Frontend/Driver/CodeGenOptions.h
M llvm/lib/Frontend/Driver/CMakeLists.txt
M llvm/lib/Frontend/Driver/CodeGenOptions.cpp
Log Message:
-----------
Fix and reapply IR PGO support for Flang (#142892)
This PR resubmits the changes from #136098, which was previously
reverted due to a build failure during the linking stage:
```
undefined reference to `llvm::DebugInfoCorrelate'
undefined reference to `llvm::ProfileCorrelate'
```
The root cause was that `llvm/lib/Frontend/Driver/CodeGenOptions.cpp`
references symbols from the `Instrumentation` component, but the
`LINK_COMPONENTS` in the `llvm/lib/Frontend/CMakeLists.txt` for
`LLVMFrontendDriver` did not include it. As a result, linking failed in
configurations where these components were not transitively linked.
### Fix:
This updated patch explicitly adds `Instrumentation` to
`LINK_COMPONENTS` in the relevant `llvm/lib/Frontend/CMakeLists.txt`
file to ensure the required symbols are properly resolved.
---------
Co-authored-by: ict-ql <168183727+ict-ql at users.noreply.github.com>
Co-authored-by: Chyaka <52224511+liliumshade at users.noreply.github.com>
Co-authored-by: Tarun Prabhu <tarunprabhu at gmail.com>
Commit: f6bf3bd5e001918780e7b1e8fceeb02604d65783
https://github.com/llvm/llvm-project/commit/f6bf3bd5e001918780e7b1e8fceeb02604d65783
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[bazel] Fix XeGpu deps for 5578bcbcfd25c (#144133)
Commit: 59388fb0b92d7efd5737efd6c7b6d5c82f1bc6a8
https://github.com/llvm/llvm-project/commit/59388fb0b92d7efd5737efd6c7b6d5c82f1bc6a8
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineInternal.h
M llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
M llvm/test/Transforms/InstCombine/canonicalize-const-to-bop.ll
Log Message:
-----------
[InstCombine] Preserve NSW/NUW flags when folding const BOp with min/max (#143471)
When folding `X Pred C2 ? X BOp C1 : C2 BOp C1` to `min/max(X, C2) BOp
C1`, if NUW/NSW flags are present on `X BOp C1` and could be safely
applied to `C2 BOp C1`, then they may be added on the BOp after the fold
is complete. https://alive2.llvm.org/ce/z/n_3aNJ
Preserving these flags can allow subsequent transforms to re-order the
min/max and BOp, which in the case of NVPTX would allow for some
potential future transformations which would improve
instruction-selection.
Commit: f68848015f62156b8c3539b44f16d9c8b0a93a89
https://github.com/llvm/llvm-project/commit/f68848015f62156b8c3539b44f16d9c8b0a93a89
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/vplan-printing-reductions.ll
Log Message:
-----------
[VPlan] Manage Sentinel value for FindLastIV in VPlan. (#142291)
Similar to modeling the start value as operand, also model the sentinel
value as operand explicitly. This makes all require information for
code-gen available directly in VPlan.
PR: https://github.com/llvm/llvm-project/pull/142291
Commit: 24bbc820701b49ab8bc7b9670034e39e11da8a16
https://github.com/llvm/llvm-project/commit/24bbc820701b49ab8bc7b9670034e39e11da8a16
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenModule.h
A clang/test/CIR/CodeGen/static-vars.c
A clang/test/CIR/CodeGen/static-vars.cpp
Log Message:
-----------
[CIR] Support for static variables (#143980)
This adds support for emitting static variables and their initializers.
Commit: 79e06bf1ae9961c5045134288fd8acc9173f6be2
https://github.com/llvm/llvm-project/commit/79e06bf1ae9961c5045134288fd8acc9173f6be2
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
A llvm/test/CodeGen/AMDGPU/promote-alloca-structs.ll
Log Message:
-----------
[AMDGPU] Extended vector promotion to aggregate types. (#143784)
Extends the `amdgpu-promote-alloca-to-vector` pass to also promote
aggregate types whose elements are all the same type to vector
registers.
The motivation for this extension was to account for IR generated by the
frontend containing several singleton struct types containing vectors or
vector-like elements, though the implementation is strictly more
general.
Commit: a08de429e4ae0baaed23060cbae5c73dc6ffcc5d
https://github.com/llvm/llvm-project/commit/a08de429e4ae0baaed23060cbae5c73dc6ffcc5d
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn] port cc365331af42
Commit: 2f1e6eb6c3e731266052536c3f98cce3a71a316e
https://github.com/llvm/llvm-project/commit/2f1e6eb6c3e731266052536c3f98cce3a71a316e
Author: yonghong-song <yhs at fb.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCCodeEmitter.cpp
A llvm/test/CodeGen/BPF/warn-cmp.ll
Log Message:
-----------
[BPF] Report an warning if certain insn imm operand cannot fit in 32bit (#142989)
Ihor Solodrai reported a case ([1]) where gcc reports an error but clang
ignores that error and proceeds to generate incorrect code. More
specifically, the problematic code looks like:
if r1 == 0xcafefeeddeadbeef goto <label>
Here, 0xcafefeeddeadbeef needs to be encoded in a 32-bit imm field
of the insns and the 32-bit imm allows sign extenstion to 64-bit imm.
Obviously, 0xcafefeeddeadbeef cannot encode properly.
The compilation failed for gcc with the following error:
Error: immediate out of range, shall fit in 32 bits
Given a 64-bit imm value, converting to the proper 32-bit imm value
must satisfy the following 64-bit patterns:
00000000 00000000 00000000 00000000 xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
11111111 11111111 11111111 11111111 1xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx
So if the top 32-bits is 0 or the top 33-bits is 0x1ffffffff, then the 64-bit imm
value can be truncated into proper 32-bit imm. Otherwise, a warning
message, the same as gcc, will be issued. If -Werror is enabled during
compilation, the warning will turn into an error.
[1] https://lore.kernel.org/bpf/70affb12-327b-4882-bd1d-afda8b8c6f56@linux.dev/
Commit: 90d98a38b273f5d62424a3815447675860947927
https://github.com/llvm/llvm-project/commit/90d98a38b273f5d62424a3815447675860947927
Author: Corentin Jabot <corentinjabot at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/CXX/drs/cwg18xx.cpp
M clang/test/SemaCXX/overload-resolution-deferred-templates.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
Revert "[Clang] Added explanation why `is_constructible` evaluated to false. " (#144127)
Reverts llvm/llvm-project#143309
Someone needs to go through the libc++ tests and update the diagnostics
checks in those tests (ie, i don't believe there was anything wrong with
the PR, but it impacts libc++ tests nonetheless
Commit: 83f215b0350289f3bd349c1f85826a58d8d80f03
https://github.com/llvm/llvm-project/commit/83f215b0350289f3bd349c1f85826a58d8d80f03
Author: Fabian Meumertzheim <fabian at meumertzhe.im>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-cov.rst
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/lib/ProfileData/Coverage/CoverageMapping.cpp
A llvm/test/tools/llvm-cov/showLineExecutionCounts-lcov-baseline.test
M llvm/tools/llvm-cov/CodeCoverage.cpp
M llvm/unittests/ProfileData/CoverageMappingTest.cpp
Log Message:
-----------
Reland "[llvm-cov] Add support for baseline coverage" (#144130)
When no profile is provided, but the new --empty-profile option is
specified, the export/report/show commands now emit coverage data
equivalent to that obtained from a profile with all zero counters
("baseline coverage").
This is useful for build systems (e.g. Bazel) that can track coverage
information for each build target, even those that are never linked into
tests and thus don't have runtime coverage data recorded. By merging in
baseline coverage, lines in files that aren't linked into tests are
correctly reported as uncovered.
Reland with fixes to `CoverageMappingTest.cpp`.
Reverts llvm/llvm-project#144121
Commit: f952af30fd2efbf6effa3e845f0e49a9f0e2302d
https://github.com/llvm/llvm-project/commit/f952af30fd2efbf6effa3e845f0e49a9f0e2302d
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
Log Message:
-----------
[clang][docs][RISCV] Prepend the HelpText for -mrvv-vector-bits into the DocBrief. (#144128)
The DocBrief is used to generate the webpage description of the option.
The current text only talks about the possible values, but not what the
option does.
Commit: acc58ac8bf792d78233daf913565e2cbb61a8f5c
https://github.com/llvm/llvm-project/commit/acc58ac8bf792d78233daf913565e2cbb61a8f5c
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
[bazel] Add missing dep for 52d34865b9db3485c (#144147)
Commit: b7cb34840cd1e8cea932f04d5b4e34b4056cb6de
https://github.com/llvm/llvm-project/commit/b7cb34840cd1e8cea932f04d5b4e34b4056cb6de
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/cast.cpp
Log Message:
-----------
[CIR] Enable floating point casts (#144142)
We already had the code in place to emit CIR floating point cast ops
that get lowered to fpext or fptrunc, but we weren't calling the
function to emit that cast from ScalarExprEmitter::emitScalarCast. This
change adds that call.
Commit: 65eaed7d5a08210cd5b419f45845d5de81435d7e
https://github.com/llvm/llvm-project/commit/65eaed7d5a08210cd5b419f45845d5de81435d7e
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/test/CIR/CodeGen/basic.c
Log Message:
-----------
[CIR] Handle character literal values (#144141)
This change adds a handler for emitting a cir.constant op when a
character literal is encountered outside an initializer expression.
Commit: f5df231d8caece81fd800b921cf4fbd7774e2885
https://github.com/llvm/llvm-project/commit/f5df231d8caece81fd800b921cf4fbd7774e2885
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[LV] Fix test line and regen an autogen test
Commit: 1ded2c599fd230b2d355386c019a3054f5745d55
https://github.com/llvm/llvm-project/commit/1ded2c599fd230b2d355386c019a3054f5745d55
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/vector-loop-backedge-elimination-epilogue.ll
Log Message:
-----------
[LV] Use createIterationCountCheck during epilogue skeleton creation.
Use helper already used for minimum trip count checks for the regular
ILV skeleton creation also for epilogue skeleton creation.
Commit: c42912b8c96ff1130437e47c163aeb5c1191fe5d
https://github.com/llvm/llvm-project/commit/c42912b8c96ff1130437e47c163aeb5c1191fe5d
Author: Amy Huang <akhuang at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/src/string/string_utils.h
Log Message:
-----------
Fix string_length function so that it always returns. (#144148)
Previously setting LIBC_COPT_STRING_UNSAFE_WIDE_READ would cause a build
error because there is a path in the ifdef that doesn't return anything.
Commit: 938e91e4fe10a9ff810b41ee74f5c0af8d3ac490
https://github.com/llvm/llvm-project/commit/938e91e4fe10a9ff810b41ee74f5c0af8d3ac490
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/unittests/ProfileData/DataAccessProfTest.cpp
Log Message:
-----------
[memprof] Use testing::IsEmpty (NFC) (#144096)
This patch replaces testing::IsEmpty with IsEmpty because we already
have:
using ::testing::IsEmpty;
near the beginning of the file.
Commit: 6d0cfc2ca51e9365f1c6f216df30a612958aca70
https://github.com/llvm/llvm-project/commit/6d0cfc2ca51e9365f1c6f216df30a612958aca70
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
Log Message:
-----------
[Vectorize] Use llvm::drop_begin (NFC) (#144098)
We can pass a range to llvm::drop_begin.
Commit: 2a805589f56b30b27057c7549dd0ad2963ae16b1
https://github.com/llvm/llvm-project/commit/2a805589f56b30b27057c7549dd0ad2963ae16b1
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
Log Message:
-----------
[SPIRV] Use llvm::all_of (NFC) (#144099)
We can pass a range to llvm::all_of.
Commit: 5064a5bc3e958aeb18bf3f8c7144c99cc3103a91
https://github.com/llvm/llvm-project/commit/5064a5bc3e958aeb18bf3f8c7144c99cc3103a91
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/IR/DebugInfo.cpp
Log Message:
-----------
[IR] Remove a redundant control flow statement (NFC) (#144100)
Commit: a89df72ec0864301f102296dcf7b3bd22844adf5
https://github.com/llvm/llvm-project/commit/a89df72ec0864301f102296dcf7b3bd22844adf5
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
A llvm/test/ThinLTO/X86/Inputs/devirt_single_hybrid_foo_tcl.ll
M llvm/test/ThinLTO/X86/devirt_single_hybrid.ll
Log Message:
-----------
WholeProgramDevirt: Fix importing in llvm.type.checked.load case.
We were clearing SummaryTypeCheckedLoadUsers to prevent devirtualized
llvm.type.checked.load calls from being converted to llvm.type.test,
which meant that AddCalls would not see them in the list of
callsites and they would not get imported. Fix that by not clearing
SummaryTypeCheckedLoadUsers so that the list survives to AddCalls and
using AllCallSitesDevirted to control whether to convert them instead.
Reviewers: teresajohnson
Reviewed By: teresajohnson
Pull Request: https://github.com/llvm/llvm-project/pull/144019
Commit: 52a6492136ef43462c68efa88a0276bb66ee8c52
https://github.com/llvm/llvm-project/commit/52a6492136ef43462c68efa88a0276bb66ee8c52
Author: Reid Kleckner <rnk at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/test/UnitTest/BUILD.bazel
M utils/bazel/llvm-project-overlay/libc/test/src/stdlib/BUILD.bazel
Log Message:
-----------
[bazel] Add missing errno deps one more time
Commit: 60d000496b5485c89c51e64b2b339210d48263be
https://github.com/llvm/llvm-project/commit/60d000496b5485c89c51e64b2b339210d48263be
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/include/llvm/Support/Compiler.h
Log Message:
-----------
[Cygwin] Define LLVM_ABI for Cygwin (#143222)
592243c1cb3ea53b34033132a87b0d14af9d1079 should be also applied to
LLVM_ABI.
Commit: be5c96bfac328fed548c532bbe1710fe23460a85
https://github.com/llvm/llvm-project/commit/be5c96bfac328fed548c532bbe1710fe23460a85
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
A clang/test/CodeGen/debug-info-version-coff.c
M clang/test/CodeGen/debug-info-version.c
A clang/test/CodeGenCXX/debug-info-coff.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-arm.cpp
M clang/test/Frontend/ast-main.c
M clang/test/Frontend/ast-main.cpp
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
M llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.h
M llvm/test/CodeGen/Generic/selection-dag-determinism.ll
M llvm/test/DebugInfo/COFF/dwarf-headers.ll
A llvm/test/DebugInfo/COFF/emission-kind-no-codeview.ll
M llvm/test/DebugInfo/COFF/emission-kind-no-debug.ll
M llvm/test/DebugInfo/COFF/fission-cu.ll
M llvm/test/DebugInfo/COFF/fission-sections.ll
A llvm/test/DebugInfo/COFF/uefi-nodebug.ll
M llvm/test/DebugInfo/Generic/directives-only.ll
Log Message:
-----------
[CodeGen][COFF] Always emit CodeView compiler info on Windows targets (#142970)
MSVC always emits minimal CodeView metadata with compiler information,
even when debug info is otherwise disabled. Other tools may rely on this
metadata being present. For example, linkers use it to determine whether
hotpatching is enabled for the object file.
Commit: f62a8ab9304fb8b8b3ac3519a7addd7d3d234b04
https://github.com/llvm/llvm-project/commit/f62a8ab9304fb8b8b3ac3519a7addd7d3d234b04
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
A clang/test/CIR/IR/invalid-vector-shuffle-wrong-index.cir
Log Message:
-----------
[CIR] Extend VecShuffleOp verifier to catch invalid index (#143262)
Extend the verifier to catch index larger than the size of vector
elements in VecShuffleOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 5ab285e0a60ad914bda893dbe18b6c1c562f3db6
https://github.com/llvm/llvm-project/commit/5ab285e0a60ad914bda893dbe18b6c1c562f3db6
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M lld/COFF/Writer.cpp
M lld/test/COFF/pdata-arm64ec.test
Log Message:
-----------
[LLD][COFF] Fix ARM64X CHPE exception data size relocation when no x86 .pdata is present (#144085)
Fixes an issue where we incorrectly skip setting the relocation value if
`hybridPdata.first` is null.
Commit: 8229628cf1812e126ff72ee9f4b5f267db4c91da
https://github.com/llvm/llvm-project/commit/8229628cf1812e126ff72ee9f4b5f267db4c91da
Author: Jacek Caban <jacek at codeweavers.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang/test/CodeGenCXX/debug-info-coff.cpp
Log Message:
-----------
[Clang] Relax DICompileUnit producer check in debug-info-coff.cpp test (NFC)
Fixes test from #142970 on Fuchsia CI, which uses "Fuchsia clang version" prefix.
Commit: 3afc2be1f0a4d3e3f646403a7495bcb12ef94246
https://github.com/llvm/llvm-project/commit/3afc2be1f0a4d3e3f646403a7495bcb12ef94246
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
A llvm/test/tools/llvm-lto2/print-guid.test
M llvm/tools/llvm-lto2/llvm-lto2.cpp
Log Message:
-----------
llvm-lto2: Add print-guid subcommand.
This is useful for debugging ThinLTO issues.
Reviewers: teresajohnson
Reviewed By: teresajohnson
Pull Request: https://github.com/llvm/llvm-project/pull/143992
Commit: 473dea9b0b86d48db805079fa3e68b37e1dbcdd9
https://github.com/llvm/llvm-project/commit/473dea9b0b86d48db805079fa3e68b37e1dbcdd9
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/test/UnitTest/CMakeLists.txt
Log Message:
-----------
[libc] Output all headers with LIBC_CONF_OUTPUT_ALL_HEADERS (#144114)
Following discussion from
https://discourse.llvm.org/t/missing-declarations-in-header-files/86678,
we decided to add a flag to output all headers. Requires #144049.
- Allows outputting all headers
- Minor whitespace change for alignment
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: 2c440232e261746970cdf6f74d6588464eecd48b
https://github.com/llvm/llvm-project/commit/2c440232e261746970cdf6f74d6588464eecd48b
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/libc/BUILD.bazel
Log Message:
-----------
[bazel][libc] Add missing deps after 51689c9df2fbb81aab1ff802f3efb86cac926853
Commit: a591bd222b2e0356b8132b515422fe480b87322b
https://github.com/llvm/llvm-project/commit/a591bd222b2e0356b8132b515422fe480b87322b
Author: Amy Huang <akhuang at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/config/config.json
Log Message:
-----------
Turn LIBC_COPT_STRING_UNSAFE_WIDE_READ on by default (#144163)
Configure strlen to use unsafe implementation because it is faster.
Because this is undefined behavior it could cause sanitizers to fail.
Commit: ca38027c036593ae487ccef250ebd5133803bb55
https://github.com/llvm/llvm-project/commit/ca38027c036593ae487ccef250ebd5133803bb55
Author: Amy Huang <akhuang at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M libc/config/config.json
Log Message:
-----------
Revert "Turn LIBC_COPT_STRING_UNSAFE_WIDE_READ on by default" (#144167)
Reverts llvm/llvm-project#144163 because for some reason I didn't
realize there are ASan tests.
Commit: d7e64d9594d241d6a9186fadad2b0d40a8fba8a7
https://github.com/llvm/llvm-project/commit/d7e64d9594d241d6a9186fadad2b0d40a8fba8a7
Author: Florian Mayer <fmayer at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/MemorySanitizer.cpp
M llvm/test/Instrumentation/MemorySanitizer/X86/avx2-intrinsics-x86.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics-upgrade.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/avx512vl-intrinsics.ll
M llvm/test/Instrumentation/MemorySanitizer/X86/x86-vpermi2.ll
M llvm/test/Instrumentation/MemorySanitizer/i386/avx2-intrinsics-i386.ll
Log Message:
-----------
[MSAN] handle assorted AVX permutations (#143462)
Commit: 7f69cd578de899f8b00525a02d1fe25dab567bcf
https://github.com/llvm/llvm-project/commit/7f69cd578de899f8b00525a02d1fe25dab567bcf
Author: Erick Velez <erickvelez7 at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
Log Message:
-----------
[clang-doc] remove default label on some switches (#143919)
LLVM style prefers no default label on fully covered switches to warn if
new enums are added. This patch removes the default label for that
purpose or uses IT_default instead of default if that was the only enum
not covered.
Commit: 417ab37d85ad1bb3e5623dff487ef108404e37f5
https://github.com/llvm/llvm-project/commit/417ab37d85ad1bb3e5623dff487ef108404e37f5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/vector-calls.ll
Log Message:
-----------
[ConstantFolding] Fold deinterleave2 of any splat vector not just zeroinitializer (#144144)
While there remove an unnecessary dyn_cast from Constant to Constant.
Reverse a branch condition into an early out to reduce nesting.
Commit: 15f100d1445846cdb55c24e588a74fde522fc9c9
https://github.com/llvm/llvm-project/commit/15f100d1445846cdb55c24e588a74fde522fc9c9
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/tblgen.bzl
Log Message:
-----------
[bazel] fix mlir/tblgen.bzl formatting after 6e988bd33f5fa8a529ef9208d3e147945b7bb7ed
Commit: bd319d9071fb0c6e1bda9db500d039d32a49c28a
https://github.com/llvm/llvm-project/commit/bd319d9071fb0c6e1bda9db500d039d32a49c28a
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
[Cygwin] CYGWIN is not WIN32 in current CMake (#143130)
On old CMake, Cygwin were also WIN32 but currently not. LLVM_ON_UNIX=1
and LLVM_HAVE_LINK_VERSION_SCRIPT=0 should be defined for Cygwin target.
Commit: e37707b1e85cfc07fe75fd6b7e5d41963c52a8ec
https://github.com/llvm/llvm-project/commit/e37707b1e85cfc07fe75fd6b7e5d41963c52a8ec
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
M llvm/lib/Target/RISCV/RISCVInstrInfo.h
Log Message:
-----------
[RISCV] Use unsigned instead of uint16_t for the Opcode argument to getVectorLowDemandedScalarBits. NFC
All the callers pass an unsigned and uint16_t arguments are unusual.
Commit: d4c7d0be1f5235555393313bb1f8e46c97f76766
https://github.com/llvm/llvm-project/commit/d4c7d0be1f5235555393313bb1f8e46c97f76766
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/MC/MCObjectStreamer.cpp
Log Message:
-----------
MCObjectStreamer: Replace getAssemblerPtr with getAssembler
In general getAssemblerPtr should only be called by MCParse.
Revert some changes from https://reviews.llvm.org/D45164?id=143128
Commit: 709ba084c5632b786f2e6c503d3f9f27e1f1c433
https://github.com/llvm/llvm-project/commit/709ba084c5632b786f2e6c503d3f9f27e1f1c433
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Use RISCVII::getVecPolicyOpNum instead of making assumptions. NFC (#144175)
Commit: ef265ed23038a3719829a08fcbf7384fbdfe0451
https://github.com/llvm/llvm-project/commit/ef265ed23038a3719829a08fcbf7384fbdfe0451
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Simplify macros used by RISCVInstrInfo::convertToThreeAddress. NFC (#144173)
Merge some macros that are only used once by another macro.
Rename macros to remove _MF4 where not needed.
I suspect these are artifacts from FP being split from integer in the
past.
Commit: 35e3c50731870cc37a73ef1286a92f49347ccea4
https://github.com/llvm/llvm-project/commit/35e3c50731870cc37a73ef1286a92f49347ccea4
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfo.cpp
Log Message:
-----------
[RISCV] Simplify macros used for commuting vector multiply-accumulate instructions. NFC (#144169)
Inline some macros that were only instantiated once.
Remove unused macros.
#undef macros when finished with them
Commit: 0bd614a8ee11cfc5cee8719b3209f40b163d5a62
https://github.com/llvm/llvm-project/commit/0bd614a8ee11cfc5cee8719b3209f40b163d5a62
Author: Tomohiro Kashiwada <kikairoya at gmail.com>
Date: 2025-06-13 (Fri, 13 Jun 2025)
Changed paths:
M llvm/tools/llvm-shlib/CMakeLists.txt
Log Message:
-----------
[Cygwin] Don't use version script for Cygwin target (#143133)
Cygwin is a COFF platform and does not support version-script.
I guess I should use LLVM_HAVE_LINK_VERSION_SCRIPT here, but I don't
know why this is not currently the case.
Commit: 07fa6d1d90c714fa269529c3e5004a063d814c4a
https://github.com/llvm/llvm-project/commit/07fa6d1d90c714fa269529c3e5004a063d814c4a
Author: Konstantin Bogdanov <thevar1able at users.noreply.github.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/select.ll
M llvm/test/Transforms/PhaseOrdering/X86/vector-reductions.ll
Log Message:
-----------
[InstCombine] Avoid folding `select(umin(X, Y), X)` with min/max values in false arm (#143020)
Fixes https://github.com/llvm/llvm-project/issues/139050.
This patch adds a check to avoid folding min/max reduction into select, which may block loop vectorization.
The issue is that the following snippet:
```
declare i8 @llvm.umin.i8(i8, i8)
define i8 @masked_min_fold_bug(i8 %acc, i8 %val, i8 %mask) {
; CHECK-LABEL: @masked_min_fold_bug(
; CHECK: %cond = icmp eq i8 %mask, 0
; CHECK: %masked_val = select i1 %cond, i8 %val, i8 255
; CHECK: call i8 @llvm.umin.i8(i8 %acc, i8 %masked_val)
;
%cond = icmp eq i8 %mask, 0
%masked_val = select i1 %cond, i8 %val, i8 255
%res = call i8 @llvm.umin.i8(i8 %acc, i8 %masked_val)
ret i8 %res
}
```
is being optimized to the following code, which can not be vectorized
later.
```
declare i8 @llvm.umin.i8(i8, i8) #0
define i8 @masked_min_fold_bug(i8 %acc, i8 %val, i8 %mask) {
%cond = icmp eq i8 %mask, 0
%1 = call i8 @llvm.umin.i8(i8 %acc, i8 %val)
%res = select i1 %cond, i8 %1, i8 %acc
ret i8 %res
}
attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
```
Expected:
```
declare i8 @llvm.umin.i8(i8, i8) #0
define i8 @masked_min_fold_bug(i8 %acc, i8 %val, i8 %mask) {
%cond = icmp eq i8 %mask, 0
%masked_val = select i1 %cond, i8 %val, i8 -1
%res = call i8 @llvm.umin.i8(i8 %acc, i8 %masked_val)
ret i8 %res
}
attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }
```
https://godbolt.org/z/cYMheKE5r
Commit: 2796c412499a276ad23ae184daac33175c32424f
https://github.com/llvm/llvm-project/commit/2796c412499a276ad23ae184daac33175c32424f
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M compiler-rt/test/msan/ifaddrs.cpp
M compiler-rt/test/msan/qsort.cpp
Log Message:
-----------
[MSan] Fix minor issues in testcases (#144073)
Previously,
1. ifaddrs.cpp : mistake `size_t (xxx)` as `sizeof (xxx)`, resulting in
inadequate checks.
2. qsort.cpp : mistake `kSize2` as `kSize1`, resulting in an unexpected
buffer overlow issue.
Commit: 2e7fbb94bc268d37996408a525781961989d8627
https://github.com/llvm/llvm-project/commit/2e7fbb94bc268d37996408a525781961989d8627
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/lib/Format/TokenAnnotator.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
Log Message:
-----------
[clang-format] Fix a bug in annotating braces (#144095)
Stop looking for function decls after hitting a BK_BracedInit brace.
Fixes #144057.
Commit: f46c44dbc0d225277178cf5b6646a96f591fdeaa
https://github.com/llvm/llvm-project/commit/f46c44dbc0d225277178cf5b6646a96f591fdeaa
Author: Baranov Victor <bar.victor.2002 at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
Log Message:
-----------
[clang-tidy][NFC] change patterns 'anyOf(..., anything())' to 'optionally(...)' (#143558)
Writing `optionally()` instead of `anyOf(..., anything())` lowers code
size and gives the author's intention better.
Commit: 892513e51864f3e21120eab87c0c5a6aa37cae31
https://github.com/llvm/llvm-project/commit/892513e51864f3e21120eab87c0c5a6aa37cae31
Author: Zhikai Zeng <backlight.zzk at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/test/SemaCXX/gh102293.cpp
Log Message:
-----------
[clang] fix infinite recursion (#143244)
fix https://github.com/llvm/llvm-project/issues/141789
The direct cause of infinite recursion is that `T` is changing from
`struct X` and `S<X>` infinitely, this pr add a check that if `T`
visited before then return false directly.
```plaintext
/home/backlight/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:7196] FD->getType().getAsString()=struct X, T.getAsString()=S<X>, FD->getType().getCanonicalType().getUnqualifiedType().getAsString()=struct X, CanUnqualT.getAsString()=struct S<struct X>,
/home/backlight/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp:7196] FD->getType().getAsString()=S<X>, T.getAsString()=struct X, FD->getType().getCanonicalType().getUnqualifiedType().getAsString()=struct S<struct X>, CanUnqualT.getAsString()=struct X,
```
https://github.com/llvm/llvm-project/pull/104829 fix similar infinite
recursion, but I think it is no longer needed so I kind of revert it.
Commit: 732ebf803b80a8a3fc3aaaceb600cebdf659118e
https://github.com/llvm/llvm-project/commit/732ebf803b80a8a3fc3aaaceb600cebdf659118e
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[VPlan] Address post-commit comments for f68848015f62.
Assign sentinel value to named variable to clarify naming and update
comments.
Addresses post-commit comments from
https://github.com/llvm/llvm-project/pull/142291.
Commit: 1bc0b08e19788f2b34f46b183e89f5049468da2a
https://github.com/llvm/llvm-project/commit/1bc0b08e19788f2b34f46b183e89f5049468da2a
Author: NAKAMURA Takumi <geek4civic at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
Log Message:
-----------
CMake: Fix LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING to be 1 or 0.
It has been introduced in #107278 but it was passing
"DISABLED" of LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING to cmakedefine01.
cmakadefine01 treats non-false-like strings as 1.
"DISABLED" is replaced with 1.
Commit: 64640667871990e4d73ae6221b9c4f05d0b36ea6
https://github.com/llvm/llvm-project/commit/64640667871990e4d73ae6221b9c4f05d0b36ea6
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
A clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/Transforms/complex-create-fold.cir
Log Message:
-----------
[CIR] Upstream CreateOp for ComplexType with folder (#143192)
This change adds support for the create op for ComplexType with folder
and support for empty init list
https://github.com/llvm/llvm-project/issues/141365
Commit: 2cb32e29408a6c598072ea0f066a246957be69f9
https://github.com/llvm/llvm-project/commit/2cb32e29408a6c598072ea0f066a246957be69f9
Author: Ross Kirsling <rkirsling at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/lib/Parse/ParseStmt.cpp
A clang/test/FixIt/fixit-punctuator-spelling.cpp
Log Message:
-----------
[Clang] Fix fix-it hint regression from #143460 (#144069)
Following #143460, `:` began displaying as `colon` in the fix-it hint
for a `case` with a missing colon, as is visible in the description of
(the separate bug) #144052.
This PR simply reverts a line that didn't need to be changed.
Commit: 42595d34bda74e0d6e3b6ec0cf253875330f9c42
https://github.com/llvm/llvm-project/commit/42595d34bda74e0d6e3b6ec0cf253875330f9c42
Author: Michał Górny <mgorny at gentoo.org>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/cmake/modules/FindFFI.cmake
Log Message:
-----------
[llvm] [cmake] Use pkg-config to obtain libffi search hints (#144221)
Extend `FindFFI.cmake` to include the paths obtained from pkg-config
when searching for libffi. This is going to help systems where libffi is
installed in nonstandard directory such as Gentoo, saving us from having
to copy the paths from pkg-config to `FFI_*` variables explicitly. The
logic is inspired by `FindLibEdit.cmake`.
Commit: ff295d2f3429a5a2a93b2c86099af40544f467d4
https://github.com/llvm/llvm-project/commit/ff295d2f3429a5a2a93b2c86099af40544f467d4
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/include/clang/Sema/SemaOpenMP.h
M clang/lib/Parse/ParseOpenMP.cpp
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
Log Message:
-----------
[OpenMP][clang] declare mapper: fix handling of nested types (#143504)
Fix a crash that happened during parsing of a "declare mapper" construct
for a struct that contains an element for which we also declared a
custom default mapper.
Commit: 10bc17fc3676b82c7240046a948d2925dd2045d3
https://github.com/llvm/llvm-project/commit/10bc17fc3676b82c7240046a948d2925dd2045d3
Author: Tom Vijlbrief <tvijlbrief at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M llvm/lib/Target/AVR/AVRDevices.td
Log Message:
-----------
[AVR] Add support for many new AVR MCUs (#143914)
fixes https://github.com/llvm/llvm-project/issues/116116
Commit: 62d8e001dac4b1a68f5b33c8784adba1335003f4
https://github.com/llvm/llvm-project/commit/62d8e001dac4b1a68f5b33c8784adba1335003f4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M llvm/lib/Target/AVR/AVRDevices.td
Log Message:
-----------
Revert "[AVR] Add support for many new AVR MCUs (#143914)"
This reverts commit 10bc17fc3676b82c7240046a948d2925dd2045d3.
Multiple buildbot failures have been reported:
https://github.com/llvm/llvm-project/pull/143914
Commit: 72f99b75afc12bb15a7730544339bcc1ca11e8ee
https://github.com/llvm/llvm-project/commit/72f99b75afc12bb15a7730544339bcc1ca11e8ee
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/vector-loop-backedge-elimination-branch-weights.ll
Log Message:
-----------
[LV] Add test case with branch weights.
Add test case with branch weights where the vector loop can
be removed. Exposed a crash with db8d34db26e9
(https://github.com/llvm/llvm-project/pull/143035).
Commit: 577199f9221ebc805a69372a2b19f4c8ebaf1daf
https://github.com/llvm/llvm-project/commit/577199f9221ebc805a69372a2b19f4c8ebaf1daf
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
Log Message:
-----------
Reapply "[VPlan] Set branch weight metadata on middle term in VPlan (NFC) (#143035)"
This reverts commit 0604dc199c019b23746f4a54885ba0c75569cdae.
The recommitted version addresses post-commit comments and adjusts the
place the branch weights are added. It now runs before VPlans are optimized
for VF and UF, which may remove the vector loop region, causing a crash
trying to get the middle block after that. Test case added in
72f99b75afc12bb.
Original message:
Manage branch weights for the BranchOnCond in the middle block in VPlan.
This requires updating VPInstruction to inherit from VPIRMetadata, which
in general makes sense as there are a number of opcodes that could take
metadata.
There are other branches (part of the skeleton) that also need branch
weights adding.
PR: https://github.com/llvm/llvm-project/pull/143035
Commit: d6e25c4d21ebe20aaa6cbf6e2b9afde8f6713160
https://github.com/llvm/llvm-project/commit/d6e25c4d21ebe20aaa6cbf6e2b9afde8f6713160
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
M llvm/test/CodeGen/RISCV/rvv/fixed-vectors-masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/masked-load-int.ll
Log Message:
-----------
[SelectionDAG] Take passthru into account when widening ISD::MLOAD (#144170)
#140595 used vp.load in the cases where we need to widen masked.load.
However, we didn't account for the passthru operand so it might
miscompile when the passthru is not undef. While we can simply avoid
using vp.load to widen when passthru is not undef, doing so will ran
into the exact same crash described in #140198 , so for scalable vector,
this patch manually merges the vp.load result with passthru when the
latter is not undef.
Commit: db682a721aabf3c33dfda471bf6a7908fbf656b4
https://github.com/llvm/llvm-project/commit/db682a721aabf3c33dfda471bf6a7908fbf656b4
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/utils/UpdateTestChecks/asm.py
Log Message:
-----------
[utils] Add "aarch64-apple-macosx" triple to update_llc_test_checks.py (#144023)
Add a missing valid triple "aarch64-apple-macosx" for usability.
Commit: 0ff95c9eb1e3b0785724d3e33df1e1f77f2c7473
https://github.com/llvm/llvm-project/commit/0ff95c9eb1e3b0785724d3e33df1e1f77f2c7473
Author: Oleksandr T. <oleksandr.tarasiuk at outlook.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/include/clang/Basic/AttributeCommonInfo.h
A clang/include/clang/Basic/AttributeScopeInfo.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.import/p1.cppm
A clang/test/FixIt/fixit-unknown-attributes.cpp
M clang/test/Parser/cxx11-base-spec-attributes.cpp
M clang/test/Parser/objcxx11-attributes.mm
M clang/test/Sema/unknown-attributes.c
M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
Log Message:
-----------
[Clang] add fix-it hints for unknown attributes (#141305)
This patch adds fix-it hints for unknown attribute names when Clang
suggests a correction
Commit: 951ea8b681451ff2db8b895f1dcfe0fbc91d939a
https://github.com/llvm/llvm-project/commit/951ea8b681451ff2db8b895f1dcfe0fbc91d939a
Author: Valentin Clement (バレンタイン クレメン) <clementval at gmail.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
[mlir][nvvm][NFC] Fix typo in TargetAttr (#144159)
Commit: 4ed10db85919d3d87bf0b3353340b58354a75994
https://github.com/llvm/llvm-project/commit/4ed10db85919d3d87bf0b3353340b58354a75994
Author: Sam James <sam at gentoo.org>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/CMakeLists.txt
Log Message:
-----------
[clang][cmake] Don't pass -fno-strict-aliasing for GCC
This was added a long time ago..
* to the Makefiles in 40fee6313df688d43d1f8bbe85bc35161689afca;
* first to CMake in b3ce035c7155644d5bced46c45ae5ac865b7aedc;
* then moved to only apply when building Clang with GCC in
c5635a6af7c643169f81145bfae8c895f2207792.
This shouldn't be needed these days. If an issue does arise, it really
ought to be documented better and the cause will certainly be different
than it was back then.
The two GCC bugs cited in 40fee6313df688d43d1f8bbe85bc35161689afca were:
* https://gcc.gnu.org/PR41874
* https://gcc.gnu.org/PR41838
and both are long-fixed. Not only that, if those issues did come up again,
we'd be better off doing -Wno-strict-aliasing where appropriate if there
weren't a real code issue or some suppression that was tighter in scope
wasn't appropriate.
Commit: 24c8d900c47edeefb85643a06bc32235d9f42ea3
https://github.com/llvm/llvm-project/commit/24c8d900c47edeefb85643a06bc32235d9f42ea3
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/test/Driver/print-enabled-extensions/riscv-andes-a25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-a45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-n45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-nx45.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/gpr.s
Log Message:
-----------
[RISCV] Remove B and Zbc extension from Andes series cpus. (#144022)
The Andes CPU is configurable with optional extensions. The minimal
required extension set does not include `B` and `Zbc` extensions. So we
decided to remove them.
Commit: a0c00ccd5ff180c721def8001c870338d5de319e
https://github.com/llvm/llvm-project/commit/a0c00ccd5ff180c721def8001c870338d5de319e
Author: Hristo Hristov <hghristov.rmm at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/include/__functional/reference_wrapper.h
M libcxx/test/std/containers/sequences/array/compare.three_way.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/test/support/test_comparisons.h
M libcxx/test/support/test_container_comparisons.h
Log Message:
-----------
[libc++] P2944R3: Constrained comparisons - update `reference_wrapper` implementation (#139368)
Updates the implementation `std::reference_wrapper` -
[P2944R3](https://wg21.link/P2944R3) as discussed in
https://github.com/llvm/llvm-project/pull/117664#discussion_r1857826166
This PR also refactors the tests in preparation to implements the
constrained comparisons for `optional`, `variant` etc.
- Moves the test helpers (concepts and types) for testing constrained
comparisons to `test_comparisons.h`.
- Updates the `std::reference_wrapper` implementation to use the concept
`__core_convertible_to<bool>` as per comments in #135759.
Closes #138233
# References:
- [refwrap.comparisons](https://wg21.link/refwrap.comparisons)
---------
Co-authored-by: Hristo Hristov <zingam at outlook.com>
Co-authored-by: Nikolas Klauser <nikolasklauser at berlin.de>
Commit: c4ba734993ac7ca39cc101db62797aad3a2a265a
https://github.com/llvm/llvm-project/commit/c4ba734993ac7ca39cc101db62797aad3a2a265a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M mlir/lib/Conversion/PDLToPDLInterp/PredicateTree.cpp
M mlir/lib/Dialect/Affine/IR/AffineOps.cpp
M mlir/lib/Dialect/Affine/Utils/LoopUtils.cpp
M mlir/lib/Dialect/Linalg/Transforms/DropUnitDims.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/lib/Dialect/SPIRV/Transforms/SPIRVConversion.cpp
M mlir/lib/Dialect/Utils/StaticValueUtils.cpp
Log Message:
-----------
[mlir] Compare std::optional<T> to values directly (NFC) (#144241)
This patch transforms:
X && *X == Y
to:
X == Y
where X is of std::optional<T>, and Y is of T or similar.
Commit: 84ff1bda2977e580265997ad2d4c47b18cd3bf9f
https://github.com/llvm/llvm-project/commit/84ff1bda2977e580265997ad2d4c47b18cd3bf9f
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M llvm/lib/TargetParser/RISCVISAInfo.cpp
Log Message:
-----------
[RISCV] Use StringRef in a range-based for loop (NFC) (#144243)
When we iterate over std::vector<std::string>, we can directly assign
each element to StringRef. We do not need to go through a separate
statement.
Commit: 9e16792639242a86314e5d6531010953a0a96216
https://github.com/llvm/llvm-project/commit/9e16792639242a86314e5d6531010953a0a96216
Author: Jacques Pienaar <jpienaar at google.com>
Date: 2025-06-14 (Sat, 14 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bzl] Add CAPIIndex rule. (#144248)
Commit: 149cb5c43c3a75ecb827b8b7ae853250c3c09449
https://github.com/llvm/llvm-project/commit/149cb5c43c3a75ecb827b8b7ae853250c3c09449
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/icmp-dom.ll
Log Message:
-----------
[ValueTracking] Infer `X | Y != 0` from `X != Y` (#117443)
Alive2: https://alive2.llvm.org/ce/z/cJ75Ya
Closes https://github.com/llvm/llvm-project/issues/117436.
Commit: 30a41a642358d0f427c3cbc0299ea48fbc0cf79e
https://github.com/llvm/llvm-project/commit/30a41a642358d0f427c3cbc0299ea48fbc0cf79e
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/div.ll
M llvm/test/Transforms/InstCombine/icmp-sub.ll
Log Message:
-----------
[ValueTracking] Add subtraction support for setLimitsForBinOp (#143618)
We can determine the range from a subtraction if it has nsw or nuw.
https://alive2.llvm.org/ce/z/tXAKVV
Commit: 48e54f3a225062b5d229e6fd3b06140f76c0613b
https://github.com/llvm/llvm-project/commit/48e54f3a225062b5d229e6fd3b06140f76c0613b
Author: David Green <david.green at arm.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/ARC/ARCTargetTransformInfo.h
M llvm/lib/Target/ARM/ARMTargetTransformInfo.h
M llvm/lib/Target/BPF/BPFTargetTransformInfo.h
M llvm/lib/Target/DirectX/DirectXTargetTransformInfo.h
M llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
M llvm/lib/Target/Lanai/LanaiTargetTransformInfo.h
M llvm/lib/Target/Mips/MipsTargetTransformInfo.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/SPIRV/SPIRVTargetTransformInfo.h
M llvm/lib/Target/SystemZ/SystemZTargetTransformInfo.h
M llvm/lib/Target/VE/VETargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Target/XCore/XCoreTargetTransformInfo.h
Log Message:
-----------
[CostModel] Mark all TTIImpls as final. NFC (#143404)
In the AArch64 version this helps reduce the number of blr instruction
(indirect jumps) in from 325 to 87, and reduces the size of the object
file by 4%. It seems to help make the code more efficient even if it
doesn't greatly affect compile time.
The AMDGPU variants are already marked as final.
Commit: 89f692a24f6a13ae5cf9e37f91abe6f34c403258
https://github.com/llvm/llvm-project/commit/89f692a24f6a13ae5cf9e37f91abe6f34c403258
Author: David Green <david.green at arm.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
Log Message:
-----------
[GlobalISel] Split Legalizer debug ouput into paragraphs. NFC (#143427)
This helps keep the legalizer output easier to read, splitting each
instructions legalization into a separate block.
Commit: 147a4c7743c44af3537bae69dcf513153b03b00e
https://github.com/llvm/llvm-project/commit/147a4c7743c44af3537bae69dcf513153b03b00e
Author: Chris Apple <cja-private at pm.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
Log Message:
-----------
[rtsan] Fix issue where close test would lead to crash (#144017)
Commit: b983431c281a0acb9e446c7c9d72474f4d09e8e0
https://github.com/llvm/llvm-project/commit/b983431c281a0acb9e446c7c9d72474f4d09e8e0
Author: Chris Apple <cja-private at pm.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M compiler-rt/test/rtsan/fork_exec.cpp
Log Message:
-----------
[rtsan] Fix issue when intercepted function was not execve in test (#144018)
Commit: 567647888ea3dd292827bbac445d316d6a6b0ecb
https://github.com/llvm/llvm-project/commit/567647888ea3dd292827bbac445d316d6a6b0ecb
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/test/AST/ByteCode/cxx17.cpp
Log Message:
-----------
[clang][bytecode] Avoid revisiting decomposition decl in visitDeclRef (#144226)
This simple patch removes the code to revisit `DecompositionDecl` in
`visitDeclRef`. The revisit will try to emit the initializer of the
`DecompositionDecl`, which could result in evaluation errors if the
`DecompositionDecl` is not within a constexpr context.
Commit: 886174a835208ecd2d06b378d2094b10611030d5
https://github.com/llvm/llvm-project/commit/886174a835208ecd2d06b378d2094b10611030d5
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/avx512-shuffles/shuffle-blend.ll
Log Message:
-----------
[X86] shuffle-blend.ll - regenerate test checks
Commit: 2669664605d00e1b3a9c479545b95a6844786d0c
https://github.com/llvm/llvm-project/commit/2669664605d00e1b3a9c479545b95a6844786d0c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/Modularize.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
Log Message:
-----------
[modularize] Use range-based for loops (NFC) (#144244)
Commit: fef5df9d843745b2c4ed163911ed1305028350ca
https://github.com/llvm/llvm-project/commit/fef5df9d843745b2c4ed163911ed1305028350ca
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
Log Message:
-----------
[TableGen] Use range-based for loops (NFC) (#144250)
Commit: d78eec864c60729685487c884724f27edd53b3b8
https://github.com/llvm/llvm-project/commit/d78eec864c60729685487c884724f27edd53b3b8
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M lld/ELF/Arch/ARM.cpp
M lld/ELF/SyntheticSections.cpp
M lld/MachO/SyntheticSections.cpp
M lld/wasm/Driver.cpp
Log Message:
-----------
[lld] Use range-based for loops (NFC) (#144251)
Commit: 8f5c338b89a22abc3191a0d931071c09630d6195
https://github.com/llvm/llvm-project/commit/8f5c338b89a22abc3191a0d931071c09630d6195
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaOverload.cpp
Log Message:
-----------
[Sema] Use a range-based for loop (NFC) (#144252)
Note that LLVM Coding Standards discourages for_each.
Commit: b16d43a874748a496da5cd774dd864c95b78d6b0
https://github.com/llvm/llvm-project/commit/b16d43a874748a496da5cd774dd864c95b78d6b0
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
Log Message:
-----------
VE: Rename VEMCExpr::VK_ to VE::S_
Prepare for removing VEMCExpr. Adopt the newer naming convention adopted
by AMDGPU/WebAssembly.
Commit: df54a2d9357fe7f56ca3c6fa2f07889449b50325
https://github.com/llvm/llvm-project/commit/df54a2d9357fe7f56ca3c6fa2f07889449b50325
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[VPlan] Only skip induction phis in planContainsAdditionalSimps (NFC).
Skip induction phis when checking for simplifications, as they may not
be lowered directly be lowered to a corresponding PHI recipe. Reductions
and first-order recurrences will get lowered to phi recipes, unless they
are removed. Considering them for simplifications allows removing them
if there are no remaining users.
NFC as currently reduction and recurrence phis are not
simplified/removed if dead.
Commit: 254a92d49a4c1e1f7f747b1c2f1ccbfd7f217880
https://github.com/llvm/llvm-project/commit/254a92d49a4c1e1f7f747b1c2f1ccbfd7f217880
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
Log Message:
-----------
MC: Add MCSpecifierExpr::create
as a target-agnostic implementation to replace target-specific
XXXMCExpr::create.
Commit: 72de33a406383cb8555234c40e7b31db593e164f
https://github.com/llvm/llvm-project/commit/72de33a406383cb8555234c40e7b31db593e164f
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEELFObjectWriter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCAsmInfo.h
M llvm/lib/Target/VE/MCTargetDesc/VEMCCodeEmitter.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCExpr.h
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VEMCInstLower.cpp
Log Message:
-----------
MC: Add MCAsmInfo::evaluateAsRelocatableImpl and replace VEMCExpr with MCSpecifierExpr
Expressions with specifier can only be folded during relocation
generatin. At parse time the `MCAssembler *` argument might be null, and
targets should not rely on the evaluateAsRelocatable result.
Therefore, we can move evaluateAsRelocatableImpl from MCSpecifierExpr to
MCAsmInfo, so that targets do not need to inherit from MCSpecifierExpr.
Commit: 490d7bb89a029edd037ed5e46747d0085a649ee8
https://github.com/llvm/llvm-project/commit/490d7bb89a029edd037ed5e46747d0085a649ee8
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
Log Message:
-----------
Xtensa: Remove unneeded XtensaMCExpr::create calls
MCSpecifierExpr and its subclasses should only be used with the
relocation specifier is not zero.
Commit: cf9665dd2bcef3ff2f3e22d3f44e8603f4ba9577
https://github.com/llvm/llvm-project/commit/cf9665dd2bcef3ff2f3e22d3f44e8603f4ba9577
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Xtensa/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCAsmInfo.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCAsmInfo.h
R llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCExpr.h
M llvm/lib/Target/Xtensa/XtensaAsmPrinter.cpp
Log Message:
-----------
Xtensa: Migrate to newer relocation specifier representation
* Rename specifier constants from XtensaMCExpr::Specifier::VK_ to
Xtensa::S_, following Sparc and VE.
* Use MCAsmInfo::printSpecifierExpr instead of MCExpr::print.
* Remove unneeded XtensaMCExpr. Just use MCSpecifierExpr when a
specifier is needed.
Commit: 7c22612b2948d8657b4a22ce59870ddd708c4677
https://github.com/llvm/llvm-project/commit/7c22612b2948d8657b4a22ce59870ddd708c4677
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
Log Message:
-----------
SPARC: Remove dead specifier code from asm operand printer
We don't currently print %specifier( ) for asm operands.
The old code was also incorrect - as it did not print "(".
Commit: d3e9e2d433a666d6620afb00a1533ef4937c667f
https://github.com/llvm/llvm-project/commit/d3e9e2d433a666d6620afb00a1533ef4937c667f
Author: Ross Kirsling <ross.kirsling at sony.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
Log Message:
-----------
[Clang] Fix typo in is_replaceable diagnostic (#144247)
Adjustment to #143265; `because it not` should be `because it is not`.
Commit: 5cf138a68744904562e81436181df668b00cdb1f
https://github.com/llvm/llvm-project/commit/5cf138a68744904562e81436181df668b00cdb1f
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCAsmInfo.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
Log Message:
-----------
M68k: Replace M68kMCExpr::VK_ to M68k::S_
Prepare for removing VEMCExpr. Adopt the newer naming convention adopted
by AMDGPU/WebAssembly/VE.
Commit: 444c6ae530e4814af2cfd6918e3f852ef14ff50d
https://github.com/llvm/llvm-project/commit/444c6ae530e4814af2cfd6918e3f852ef14ff50d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/M68k/M68kISelLowering.cpp
M llvm/lib/Target/M68k/M68kMCInstLower.cpp
M llvm/lib/Target/M68k/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/M68k/MCTargetDesc/M68kELFObjectWriter.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCAsmInfo.cpp
M llvm/lib/Target/M68k/MCTargetDesc/M68kMCAsmInfo.h
R llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.cpp
R llvm/lib/Target/M68k/MCTargetDesc/M68kMCExpr.h
Log Message:
-----------
M68k: Remove M68kMCExpr
Commit: b839632bf44f56e6f17777857f4b23d4eccb6f33
https://github.com/llvm/llvm-project/commit/b839632bf44f56e6f17777857f4b23d4eccb6f33
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCAsmBackend.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFObjectWriter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCELFStreamer.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCCodeEmitter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCXCOFFObjectWriter.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
M llvm/lib/Target/PowerPC/PPCTargetObjectFile.cpp
Log Message:
-----------
PowerPC: Rename PPCMCExpr::VK_ to PPC::S_
Prepare for removing PPCMCExpr. Adopt the newer naming convention with
AMDGPU/WebAssembly/VE/M68k.
Commit: a8d76acdd88b25a98e50ac2da9e6f311fc2c2cb8
https://github.com/llvm/llvm-project/commit/a8d76acdd88b25a98e50ac2da9e6f311fc2c2cb8
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCInstPrinter.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
Log Message:
-----------
PowerPC: Replace MCExpr::print with MCAsmInfo::printExpr
Follow-up to 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Commit: 087a6ac420ad99c523b9dd517351e0c6d1f1a980
https://github.com/llvm/llvm-project/commit/087a6ac420ad99c523b9dd517351e0c6d1f1a980
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-neon.ll
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-chains.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
Log Message:
-----------
[LV] Add users to some first-order recurrence tests.
Add extra users to ensure the recurrence cannot be DCE'd.
Also re-generates some checks.
Commit: 790df93298b3ad6c57dafb55fc6d18bddff16c4a
https://github.com/llvm/llvm-project/commit/790df93298b3ad6c57dafb55fc6d18bddff16c4a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/loop-vectorization-factors.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/X86/fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/pr131359-dead-for-splice.ll
M llvm/test/Transforms/LoopVectorize/X86/pr72969.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-interleave-only.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/interleave-and-scalarize-only.ll
M llvm/test/Transforms/LoopVectorize/optsize.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
Log Message:
-----------
[VPlan] Mark VPFirstOrderRecurrencePHI as not reading/writing memory.
First-order recurrence phis don't have side-effects and don't read or
write memory. Mark them as such.
Commit: f4a63523b88631e224496435bea0940ac05897bf
https://github.com/llvm/llvm-project/commit/f4a63523b88631e224496435bea0940ac05897bf
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCAsmInfo.h
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCExpr.h
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCMCInstLower.cpp
Log Message:
-----------
PowerPC: Migrate to newer relocation specifier representation
* Use MCAsmInfo::printSpecifierExpr instead of MCExpr::print.
* Replace PPCMCExpr with MCSpecifierExpr.
Commit: 34c85ed2bc1adfa375745db6de7f62d350a8f768
https://github.com/llvm/llvm-project/commit/34c85ed2bc1adfa375745db6de7f62d350a8f768
Author: Vladimir Vuksanovic <109677816+vvuksanovic at users.noreply.github.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
A clang-tools-extra/test/clang-reorder-fields/MacroExpansionField.cpp
Log Message:
-----------
[clang-reorder-fields] Use expanded location for macros (#142147)
Fixes macros being replaced instead of their expansion.
Closes #52632
Commit: e448c3e5fc2ab4244356e29c9c9135b6ccf5f6ff
https://github.com/llvm/llvm-project/commit/e448c3e5fc2ab4244356e29c9c9135b6ccf5f6ff
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchInstPrinter.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCAsmInfo.h
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCExpr.h
Log Message:
-----------
LoongArch: Migrate to MCAsmInfo::printExpr
Commit: e3025c95090f74b26e36106d2aa394b213f713a1
https://github.com/llvm/llvm-project/commit/e3025c95090f74b26e36106d2aa394b213f713a1
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
RISCV: Rename RISCVMCExpr::VK_ to RISCV::S_
Prepare for removing RISCVMCExpr. Adopt the newer naming convention (S_)
used by AMDGPU/WebAssembly/VE/M68k/PowerPC.
Commit: 4635b6076dc1933b7ebd9fcca9f22ec93e2f9c0c
https://github.com/llvm/llvm-project/commit/4635b6076dc1933b7ebd9fcca9f22ec93e2f9c0c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
Log Message:
-----------
RISCV: Rename RISCVMCExpr::VK_ to RISCV::S_
Commit: fedf6c68ddfb43730578837aad394afcd97fe65a
https://github.com/llvm/llvm-project/commit/fedf6c68ddfb43730578837aad394afcd97fe65a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVInstPrinter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
RISCV: Move RISCVMCExpr functions to RISCVMCAsmInfo or RISCVMCAsmBackend
* Move getPCRelHiFixup closer to the only caller RISCVAsmBackend::evaluateTargetFixup.
* Declare getSpecifierForName in RISCVMCAsmInfo, in align with other
targets that have migrated to the new relocation specifier representation.
Commit: 51b63bbee56c2253643f41c53bc3592af261b82d
https://github.com/llvm/llvm-project/commit/51b63bbee56c2253643f41c53bc3592af261b82d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
Log Message:
-----------
RISCV: Replace MCExpr::print with MCAsmInfo::printExpr
Follow-up to 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Commit: f11dd116e0aa8cf35bdb82dba0a3a926538c05c2
https://github.com/llvm/llvm-project/commit/f11dd116e0aa8cf35bdb82dba0a3a926538c05c2
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M llvm/include/llvm/CodeGen/TargetLoweringObjectFileImpl.h
M llvm/lib/CodeGen/TargetLoweringObjectFileImpl.cpp
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCAsmInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.cpp
R llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCExpr.h
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.cpp
M llvm/lib/Target/RISCV/RISCVTargetObjectFile.h
Log Message:
-----------
RISCV: Replace RISCVMCExpr with MCSpecifierExpr
Commit: 489dcc9e5233b52152272e6e5377784a56a12f1d
https://github.com/llvm/llvm-project/commit/489dcc9e5233b52152272e6e5377784a56a12f1d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
Log Message:
-----------
AArch64: Replace MCExpr::print with MCAsmInfo::printExpr
Follow-up to 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Commit: 9a87c94622863cf712c6ab432931dfdb704fae3e
https://github.com/llvm/llvm-project/commit/9a87c94622863cf712c6ab432931dfdb704fae3e
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsInstPrinter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
Log Message:
-----------
MIPS: Replace MCExpr::print with MCAsmInfo::printExpr
Commit: 81d8c89da056a7751f6c7714fccb30c071dbc31a
https://github.com/llvm/llvm-project/commit/81d8c89da056a7751f6c7714fccb30c071dbc31a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/M68k/MCTargetDesc/M68kInstPrinter.cpp
Log Message:
-----------
M68k: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Follow-up to 18b67a7a102c0052e5ae0e76ef1297902ffeb22d
Commit: 95acd6199f3799da00e45b62fd1045ece7142cad
https://github.com/llvm/llvm-project/commit/95acd6199f3799da00e45b62fd1045ece7142cad
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUInstPrinter.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCExpr.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/R600InstPrinter.cpp
Log Message:
-----------
AMDGPU: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: 0894094efdfb1ff4f93f818cef9f2aec9c1ea1a8
https://github.com/llvm/llvm-project/commit/0894094efdfb1ff4f93f818cef9f2aec9c1ea1a8
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/MCTargetDesc/X86ATTInstPrinter.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86InstPrinterCommon.cpp
M llvm/lib/Target/X86/MCTargetDesc/X86IntelInstPrinter.cpp
Log Message:
-----------
X86: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: dcb8cd8ecdd74eb2ceca2365e0fb4c9545e3cd97
https://github.com/llvm/llvm-project/commit/dcb8cd8ecdd74eb2ceca2365e0fb4c9545e3cd97
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMInstPrinter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
Log Message:
-----------
ARM: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: a7e5de472314a891604abee390beb8af5493b29a
https://github.com/llvm/llvm-project/commit/a7e5de472314a891604abee390beb8af5493b29a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZHLASMAsmStreamer.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZTargetStreamer.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
Log Message:
-----------
SystemZ: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: dca2b261d77a9b758587b660e5b88b6a312d057c
https://github.com/llvm/llvm-project/commit/dca2b261d77a9b758587b660e5b88b6a312d057c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiInstPrinter.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
Log Message:
-----------
Lanai: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: 178fac3d61aa7fc4eb9e4a3d385ae02e660c0d3a
https://github.com/llvm/llvm-project/commit/178fac3d61aa7fc4eb9e4a3d385ae02e660c0d3a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonInstPrinter.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCExpr.cpp
Log Message:
-----------
Hexagon: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: 22ad0359f9006f47a1707170896f359abbd6e10d
https://github.com/llvm/llvm-project/commit/22ad0359f9006f47a1707170896f359abbd6e10d
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXInstPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXMCExpr.cpp
Log Message:
-----------
NVPTX: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: c9d511bc642fbf612014eee4749ad7ee2646af32
https://github.com/llvm/llvm-project/commit/c9d511bc642fbf612014eee4749ad7ee2646af32
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M bolt/lib/Passes/RetpolineInsertion.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430InstPrinter.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyInstPrinter.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaInstPrinter.cpp
Log Message:
-----------
Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: d793168e3b1a0343debfdfe143d7fb4127f9038c
https://github.com/llvm/llvm-project/commit/d793168e3b1a0343debfdfe143d7fb4127f9038c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
Log Message:
-----------
MIPS: Rename MipsMCExpr::MEK_ to Mips::S_
Prepare for removing MipsMCExpr. Adopt the newer naming convention (S_)
used by AMDGPU/WebAssembly/VE/M68k/PowerPC/LoongArch/RISCV.
Commit: ad94f77a6a0c421e1f5815d1b8e5aa86d8dd2e92
https://github.com/llvm/llvm-project/commit/ad94f77a6a0c421e1f5815d1b8e5aa86d8dd2e92
Author: Tom Vijlbrief <tvijlbrief at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Driver/ToolChains/AVR.cpp
M clang/test/Misc/target-invalid-cpu-note/avr.c
M llvm/lib/Target/AVR/AVRDevices.td
Log Message:
-----------
[AVR] Add many new AVR MCU model definitions (#144229)
1. Added the missing XMEGA2 definition. The avr64 devices use xmega2 which has SPM(X) defined.
2. The avr16/avr32 devices do have SPM and SPMX features, but the current xmega3 definition has not.
Xmega3 is also used for modern attiny series which do not have SPM(X), so that is correct.
Leave the avr16/avr32 devices unchanged (using xmega3 to be in sync with gcc definitions).
Fixes https://github.com/llvm/llvm-project/issues/116116
Commit: 1506ba95d7c3dca1abff0190550945f6cc263a99
https://github.com/llvm/llvm-project/commit/1506ba95d7c3dca1abff0190550945f6cc263a99
Author: Owen Pan <owenpiano at gmail.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/Format/ContinuationIndenter.cpp
Log Message:
-----------
[clang-format][NFC] Clean up DisallowLineBreaks lambda (#144255)
See also
https://github.com/llvm/llvm-project/pull/141576/files#r2141808121
Commit: f23b841f0fa7576b90fe226e66192b861a8cf1cf
https://github.com/llvm/llvm-project/commit/f23b841f0fa7576b90fe226e66192b861a8cf1cf
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
Log Message:
-----------
MIPS: Move MipsMCExpr functions to MipsMCAsmInfo
Commit: ba7369c49c6f638a4ce6f6be3acbdab5e0b5f418
https://github.com/llvm/llvm-project/commit/ba7369c49c6f638a4ce6f6be3acbdab5e0b5f418
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
R lld/test/wasm/lto/Inputs/libcall-return-addr.ll
R lld/test/wasm/lto/libcall-return-addr.ll
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyISelLowering.cpp
Log Message:
-----------
WebAssembly: Move runtime libcall setting out of TargetLowering (#142624)
RuntimeLibcallInfo needs to be correct outside of codegen contexts.
Commit: 993c158a30b9ddc881e55efcd33e33abc10f3a5c
https://github.com/llvm/llvm-project/commit/993c158a30b9ddc881e55efcd33e33abc10f3a5c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.h
Log Message:
-----------
MIPS: Reduce MipsMCExpr uses
Commit: cf679e66fade71220535775cca895628bf7692af
https://github.com/llvm/llvm-project/commit/cf679e66fade71220535775cca895628bf7692af
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZELFObjectWriter.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZInstPrinterCommon.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZMCInstLower.cpp
M llvm/lib/Target/SystemZ/SystemZTargetObjectFile.cpp
Log Message:
-----------
SystemZ: Rename SystemZMCExpr::VK_ to SystemZ::S_
Prepare for removing SystemZMCExpr. Adopt the newer naming convention
used by most other targets.
Commit: d64ee2cd4fe488b6dc21e7a8173fbb9cf3610ba0
https://github.com/llvm/llvm-project/commit/d64ee2cd4fe488b6dc21e7a8173fbb9cf3610ba0
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVSDPatterns.td
M llvm/lib/Target/RISCV/RISCVInstrInfoVVLPatterns.td
Log Message:
-----------
[RISCV] Add GetVTypeMinimalPredicates for the operation supported by zvfhmin. NFC. (#143847)
This patch adds a new `GetVTypeMinimalPredicates` for `f16` operation
supported by `Zvfhmin`. Split the type predicates for minimal support
and full compute support. This is a refactor patch for implementing
vector compute support for bf16 (Zvfbfa), that we can check `bf16` type
whether with `Zvfbfa` extension in `GetVTypePredicates`.
Commit: b591f6dad4079401fadc4a516b32d3900b7946de
https://github.com/llvm/llvm-project/commit/b591f6dad4079401fadc4a516b32d3900b7946de
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.h
R llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.cpp
R llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCExpr.h
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZMCInstLower.cpp
M llvm/lib/Target/SystemZ/SystemZMCInstLower.h
Log Message:
-----------
SystemZ: Migrate to newer relocation specifier representation
z/OS creates SystemZMCExpr objects (https://reviews.llvm.org/D153788)
while ELF doesn't. Define the SystemZMCAsmInfoGOFF hooks
instead of the legacy MCSpecifierExpr:: hooks.
Commit: 167223f8c2c2350a3de9478355885c63b35ca6a9
https://github.com/llvm/llvm-project/commit/167223f8c2c2350a3de9478355885c63b35ca6a9
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/SystemZ/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port b591f6dad407
Commit: 9adde28df784f5c0cc960bdabd413ac131a5852e
https://github.com/llvm/llvm-project/commit/9adde28df784f5c0cc960bdabd413ac131a5852e
Author: Ming-Yi Lai <ming-yi.lai at mediatek.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lld/ELF/Config.h
M lld/ELF/Driver.cpp
M lld/test/ELF/riscv-feature-zicfilp-func-sig.s
M lld/test/ELF/riscv-feature-zicfilp-unlabeled.s
M lld/test/ELF/riscv-feature-zicfiss.s
Log Message:
-----------
[LLD][ELF][RISCV][Zicfilp][Zicfiss] Support `-z zicfilp=` and `-z zicfiss=` to force enable/disable features (#143114)
+ If `-z zicfilp=implicit` or option not specified, the output would
have the ZICFILP feature enabled/disabled based on input objects
+ If `-z zicfilp=<never|unlabeled|func-sig>`, the output would have
ZICFILP feature forced <off|on to the "unlabeled" scheme|on to the
"func-sig" scheme>
+ If `-z zicfiss=implicit` or option not specified, the output would
have the ZICFISS feature enabled/disabled based on input objects
+ If `-z zicfiss=<never|always>`, the output would have the ZICFISS
feature forced <off|on>
Commit: f71fb2dc01e117481f56e040c25391883d43c1c5
https://github.com/llvm/llvm-project/commit/f71fb2dc01e117481f56e040c25391883d43c1c5
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Tooling/ArgumentsAdjusters.cpp
Log Message:
-----------
[clang] Use StringRef in range-based for loops (NFC) (#144242)
When we iterate over std::vector<std::string>, we can directly assign
each element to StringRef. We do not need to go through separate
statements.
Commit: 7a4a83b551eaf159ce10b612def3be62d80706d4
https://github.com/llvm/llvm-project/commit/7a4a83b551eaf159ce10b612def3be62d80706d4
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.h
M llvm/utils/TableGen/Common/CodeGenInstruction.h
M llvm/utils/TableGen/Common/CodeGenSchedule.cpp
M llvm/utils/TableGen/Common/DAGISelMatcher.cpp
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/RegisterInfoEmitter.cpp
M llvm/utils/TableGen/X86DisassemblerTables.cpp
Log Message:
-----------
[TableGen] Use range-based for loops (NFC) (#144283)
Commit: c01532177ff61a768d5dc1ea541f9a8d986497fa
https://github.com/llvm/llvm-project/commit/c01532177ff61a768d5dc1ea541f9a8d986497fa
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/Edit/EditedSource.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/InstallAPI/DirectoryScanner.cpp
M clang/lib/InstallAPI/FileList.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Rewrite/HTMLRewrite.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
Log Message:
-----------
[clang] Remove unused includes (NFC) (#144285)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: cab09e76e0c4c95f44cf90bf2bf7a6eaa15b14b2
https://github.com/llvm/llvm-project/commit/cab09e76e0c4c95f44cf90bf2bf7a6eaa15b14b2
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/double-float-shrink-2.ll
M llvm/test/Transforms/InstCombine/fabs.ll
M llvm/test/Transforms/InstCombine/fpcast.ll
Log Message:
-----------
[InstCombine] Propagate FMF from fptrunc when folding `fptrunc fabs(X) -> fabs(fptrunc X)` (#143352)
Alive2: https://alive2.llvm.org/ce/z/DWV3G3
fptrunc yields infinity when the input cannot fit in the target type. So
ninf should be propagated from fptrunc. For other intrinsics, the
previous check ensures that the result is never an infinity:
https://github.com/llvm/llvm-project/blob/5d3899d293e902124c3602b466031b6b799fb123/llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp#L1910-L1917
Closes https://github.com/llvm/llvm-project/issues/143122.
Commit: e2afda6fc95ef63b54d449fc1a9eb13cd0ff3639
https://github.com/llvm/llvm-project/commit/e2afda6fc95ef63b54d449fc1a9eb13cd0ff3639
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslideup.c
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
M llvm/test/CodeGen/RISCV/rvv/vrgatherei16.ll
M llvm/test/CodeGen/RISCV/rvv/vslidedown.ll
M llvm/test/CodeGen/RISCV/rvv/vslideup.ll
Log Message:
-----------
[RISCV] Fix incorrect predicates for fp16 permutation intrinsics (#144063)
vrgatherei16, vslideup and vslidedown should be supported with fp16 type
for Zvfhmin.
Fixes https://github.com/llvm/llvm-project/issues/143975.
Commit: 29fcad000ca63078d28dd231e0727b7811df43b0
https://github.com/llvm/llvm-project/commit/29fcad000ca63078d28dd231e0727b7811df43b0
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRInstPrinter.cpp
Log Message:
-----------
AVR: Replace deprecated MCExpr::print with MCAsmInfo::printExpr
Commit: f8e0518120cd2850a7f674322bf428bc7d7d3326
https://github.com/llvm/llvm-project/commit/f8e0518120cd2850a7f674322bf428bc7d7d3326
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/MC/MCExpr.cpp
M llvm/lib/MC/MCInst.cpp
M llvm/test/CodeGen/Mips/llvm-ir/fptosi.ll
M llvm/test/CodeGen/Mips/llvm-ir/load.ll
M llvm/test/CodeGen/Mips/llvm-ir/store.ll
M llvm/test/MC/Lanai/conditional_inst.s
M llvm/test/MC/Lanai/memory.s
Log Message:
-----------
MC: Adjust -show-inst output for MCExpr
This dump feature does not pass MCAsmInfo to the printer function.
When we remove MCSpecifierExpr subclasses (and the printImpl overrides),
we will not be able to print target-specific specifier strings.
Just print a textual representation.
Commit: 05a9ad977624c4f6def7c0f4cf7103e28d6c6541
https://github.com/llvm/llvm-project/commit/05a9ad977624c4f6def7c0f4cf7103e28d6c6541
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/LanaiMCInstLower.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCAsmInfo.h
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCCodeEmitter.cpp
R llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.cpp
R llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCExpr.h
Log Message:
-----------
Lanai: Migrate to the new relocation specifier representation
Use MCSpecifierExpr directly and remove the LanaiMCExpr subclass. Define
MCSpecifierExpr::printImpl to print the relocation specifier in decimal
for llvm-mc -show-inst. The output is not guaranteed to be stable.
Depends on f8e0518120cd2850a7f674322bf428bc7d7d3326
("MC: Adjust -show-inst output for MCExpr")
Commit: 945b12f6c823c49336a878e7afe2a96e4d3382ea
https://github.com/llvm/llvm-project/commit/945b12f6c823c49336a878e7afe2a96e4d3382ea
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Lanai/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 05a9ad977624
Commit: 4ea616d072d126a31149174ca2efdbdace9ce568
https://github.com/llvm/llvm-project/commit/4ea616d072d126a31149174ca2efdbdace9ce568
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
Log Message:
-----------
AArch64: Move AArch64MCExpr functions to AArch64MCAsmInfo
To migrate away from the legacy
XXXMCExpr::printImpl/evaluateAsRelocatableImpl overrides and align with
other targets.
While the AArch64MCAsmInfoXXX hooks introduce some duplication, they
enable better separation for object file formats.
Commit: 4f9e6bad8438f4440bfd68be2f0ebdca0d588d47
https://github.com/llvm/llvm-project/commit/4f9e6bad8438f4440bfd68be2f0ebdca0d588d47
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/test/AST/ByteCode/new-delete.cpp
Log Message:
-----------
[clang][bytecode] Fix calling operator new with nothrow/align parameter (#144271)
Discard all the parameters we don't care about.
Commit: f3021e79fd5a4cab5537f37df2e6010a325d0a7c
https://github.com/llvm/llvm-project/commit/f3021e79fd5a4cab5537f37df2e6010a325d0a7c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-15 (Sun, 15 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/ARMTargetObjectFile.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMAsmBackend.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFObjectWriter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMELFStreamer.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
Log Message:
-----------
ARM: Rename ARMMCExpr::VK_ to ARM::S_
Prepare for removing ARMMCExpr. Adopt the new naming convention (S_
instead of VK_; the relocation specifier was previously named
`VariantKind`)) used by most other targets.
Make ARMMCAsmInfo.h include ARMMCExpr.h and change .cpp files to include
ARMMCAsmInfo.h. We will eventually remove ARMMCExpr.h.
Commit: 7efc861ec45e05be9dae59fc7483a98510066160
https://github.com/llvm/llvm-project/commit/7efc861ec45e05be9dae59fc7483a98510066160
Author: David Green <david.green at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/fdiv-combine.ll
Log Message:
-----------
[AArch64][GlobalISel] Add test coverage for fdiv-combine.ll. NFC
Commit: f875efe1d82d920790e368f9ab2b31f173a523e1
https://github.com/llvm/llvm-project/commit/f875efe1d82d920790e368f9ab2b31f173a523e1
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoVPseudos.td
Log Message:
-----------
[RISCV] Use `GetVTypeMinimalPredicates` instead of `GetVTypePredicates` for vrgatherei16/vslideup/vslidedown. NFC.
Commit: 7d9a451d875368baece310ca7226e3adbc00e1bf
https://github.com/llvm/llvm-project/commit/7d9a451d875368baece310ca7226e3adbc00e1bf
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqcilsm-invalid.s
Log Message:
-----------
[RISCV] Change input register type for QC_SWM and QC_SWMI (#144294)
Version 0.13 of the `Xqci` spec changes the register type of input
operand `rs3` from `GPR` to `GPRNoX0` for these two instructions.
The spec can be found at
https://github.com/quic/riscv-unified-db/releases/tag/Xqci-0.13.0
Commit: 222ab28a9240e03479341cba2f487b8350635fce
https://github.com/llvm/llvm-project/commit/222ab28a9240e03479341cba2f487b8350635fce
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.def
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
A llvm/test/CodeGen/AArch64/arm64ec-builtins.ll
Log Message:
-----------
[aarch64] Fix Arm64EC libcall lowering after recent refactoring. (#143977)
The refactored code accidentally tokenized a string instead of just
concatenating it.
Add a regression test and some assertions to ensure consistency.
Fixes #143890 .
Commit: 9fcd14d9b013d0c4b8ec245772b3be3d5c31b885
https://github.com/llvm/llvm-project/commit/9fcd14d9b013d0c4b8ec245772b3be3d5c31b885
Author: Henrich Lauko <xlauko at mail.muni.cz>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/docs/DefiningDialects/Constraints.md
M mlir/include/mlir/IR/Constraints.td
A mlir/test/mlir-tblgen/attr-constraints.td
M mlir/tools/mlir-tblgen/AttrOrTypeDefGen.cpp
Log Message:
-----------
[MLIR][ODS] Optionally generate public C++ functions for attribute constraints (#144275)
Add `gen-attr-constraint-decls` and `gen-attr-constraint-defs`, which
generate public C++ functions for attribute constraints. The name of the C++
function is specified in the `cppFunctionName` field.
This generalize `cppFunctionName` from `TypeConstraint` introduced in
https://github.com/llvm/llvm-project/pull/104577 to be usable also in `AttrConstraint`.
Commit: 0bb4d9c30207c4a69731e6848ba7cb6ef52b5906
https://github.com/llvm/llvm-project/commit/0bb4d9c30207c4a69731e6848ba7cb6ef52b5906
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMMCInstLower.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCCodeEmitter.cpp
R llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.cpp
R llvm/lib/Target/ARM/MCTargetDesc/ARMMCExpr.h
M llvm/lib/Target/ARM/MCTargetDesc/ARMMachORelocationInfo.cpp
M llvm/lib/Target/ARM/MCTargetDesc/CMakeLists.txt
M llvm/utils/gn/secondary/llvm/lib/Target/ARM/MCTargetDesc/BUILD.gn
Log Message:
-----------
ARM: Migrate to the new relocation specifier representation
Use MCSpecifierExpr directly and remove the ARMMCExpr subclass. Define
printImpl and evaluateAsRelocationImpl within ARM*MCAsmInfo classes.
While there is some duplication, it enables better separation for
object file formats.
Commit: ee2d7a6975f37c11bffbf3207879696aca7fcc65
https://github.com/llvm/llvm-project/commit/ee2d7a6975f37c11bffbf3207879696aca7fcc65
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
Log Message:
-----------
MIPS: Remove unneeded printImpl
Follow-up to 05a9ad977624c4f6def7c0f4cf7103e28d6c6541
Commit: 4e0dd007ac6a7b7e0a284062b61c6d22250337df
https://github.com/llvm/llvm-project/commit/4e0dd007ac6a7b7e0a284062b61c6d22250337df
Author: mayanksolanki393 <mayanksolanki393 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCasts.cpp
M llvm/test/Transforms/InstCombine/logical-select.ll
A llvm/test/Transforms/InstCombine/trunc-lshr.ll
Log Message:
-----------
[InstCombine] Combine trunc (lshr X, BW-1) to i1 --> icmp slt X, 0 (#142593) (#143846)
Fixes #142593, the issue was fixed using the suggestion on the ticket
itself.
Godbolt: https://godbolt.org/z/oW5b74jc4
alive2 proof: https://alive2.llvm.org/ce/z/QHnD7e
Commit: e61405033bbaec3604c79a0b323a3e21efc720bc
https://github.com/llvm/llvm-project/commit/e61405033bbaec3604c79a0b323a3e21efc720bc
Author: Mariya Podchishchaeva <mariya.podchishchaeva at intel.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/test/CodeGen/X86/avx-cxx-record.cpp
Log Message:
-----------
[clang] Fix -fclang-abi-compat for clang 20 (#144109)
The value was known already, but it was parsed as latest which is
incorrect because we are already doing clang 21.
Commit: fbade95ebf2bc959fada5206e47f792a2090d72e
https://github.com/llvm/llvm-project/commit/fbade95ebf2bc959fada5206e47f792a2090d72e
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Strip unnecessary make_{pair,optional} (NFC) (#141924)
Commit: cca454b54c7d58930e261c7fa72f44a1a8976997
https://github.com/llvm/llvm-project/commit/cca454b54c7d58930e261c7fa72f44a1a8976997
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
Log Message:
-----------
[ValueTracking] Remove opcode whitelist from matchSimpleRecurrence. (#144031)
This also patches HashRecognize to avoid it mishandling some opcodes.
Commit: 0952992ac6e1470d9f776a99c5793745a6b58d98
https://github.com/llvm/llvm-project/commit/0952992ac6e1470d9f776a99c5793745a6b58d98
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M bolt/lib/Utils/CMakeLists.txt
Log Message:
-----------
[BOLT] Fix LLVM_APPEND_VC_REV support (#142410)
The CMake flag LLVM_APPEND_VC_REV can be passed when building BOLT a
BOLT to prevent including a VC Revision. This patch enables this
functionality.
Usage: `-DLLVM_APPEND_VC_REV=OFF` when running CMake.
Commit: 383b3268794da1ca763deb91cec777742e6e54a8
https://github.com/llvm/llvm-project/commit/383b3268794da1ca763deb91cec777742e6e54a8
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-debuginfo-analyzer.rst
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLine.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVLocation.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVObject.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVRange.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSymbol.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVType.h
M llvm/lib/DebugInfo/LogicalView/Core/LVObject.cpp
M llvm/lib/DebugInfo/LogicalView/Core/LVOptions.cpp
Log Message:
-----------
[llvm-debuginfo-analyzer] Fix ODR violation in llvm::logicalview::LVObject (#140265)
Some data members are only part of a class definition in a Debug build,
e.g. `LVObject::ID`. If `debuginfologicalview` is used as a library,
`NDEBUG` cannot be used for this purpose, as this PP macro may have a
different definition in a downstream project, which in turn triggers an
ODR violation. Fix it by
- Making `LVObject::ID` an unconditional data member.
- Making `LVObject::dump()` non-virtual. Rationale: `virtual` is not
needed (and it calls `print()`, which is virtual anyway).
Fixes #139098.
Commit: f12dd8f86a2911f69349807359d3bc792e6b773d
https://github.com/llvm/llvm-project/commit/f12dd8f86a2911f69349807359d3bc792e6b773d
Author: Ricardo Jesus <rjj at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
Log Message:
-----------
[ValueTracking] Remove unused variable in matchSimpleRecurrence (NFC). (#144316)
Commit: 3dd61c1876446fb9db7c87b89006ad6d81f72f0d
https://github.com/llvm/llvm-project/commit/3dd61c1876446fb9db7c87b89006ad6d81f72f0d
Author: Sam Tebbs <samuel.tebbs at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/ARM/mve-reg-pressure-vmla.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage-f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/reg-usage.ll
Log Message:
-----------
[LV] Fix MVE regression from #132190 (#141736)
Register pressure was only considered if the vector bandwidth was being
maximised (chosen either by the target or user options), but #132190
inadvertently caused high pressure VFs to be pruned even when max
bandwidth wasn't enabled. This PR returns to the previous behaviour.
Commit: a75e0627f97ccc36ec222a53c6a1106157a380ac
https://github.com/llvm/llvm-project/commit/a75e0627f97ccc36ec222a53c6a1106157a380ac
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/check-prof-info.ll
M llvm/test/Transforms/LoopVectorize/check-prof-info.ll
Log Message:
-----------
[LV] Use vscale for tuning when updating profile information (#143690)
In fixVectorizedLoop we call setProfileInfoAfterUnrolling to update the
profile information after vectorising, however for scalable VFs we
pessimistically assume vscale=1. We can improve upon this by using the
value of vscale used for tuning, i.e. when targeting neoverse-v1 the
expected value is 2.
Commit: 79a2b15a4c2d63784fe2a92a72828a14b72412df
https://github.com/llvm/llvm-project/commit/79a2b15a4c2d63784fe2a92a72828a14b72412df
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libcxx/include/__config
M libcxx/include/__utility/pair.h
Log Message:
-----------
[libc++] Remove a few workarounds for old Clang versions (#143858)
Commit: eddab9b757722da7b908723a5a61d280540b48cf
https://github.com/llvm/llvm-project/commit/eddab9b757722da7b908723a5a61d280540b48cf
Author: Oliver Hunt <oliver at apple.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/AST/ASTContext.h
M clang/lib/AST/ASTContext.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
A clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp
Log Message:
-----------
[clang] Fix PointerAuth semantics of cpp_trivially_relocatable (#143969)
This adds a number of functions to ASTContext to query whether a
type contains data protected with address discriminated pointer
authentication, and whether the protected values are just vtable
pointers, or if there are other address discriminated types included.
For the standardized version, __builtin_is_cpp_trivially_relocatable
this means accepting types where the only address discriminated
values are vtable pointers. Other address discriminated types are
not considered relocatable. In addition to that any union containing
any address discriminated data, including vtable pointers, is not
relocatable.
For the old deprecated __builtin_is_trivially_relocatable we reject
any type containing any address discriminated value, as it is
semantically intended as being a "is this memcopyable" which is
not true for anything with address discrimination.
This PR does not update the codegen for __builtin_trivially_relocate,
that will be in a follow on PR that is much more complex.
Commit: b2bf017acd0369fff89b933cf7c653f62b49f8d3
https://github.com/llvm/llvm-project/commit/b2bf017acd0369fff89b933cf7c653f62b49f8d3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86FixupInstTuning.cpp
M llvm/test/CodeGen/X86/combine-or-shuffle.ll
M llvm/test/CodeGen/X86/dpbusd.ll
M llvm/test/CodeGen/X86/dpbusd_const.ll
M llvm/test/CodeGen/X86/shuffle-vs-trunc-256.ll
M llvm/test/CodeGen/X86/vector-reduce-add-mask.ll
M llvm/test/CodeGen/X86/vector-reduce-add-zext.ll
M llvm/test/CodeGen/X86/vector-reduce-add.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg.ll
M llvm/test/CodeGen/X86/zero_extend_vector_inreg_of_broadcast.ll
Log Message:
-----------
[X86] X86FixupInstTuning - prefer VPBLENDD to VPBLENDW shuffles on AVX2+ targets (#144269)
On many Intel AVX2 targets (Haswell+), VPBLENDD has notably better throughput than VPBLENDW - and the remaining Intel/AMD targets have no preference.
This patch replaces VPBLENDW shuffles if the shuffle mask can be safely widened from vXi16 to vXi32 and that the scheduler model doesn't consider it a regression (I haven't found any target where this is true, but we should retain the model check).
Noticed while working on #142972 where VMOVSS nodes were regressing to VPBLENDW nodes during domain switching.
Commit: 3824a2dbcefe266849b9f8b3eaa1dd23354b15de
https://github.com/llvm/llvm-project/commit/3824a2dbcefe266849b9f8b3eaa1dd23354b15de
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Analysis/MemoryBuiltins.cpp
M llvm/lib/Transforms/IPO/Attributor.cpp
Log Message:
-----------
[MemoryBuiltins] Support allocas in getInitialValueOfAllocation (NFC)
Commit: 299a55a88fae4fc423c440436b2632d2a6bd800a
https://github.com/llvm/llvm-project/commit/299a55a88fae4fc423c440436b2632d2a6bd800a
Author: Yingwei Zheng <dtcxzyw2333 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/docs/InstCombineContributorGuide.md
Log Message:
-----------
[InstCombine][Docs] Update InstCombine contributor guide (#144228)
Update the guideline to reduce the chance of miscompilation/performance
regression.
---------
Co-authored-by: Nikita Popov <github at npopov.com>
Co-authored-by: Antonio Frighetto <me at antoniofrighetto.com>
Commit: e00853859e89114d8db24aa0b863b618175f79c7
https://github.com/llvm/llvm-project/commit/e00853859e89114d8db24aa0b863b618175f79c7
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Transform/IR/TransformOps.td
M mlir/lib/Dialect/Transform/IR/TransformOps.cpp
M mlir/python/mlir/dialects/transform/__init__.py
M mlir/test/Dialect/Transform/test-pass-application.mlir
M mlir/test/python/dialects/transform.py
Log Message:
-----------
[MLIR][Transform] apply_registered_pass: support ListOptions (#144026)
Interpret an option value with multiple values, either in the form of an
`ArrayAttr` (either static or passed through a param) or as the multiple
attrs associated to a param, as a comma-separated list, i.e. as a
ListOption on a pass.
Commit: ddea4fe85a01f645a1c5e2c4a8ea607a85cf986f
https://github.com/llvm/llvm-project/commit/ddea4fe85a01f645a1c5e2c4a8ea607a85cf986f
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Serialize.cpp
Log Message:
-----------
Fix some "not all control paths return" warnings; NFC
Commit: 4f7b5e6d8327f8cea41ba31fdbbb0ee9c1f754c3
https://github.com/llvm/llvm-project/commit/4f7b5e6d8327f8cea41ba31fdbbb0ee9c1f754c3
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
Log Message:
-----------
Fix a tablegen pattern that results in a warning; NFC
We were generating `1 || 1` which caused some issues for -Werror builds
Commit: 01f9dff61fb028f69493a44616014256dee5fb2a
https://github.com/llvm/llvm-project/commit/01f9dff61fb028f69493a44616014256dee5fb2a
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/test/CMakeLists.txt
Log Message:
-----------
[Flang] Add llvm-profdata to list of tools to be built (#144325)
Fixes #144179
Commit: 329dfa16564da74451d26b601cab2d8af0e5f4d3
https://github.com/llvm/llvm-project/commit/329dfa16564da74451d26b601cab2d8af0e5f4d3
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/fixup-blend.ll
Log Message:
-----------
[X86] fixup-blend.ll - add commuted load test coverage
Commit: d57b86701a7b5bf7d98fea032f33e726b2abb424
https://github.com/llvm/llvm-project/commit/d57b86701a7b5bf7d98fea032f33e726b2abb424
Author: Douglas Yung <douglas.yung at sony.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
Log Message:
-----------
Revert "AArch64: Move AArch64MCExpr functions to AArch64MCAsmInfo"
This reverts commit 4ea616d072d126a31149174ca2efdbdace9ce568.
This change is causing buildbot failures on MacOS:
- https://lab.llvm.org/buildbot/#/builders/190/builds/21510
- http://45.33.8.238/macm1/108620/step_10.txt
Commit: a54712c8ec25a94ab55a4783bfd9d5467d2ec968
https://github.com/llvm/llvm-project/commit/a54712c8ec25a94ab55a4783bfd9d5467d2ec968
Author: John Brawn <john.brawn at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
A llvm/test/Transforms/LoopStrengthReduce/AArch64/postidx-load.ll
Log Message:
-----------
[LSR] Make canHoistIVInc allow non-integer types (#143707)
canHoistIVInc was made to only allow integer types to avoid a crash in
isIndexedLoadLegal/isIndexedStoreLegal due to them failing an assertion
in getValueType (or rather in MVT::getVT which gets called from that)
when passed a struct type. Adjusting these functions to pass
AllowUnknown=true to getValueType means we don't get an assertion
failure (MVT::Other is returned which TLI->isIndexedLoadLegal should
then return false for), meaning we can remove this check for integer
type.
Commit: 39ad3151e073e9f721d1e2e2849fb4bdc9443ae3
https://github.com/llvm/llvm-project/commit/39ad3151e073e9f721d1e2e2849fb4bdc9443ae3
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/utils/TableGen/AsmMatcherEmitter.cpp
M llvm/utils/TableGen/Common/CodeGenDAGPatterns.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.cpp
M llvm/utils/TableGen/Common/CodeGenRegisters.h
M llvm/utils/TableGen/Common/CodeGenSchedule.h
M llvm/utils/TableGen/Common/GlobalISel/GlobalISelMatchTable.h
M llvm/utils/TableGen/Common/PredicateExpander.h
M llvm/utils/TableGen/DAGISelMatcherGen.cpp
M llvm/utils/TableGen/DecoderEmitter.cpp
M llvm/utils/TableGen/FastISelEmitter.cpp
Log Message:
-----------
[TableGen] Use default member initializers. NFC. (#144349)
Automated with clang-tidy -fix -checks=-*,modernize-use-default-member-init
Commit: 595a273d9232a7378c583fb109212370d6d2f4e4
https://github.com/llvm/llvm-project/commit/595a273d9232a7378c583fb109212370d6d2f4e4
Author: Andrey Timonin <timonina1909 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
M mlir/test/Dialect/EmitC/ops.mlir
Log Message:
-----------
[mlir][emitc] Support 'emitc::LValueType' in 'emitc::VerbatimOp' (#144151)
This PR introduces support for `emitc::LvalueType` in
`emitc::VerbatimOp`, providing a mechanism to reduce the number of
operations required when working with verbatim operations whose
arguments are of type `emitc::LvalueType`.
Before:
```mlir
emitc.func @foo() {
%a = "emitc.variable"() <{value = #emitc.opaque<"1">}> : () -> !emitc.lvalue<i32>
%loaded_a = load %a : !emitc.lvalue<i32>
emitc.verbatim "{} + {};" args %loaded_a, %loaded_a : i32, i32
return
}
```
After:
```mlir
emitc.func @bar() {
%a = "emitc.variable"() <{value = #emitc.opaque<"1">}> : () -> !emitc.lvalue<i32>
emitc.verbatim "{} + {};" args %a, %a : !emitc.lvalue<i32>, !emitc.lvalue<i32>
return
}
```
You can now write something like this:
```mlir
emitc.func @baz() {
%a = "emitc.variable"() <{value = #emitc.opaque<"1">}> : () -> !emitc.lvalue<i32>
emitc.verbatim "++{};" args %a : !emitc.lvalue<i32>
return
}
```
Commit: 8e333e3cedec69f9e538ed79ed9f577956215edb
https://github.com/llvm/llvm-project/commit/8e333e3cedec69f9e538ed79ed9f577956215edb
Author: Max191 <44243577+Max191 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Affine/Transforms/Transforms.h
M mlir/lib/Dialect/Affine/Transforms/AffineExpandIndexOps.cpp
Log Message:
-----------
[mlir] Expose linearize/delinearize lowering transforms (#144156)
Moves the transformation logic from the AffineLinearizeOp and
AffineDelinearizeOp lowerings into separate transform functions that can
now be called separately. This provides a more controlled way to apply
the op lowerings.
---------
Signed-off-by: Max Dawkins <max.dawkins at gmail.com>
Commit: 7c25db3fbfc63f76b270940e341f267e497e95d9
https://github.com/llvm/llvm-project/commit/7c25db3fbfc63f76b270940e341f267e497e95d9
Author: Xu Zhang <simonzgx at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/AArch64/aarch64-bitwisenot-fold.ll
M llvm/test/CodeGen/LoongArch/ctlz-cttz-ctpop.ll
Log Message:
-----------
[DAG] Fold (and X, (add (not Y), Z)) -> (and X, (not (sub Y, Z))). (#141476)
Fixes #140639
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: f2734aa25e808e8c1967f7125fdea6c8b2dab9e1
https://github.com/llvm/llvm-project/commit/f2734aa25e808e8c1967f7125fdea6c8b2dab9e1
Author: Acthinks Yang <yangzhh at mail.ustc.edu.cn>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCompares.cpp
A llvm/test/Transforms/InstCombine/icmp-subadd.ll
Log Message:
-----------
[InstCombine] fold icmp with add/sub instructions having the same operands (#143241)
Closes #143211.
Commit: 4692f0d3448e32381a2b21c7359c7daed07a8850
https://github.com/llvm/llvm-project/commit/4692f0d3448e32381a2b21c7359c7daed07a8850
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
R llvm/test/CodeGen/AMDGPU/promote-alloca-structs.ll
Log Message:
-----------
Revert "[AMDGPU] Extended vector promotion to aggregate types." (#144366)
Reverts llvm/llvm-project#143784
Patch fails some internal tests. Will investigate more thoroughly before
attempting to remerge.
Commit: 38fa7533fbac525198206200cf2caf04071fcdb1
https://github.com/llvm/llvm-project/commit/38fa7533fbac525198206200cf2caf04071fcdb1
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Basic/DiagnosticGroups.td
Log Message:
-----------
Fix diagnostic documentation build errors
Commit: f0373295e82315f95a97ce1b34c78ff46f475863
https://github.com/llvm/llvm-project/commit/f0373295e82315f95a97ce1b34c78ff46f475863
Author: Iris Shi <0.0 at owo.li>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/Parse/ParseDeclCXX.cpp
A clang/test/Parser/cxx-invalid-using-decl-in-constexpr-crash.cpp
Log Message:
-----------
[clang][Parser] Fix crash on malformed using declaration in constexpr function (#144286)
Commit: 6f1b5ed7e127b7806ae36783c6b9406434416c95
https://github.com/llvm/llvm-project/commit/6f1b5ed7e127b7806ae36783c6b9406434416c95
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] LowerCONCAT_VECTORS - pull out repeated SDLoc(). NFC.
Commit: 404597061f974470e8bd1198e44d024fac8319a1
https://github.com/llvm/llvm-project/commit/404597061f974470e8bd1198e44d024fac8319a1
Author: Pranav Bhandarkar <pranav.bhandarkar at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/OpenMP/OMPIRBuilder.h
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
M mlir/test/Target/LLVMIR/omptarget-depend.mlir
M mlir/test/Target/LLVMIR/omptarget-nowait-llvm.mlir
A mlir/test/Target/LLVMIR/omptarget-nowait.mlir
M mlir/test/Target/LLVMIR/omptargetdata-nowait-llvm.mlir
Log Message:
-----------
[OMPIRBuilder] - Make offloading input data persist for deferred target tasks (#133499)
When we offload to the target, the pointers to data used by the kernel
are passed in arrays created by `OMPIRBuilder`. These arrays of pointers
are allocated on the stack on the host. This is fine for the most part
because absent the `nowait` clause, the default behavior is that target
tasks are included tasks. That is, the host is blocked until the
offloaded target kernel is done. In turn, this means that the host's
stack frame is intact and accessing the array of pointers when
offloading is safe. However, when `nowait` is used on the `!$ omp
target` instance, then the target task is a deferred task meaning, the
generating task on the host does not have to wait for the target task
to finish. In such cases, it is very likely that the stack frame of the
function invoking the target call is wound up thereby leading to memory
access errors as shown below.
```
AMDGPU error: Error in hsa_amd_memory_pool_allocate: HSA_STATUS_ERROR_INVALID_ALLOCATION: The requested allocation is not valid.
AMDGPU error: Error in hsa_amd_memory_pool_allocate: HSA_STATUS_ERROR_INVALID_ALLOCATION: The requested allocation is not valid. "PluginInterface" error: Failure to allocate device memory: Failed to allocate from memory manager
fort.cod.out: /llvm/llvm-project/offload/plugins-nextgen/common/src/PluginInterface.cpp:1434: Error llvm::omp::target::plugin::PinnedAllocationMapTy::lockMappedHostBuffer(void *, size_t): Assertion `HstPtr && "Invalid pointer"' failed.
Aborted (core dumped)
```
This PR implements support in `OMPIRBuilder` to store these arrays of
pointers in the task structure that is passed to the target task thereby
ensuring it is available to the target task when the target task is
eventually scheduled.
---------
Co-authored-by: Sergio Afonso <safonsof at amd.com>
Commit: c7d85813fda88329979ae6c091d59a60833a9765
https://github.com/llvm/llvm-project/commit/c7d85813fda88329979ae6c091d59a60833a9765
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
A llvm/test/Transforms/IndVarSimplify/simplify-icmp-operands-order.ll
Log Message:
-----------
[IndVars] Add tests showing missed simplifications.
Commit: a5f0525d4b3edba50706cb0e4b9a48f0691e2b4c
https://github.com/llvm/llvm-project/commit/a5f0525d4b3edba50706cb0e4b9a48f0691e2b4c
Author: Nicholas Guy <nicholas.guy at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-partial-reduce.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-dot-product.ll
M llvm/test/CodeGen/AArch64/sve-partial-reduce-wide-add.ll
Log Message:
-----------
[AArch64][SelectionDAG] Enable new partial reduction lowering by default (#143565)
Commit: 58d23476f0ce76c847497a880f975550a645c796
https://github.com/llvm/llvm-project/commit/58d23476f0ce76c847497a880f975550a645c796
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XeGPU] Add unroll patterns for scatter ops (#143602)
Add unrolling support for create_tdesc, load, store, prefetch, and update_offset.
---------
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Co-authored-by: Chao Chen <chao.chen at intel.com>
Commit: fc6aac72cc2c9a7a9dab443bca52f813a18461ef
https://github.com/llvm/llvm-project/commit/fc6aac72cc2c9a7a9dab443bca52f813a18461ef
Author: Farzon Lotfi <farzonlotfi at microsoft.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILFlattenArrays.cpp
M llvm/test/CodeGen/DirectX/flatten-array.ll
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
Log Message:
-----------
[DirectX] Fix bug where Flatten arrays was only using last index (#144146)
fixes #142836
We added a function called `collectIndicesAndDimsFromGEP` which builds
the Indicies and Dims up for the recursive case and the base case.
really to solve #142836 we didn't need to add it to the recursive case.
The recursive cases exists for gep chains which are ussually two
indicies per gep ie ptr index and array index. adding
collectIndicesAndDimsFromGEP to the recursive cases means we can now do
some mixed mode indexing say we get a case where its not the ussual 2
indicies but instead 3 we can now treat those last two indicies as part
of the computation for the flat array index.
Commit: 2dd50bf79edefa28beffdbba4edfc2c753adae61
https://github.com/llvm/llvm-project/commit/2dd50bf79edefa28beffdbba4edfc2c753adae61
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OpenMP] Fix warnings
This patch fixes:
llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:7233:9: error: unused
variable 'TaskTy' [-Werror,-Wunused-variable]
llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:7666:15: error: unused
variable 'ArrayType' [-Werror,-Wunused-variable]
Commit: dfb14b65bc0a277f920c797b4557e79685055b4f
https://github.com/llvm/llvm-project/commit/dfb14b65bc0a277f920c797b4557e79685055b4f
Author: Kiran Chandramohan <kiran.chandramohan at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/test/Preprocessing/bug518.F
Log Message:
-----------
[Flang] NFC: Update test to work on Mac (#144253)
`%flang` expands to `flang -isysroot <SDK location>` in Mac and probably
other OS as well. `fc1` is only accepted as the first argument and hence
in this case it fails.
Use the `%flang_fc1` option to correctly expand to `flang -fc1 -isysroot
<SDK location>`.
Commit: 711f6a8603717a6dc7e6202c614433ea2f9c0967
https://github.com/llvm/llvm-project/commit/711f6a8603717a6dc7e6202c614433ea2f9c0967
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.cpp
M llvm/lib/CodeGen/AsmPrinter/DwarfUnit.h
A llvm/test/DebugInfo/X86/DW_AT_object_pointer-non-standard-index.ll
M llvm/test/DebugInfo/X86/DW_AT_object_pointer.ll
M llvm/test/tools/llvm-dwarfdump/X86/statistics.ll
Log Message:
-----------
[llvm][DebugInfo] Encode DW_AT_object_pointer on method declarations with DW_FORM_implicit_const (#124790)
We started attaching `DW_AT_object_pointer`s on method declarations in
https://github.com/llvm/llvm-project/pull/122742. However, that caused
the `.debug_info` section size to increase significantly (by around ~10%
on some projects). This was mainly due to the large number of new
`DW_FORM_ref4` values. This patch tries to address that regression by
changing the `DW_FORM_ref4` to a `DW_FORM_implicit_const` for
declarations. The value of `DW_FORM_implicit_const` will be the *index*
of the object parameter in the list of formal parameters of the
subprogram (i.e., if the first `DW_TAG_formal_parameter` is the object
pointer, the `DW_FORM_implicit_const` would be `0`). The DWARFv5 spec
only mentions the use of the `reference` attribute class to for
`DW_AT_object_pointer`. So using a `DW_FORM_impilicit_const` would be an
extension to (and not something mandated/specified by) the standard.
Though it'd make sense to extend the wording in the spec to allow for
this optimization.
That way we don't pay for the 4 byte references on every attribute
occurrence. In a local build of clang this barely affected the
`.debug_info` section size (but did increase `.debug_abbrev` by up to
10%, which doesn't impact the total debug-info size much however).
We guarded this on LLDB tuning (since using `DW_FORM_implicit_const` for
this purpose may surprise consumers) and DWARFv5 (since that's where
`DW_FORM_implicit_const` was first standardized).
Commit: c9ac1679b5d3a3839640486dd4bd931a19f4725a
https://github.com/llvm/llvm-project/commit/c9ac1679b5d3a3839640486dd4bd931a19f4725a
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/tools/debugserver/source/RNBRemote.cpp
Log Message:
-----------
[lldb] Remove a redundant control flow statement (NFC) (#144284)
Commit: 05cd32adb7ce2354563814ab6e0b818f2ed6fa26
https://github.com/llvm/llvm-project/commit/05cd32adb7ce2354563814ab6e0b818f2ed6fa26
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/GlobalISel/CSEMIRBuilder.cpp
M llvm/lib/CodeGen/GlobalISel/LoadStoreOpt.cpp
M llvm/lib/CodeGen/MachineBasicBlock.cpp
M llvm/lib/IR/BasicBlock.cpp
M llvm/lib/IR/IRBuilder.cpp
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
M llvm/lib/Transforms/Scalar/ConstantHoisting.cpp
M llvm/lib/Transforms/Scalar/SimplifyCFGPass.cpp
M llvm/lib/Transforms/Utils/BasicBlockUtils.cpp
M llvm/lib/Transforms/Utils/Local.cpp
Log Message:
-----------
[llvm] Remove unused includes (NFC) (#144293)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: ec32d8858559e4e6b5e520dfd36bfb64056fbdbb
https://github.com/llvm/llvm-project/commit/ec32d8858559e4e6b5e520dfd36bfb64056fbdbb
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
Annotate potentially unused variables introduced in #133499 (#144379)
Commit: 5acdd8d0cf785595b06c1a28326b560f720b4f16
https://github.com/llvm/llvm-project/commit/5acdd8d0cf785595b06c1a28326b560f720b4f16
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/AVR/AVRMCInstLower.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRELFObjectWriter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCCodeEmitter.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCELFStreamer.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
Log Message:
-----------
AVR: Rename AVRMCExpr::VK_ to AVR::S_
Prepare for removing AVRMCExpr. Adopt the new naming convention (S_
instead of VK_; the relocation specifier was previously named
`VariantKind`)) used by most other targets.
Make AVRMCAsmInfo.h include AVRMCExpr.h and change .cpp files to include
AVRMCAsmInfo.h. We will eventually remove AVRMCExpr.h.
Commit: 25dcd231bfee1120c21b102e074542c54fb7c5c2
https://github.com/llvm/llvm-project/commit/25dcd231bfee1120c21b102e074542c54fb7c5c2
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
A llvm/test/Transforms/Attributor/AMDGPU/tag-invariant-loads.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
Log Message:
-----------
[IPO] Added attributor for identifying invariant loads (#141800)
The attributor conservatively marks pointers whose loads are eligible to
be marked as `!invariant.load`.
It does so by identifying:
1. Pointers marked `noalias` and `readonly`
2. Pointers whose underlying objects are all eligible for invariant
loads.
The attributor then manifests this attribute at non-atomic non-volatile
load instructions.
Commit: 1bd4f9719faac77f368a7bdfdb47ead56a808375
https://github.com/llvm/llvm-project/commit/1bd4f9719faac77f368a7bdfdb47ead56a808375
Author: Leandro Lupori <leandro.lupori at linaro.org>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Lower/OpenMP/implicit-dsa.f90
A flang/test/Lower/OpenMP/taskgroup02.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
Log Message:
-----------
[flang][OpenMP] Put taskgroup in a new scope (#144122)
Although taskgroup is a privatizing construct, because of
task_reduction clause, a new scope was not being created for it.
This could cause an extra privatization of variables when
taskgroup was lowered, because its scope would be the same as of
the parent privatizing construct.
This fixes regressions in tests 1052_0201 and 1052_0205, from
Fujitsu testsuite.
This issue didn't happen before because implicit symbols were
being created in a different way before #142154.
Commit: 22d9ea1b636d2c72a24fb0a8ce5216d609164635
https://github.com/llvm/llvm-project/commit/22d9ea1b636d2c72a24fb0a8ce5216d609164635
Author: Igor Wodiany <igor.wodiany at imgtec.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/SPIRV/IR/SPIRVGLOps.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVCanonicalization.td
M mlir/lib/Dialect/SPIRV/IR/SPIRVGLCanonicalization.cpp
M mlir/test/Dialect/SPIRV/IR/gl-ops.mlir
M mlir/test/Dialect/SPIRV/Transforms/gl-canonicalize.mlir
M mlir/test/Target/SPIRV/gl-ops.mlir
Log Message:
-----------
[mlir][spirv] Add definition for GL Length (#144041)
A canonicalization pattern from `spirv.GL.Length` to `spirv.GL.FAbs` for scalar operands is also added.
Commit: 8bbef3d1c9115b3c64365e9b8e4ee84275a4d001
https://github.com/llvm/llvm-project/commit/8bbef3d1c9115b3c64365e9b8e4ee84275a4d001
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
A llvm/test/Transforms/InstCombine/AMDGPU/ptr-replace-alloca.ll
Log Message:
-----------
[InstCombine] Iterative replacement in PtrReplacer (#137215)
This patch enhances the PtrReplacer as follows:
1. Users are now collected iteratively to be generous on the stack. In
the case of PHIs with incoming values which have not yet been visited,
they are pushed back into the stack for reconsideration.
2. Replace users of the pointer root in a reverse-postorder traversal,
instead of a simple traversal over the collected users. This reordering
ensures that the operands of an instruction are replaced before
replacing the instruction itself.
3. During the replacement of PHI, use the same incoming value if it does
not have a replacement.
This patch specifically fixes the case when an incoming value of a PHI
is addrspacecasted.
Commit: d1dc080a858ca47c314334fb14f1ecb605fb4371
https://github.com/llvm/llvm-project/commit/d1dc080a858ca47c314334fb14f1ecb605fb4371
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/DisassembleRequestHandler.cpp
Log Message:
-----------
[lldb-dap] show function name in the instruction comment. (#144070)
putting the function name is the dissassembly instruction messes up the
alignment making it less readable. put it instead with the comment.
This also aligns the opcodes and instruction to the left matching the
cli
Commit: 20a1b357c0ff3c3f71de45bae42cb2dead7b66c9
https://github.com/llvm/llvm-project/commit/20a1b357c0ff3c3f71de45bae42cb2dead7b66c9
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCAsmInfo.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCExpr.h
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64WinCOFFObjectWriter.cpp
Log Message:
-----------
AArch64: Move AArch64MCExpr functions to AArch64MCAsmInfo
To migrate away from the legacy
XXXMCExpr::printImpl/evaluateAsRelocatableImpl overrides and align with
other targets.
While the AArch64MCAsmInfoXXX hooks introduce some duplication, they
enable better separation for object file formats.
Note: While AArch64MCAsmInfoDarwin uses the `@specifier` notation, it
might use AArch64MCExpr with specifier VK_ABS.
test/tools/llvm-mca/AArch64/Exynos/zero-latency-move.s abuses a parser
behavior that :lo12: is also parsed for Mach-O (though it will fail for
-filetype=obj).
Commit: a733c6c7bb1c533ec28c96c49d3c5de7babd8b7f
https://github.com/llvm/llvm-project/commit/a733c6c7bb1c533ec28c96c49d3c5de7babd8b7f
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/test/Analysis/CostModel/RISCV/cast-half.ll
M llvm/test/Analysis/CostModel/RISCV/cast.ll
M llvm/test/Analysis/CostModel/RISCV/cmp.ll
M llvm/test/CodeGen/RISCV/rvv/vsub-sdnode.ll
Log Message:
-----------
[TargetLowering][RISCV] Allow scalable non-simple EVTs to be split even if the element type isn't a legal scalar type. (#144007)
This fixes an inconsistency in i64 vector handling between RV32 and
RV64. Even if i64 isn't legal as a scalar, we should still be able
to split a large i64 vector to get down to a legal vector type. We only
need to give up if we need to split a vscale x 1 vector.
Commit: c62a6138d9d02bcc0fb6660bbed78b4e979fc3dc
https://github.com/llvm/llvm-project/commit/c62a6138d9d02bcc0fb6660bbed78b4e979fc3dc
Author: Anshil Gandhi <95053726+gandhi56 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineLoadStoreAlloca.cpp
R llvm/test/Transforms/InstCombine/AMDGPU/ptr-replace-alloca.ll
Log Message:
-----------
Revert "[InstCombine] Iterative replacement in PtrReplacer" (#144394)
Reverts llvm/llvm-project#137215
This commit caused a failure in the LLVM CI:
https://lab.llvm.org/buildbot/#/builders/10/builds/7442
Commit: 6f9cd79fa2f43b8128be3e4386ee182ad5a843cc
https://github.com/llvm/llvm-project/commit/6f9cd79fa2f43b8128be3e4386ee182ad5a843cc
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Analysis/InstructionSimplify.cpp
M llvm/test/Transforms/InstSimplify/vp-reverse.ll
Log Message:
-----------
[InstSimplify] Add basic simplifications for vp.reverse (#144112)
Directly modeled after what we do for vector.reverse, but with
restrictions on EVL and mask added.
Commit: 90d62e0ae352e67d808f94ffb6d215d033f4ec22
https://github.com/llvm/llvm-project/commit/90d62e0ae352e67d808f94ffb6d215d033f4ec22
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/RISCV/rvv-shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/shuffle-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
Log Message:
-----------
[RISCV][TTI] Refine reverse shuffle costing for high LMUL (#144155)
This contains two closely related changes:
1) Explicitly recurse on the i1 case - "3" happens to be the right
magic constant at m1, but is not otherwise correct, and we're
better off deferring this to existing logic.
2) Match the lowering for high LMUL shuffles - we've switched to using
a linear number of m1 vrgather instead of a single big vrgather.
This results in substantially faster (but also larger) code for
reverse shuffles larger than m1. Note that fixed vectors need
a slide at the end, but scalable ones don't.
This will have the effect of biasing the vectorizer towards larger
(particularly scalable larger) vector factors. This increases VF for the
s112 and s1112 loops from TSVC_2 (in all configurations).
We could refine the high LMUL estimates a bit more, but I think getting
the linear scaling right is probably close enough for the moment.
Commit: 267b859fc60acda510027bd6139c54d660c6fb21
https://github.com/llvm/llvm-project/commit/267b859fc60acda510027bd6139c54d660c6fb21
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
A clang/test/CIR/Transforms/vector-cmp-fold.cir
Log Message:
-----------
[CIR] Implement folder for VecCmpOp (#143322)
This change adds a folder for the VecCmpOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 4cd3e41bce449a10f431a3112b6cb8d7bc1b09cf
https://github.com/llvm/llvm-project/commit/4cd3e41bce449a10f431a3112b6cb8d7bc1b09cf
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/table.h
M libc/test/src/__support/HashTable/table_test.cpp
Log Message:
-----------
[libc] Removed public function calls in table.h (#144168)
Removed strcmp, strlen, and memset calls from table.h and replaced them
with internal functions.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: ffc4d87f9b2b57f7020fa5fd0f1d3003370c2d80
https://github.com/llvm/llvm-project/commit/ffc4d87f9b2b57f7020fa5fd0f1d3003370c2d80
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/InitializePasses.h
M llvm/include/llvm/Pass.h
M llvm/include/llvm/PassAnalysisSupport.h
M llvm/include/llvm/PassRegistry.h
M llvm/include/llvm/PassSupport.h
M llvm/include/llvm/Passes/OptimizationLevel.h
M llvm/include/llvm/Passes/PassBuilder.h
M llvm/include/llvm/Passes/PassPlugin.h
M llvm/include/llvm/Passes/StandardInstrumentations.h
Log Message:
-----------
[llvm] annotate interfaces in Passes for DLL export (#143794)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/Passes` library and
other pass-related headers. These annotations currently have no
meaningful impact on the LLVM build; however, they are a prerequisite to
support an LLVM Windows DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The following manual adjustments were also applied after running IDS on
Linux:
- Remove the redundant declaration of the `initializeKCFIPass` function
from llvm/include/llvm/InitializePasses.h because IDS only
auto-annotates the first declaration it encounters, and the second
un-annotated declaration results in an MSVC warning
- Add `LLVM_ABI` to a number of private `AnalysisKey` fields in classes
that extend the `AnalysisInfoMixin` template class.
- Add `LLVM_ABI` to the `ChangeReporter` and `TextChangeReporter`
template class definitions in
llvm/include/llvm/Passes/StandardInstrumentations.h and remove the
extern template instantiations. This is the only way I've found to get
everything compiling warning-free when building a DLL because both
template classes have methods implemented out-of-line.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: febb7e8443c4e8ff55e6b21bec4e2233b62d832b
https://github.com/llvm/llvm-project/commit/febb7e8443c4e8ff55e6b21bec4e2233b62d832b
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/XRay/BlockIndexer.h
M llvm/include/llvm/XRay/BlockPrinter.h
M llvm/include/llvm/XRay/BlockVerifier.h
M llvm/include/llvm/XRay/FDRRecordConsumer.h
M llvm/include/llvm/XRay/FDRRecordProducer.h
M llvm/include/llvm/XRay/FDRRecords.h
M llvm/include/llvm/XRay/FDRTraceWriter.h
M llvm/include/llvm/XRay/FileHeaderReader.h
M llvm/include/llvm/XRay/InstrumentationMap.h
M llvm/include/llvm/XRay/Profile.h
M llvm/include/llvm/XRay/RecordPrinter.h
M llvm/include/llvm/XRay/Trace.h
Log Message:
-----------
[llvm] annotate interfaces in XRay for DLL export (#143765)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/XRay` library.
These annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
The bulk of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
Additionally, I manually added `LLVM_ABI_FRIEND` to friend member
functions declared with `LLVM_ABI`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 695c4f2309718c441bc2e5b7dd3e3267737a12e6
https://github.com/llvm/llvm-project/commit/695c4f2309718c441bc2e5b7dd3e3267737a12e6
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Tensor/Utils/Utils.h
M mlir/lib/Dialect/Tensor/Utils/Utils.cpp
Log Message:
-----------
[NFC][mlir][tensor] Use `ValueRange` instead of `SmallVector` in `tensor::createPadHighOp` (#144397)
Use `ValueRange` instead of `SmallVector` in `tensor::createPadHighOp`
for the `dynOutDims` arg.
Commit: 492d25bbe12af7702a392fa7ad41eb9e09a48cf2
https://github.com/llvm/llvm-project/commit/492d25bbe12af7702a392fa7ad41eb9e09a48cf2
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/ObjectYAML/CodeViewYAMLDebugSections.h
M llvm/include/llvm/ObjectYAML/CodeViewYAMLSymbols.h
M llvm/include/llvm/ObjectYAML/CodeViewYAMLTypes.h
M llvm/include/llvm/ObjectYAML/DWARFEmitter.h
M llvm/include/llvm/ObjectYAML/DWARFYAML.h
M llvm/include/llvm/ObjectYAML/DXContainerYAML.h
M llvm/include/llvm/ObjectYAML/YAML.h
M llvm/include/llvm/ObjectYAML/yaml2obj.h
Log Message:
-----------
[llvm] annotate interfaces in llvm/ObjectYAML for DLL export (#143763)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/ObjectYAML`
library. These annotations currently have no meaningful impact on the
LLVM build; however, they are a prerequisite to support an LLVM Windows
DLL (shared library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
These were generated automatically using the [Interface Definition
Scanner (IDS)](https://github.com/compnerd/ids) tool, followed
formatting with `git clang-format`.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: fccab5d757778204666d70e2f1592952fc8b336d
https://github.com/llvm/llvm-project/commit/fccab5d757778204666d70e2f1592952fc8b336d
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream ComplexType ImaginaryLiteral (#144223)
This change adds support for ComplexType ImaginaryLiteral
https://github.com/llvm/llvm-project/issues/141365
Commit: 3f794759f4f2c0ba248a21fb3ec9eb4ff7e35724
https://github.com/llvm/llvm-project/commit/3f794759f4f2c0ba248a21fb3ec9eb4ff7e35724
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/cmake/modules/HandleLLVMOptions.cmake
M llvm/include/llvm/Config/llvm-config.h.cmake
M llvm/include/llvm/IR/DebugLoc.h
M llvm/lib/IR/DebugLoc.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[build] Fixed LLVM_ENABLE_DEBUGLOC_COVERAGE_TRACKING handling. (#144391)
Change in #107278 modified the CMake CACHE variable with values
that are not supported for it as documented. This patch renames the
derived vars so that they do not conflict with the CACHE variable.
Commit: a3d35b87eacece8cdbb4615ff6c65003773f5cbf
https://github.com/llvm/llvm-project/commit/a3d35b87eacece8cdbb4615ff6c65003773f5cbf
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Use RISCV::RVVBitsPerBlock instead of 64 in getLMUL1VT. NFC (#144401)
Commit: 539cf824259cbb23ccc68b83ef3cde575ca50842
https://github.com/llvm/llvm-project/commit/539cf824259cbb23ccc68b83ef3cde575ca50842
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
M lldb/tools/lldb-dap/EventHelper.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Use structured types for stepInTargets request (#144072)
uses the `SendTargetCapabilities` from #142831
Commit: b5c6245cb46354923940b95a89213fa0924e5c5f
https://github.com/llvm/llvm-project/commit/b5c6245cb46354923940b95a89213fa0924e5c5f
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
Log Message:
-----------
[CIR][NFC] Refactor constant pointer l-value handling (#144165)
This change introduces a ConstantLValueEmitter class, which will be
needed for emitting CIR for non-trivial constant pointers. This change
introduces the class with most branches reaching an NYI diagnostic. The
only path that is currently implemented is the case where an absolute
pointer (usually a null pointer) is emitted. This corresponds to the
existing handler for emitting l-value constants.
Commit: 00582728767599bb0e88beb96e8264dbe676da53
https://github.com/llvm/llvm-project/commit/00582728767599bb0e88beb96e8264dbe676da53
Author: Rahman Lavaee <rahmanl at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/unittests/Object/ELFObjectFileTest.cpp
Log Message:
-----------
[NFC] Remove unused test code from ELFObjectFileTest.cpp
Commit: 8ed43c47dec36bc38bbae4c6f024cdb824555a76
https://github.com/llvm/llvm-project/commit/8ed43c47dec36bc38bbae4c6f024cdb824555a76
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Hoist IRBuilder<> out of Visit* functions. NFC (#144369)
Commit: 63b80dd01dafc92104ee43e4f0f5296d644c25ec
https://github.com/llvm/llvm-project/commit/63b80dd01dafc92104ee43e4f0f5296d644c25ec
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
Log Message:
-----------
[NFC][RootSignature] Use `llvm::EnumEntry` for serialization of Root Signature Elements (#144106)
It has pointed out
[here](https://github.com/llvm/llvm-project/pull/143198#discussion_r2132877388)
that we may be able to use `llvm::EnumEntry` so that we can re-use the
printing logic across enumerations.
- Enables re-use of `printEnum` and `printFlags` methods via templates
- Allows easy definition of `getEnumName` function for enum-to-string
conversion, eliminating the need to use a string stream for constructing
the Name SmallString
- Also, does a small fix-up of the operands for descriptor table clause
to be consistent with other `Build*` methods
For reference, the
[test-cases](https://github.com/llvm/llvm-project/blob/main/llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp)
that must not change expected output.
Commit: fcc10e55cabb90f3097a8da4c114e827a1d746eb
https://github.com/llvm/llvm-project/commit/fcc10e55cabb90f3097a8da4c114e827a1d746eb
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/GenericUniformityImpl.h
Log Message:
-----------
Remove unnecessary BOM from file; NFC
Fixes #144373
Commit: f83d09a1f60aee28a8ed9020cd72971ec2885f24
https://github.com/llvm/llvm-project/commit/f83d09a1f60aee28a8ed9020cd72971ec2885f24
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/test/Driver/print-enabled-extensions/riscv-andes-a25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-a45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax25.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-ax45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-n45.c
M clang/test/Driver/print-enabled-extensions/riscv-andes-nx45.c
M llvm/lib/Target/RISCV/RISCVProcessors.td
M llvm/test/tools/llvm-mca/RISCV/Andes45/gpr.s
Log Message:
-----------
Revert "[RISCV] Remove B and Zbc extension from Andes series cpus." (#144402)
Reverts llvm/llvm-project#144022
This has been failing postcommit CI for two days:
https://lab.llvm.org/buildbot/#/builders/63
Commit: e8362234f60612a250d832cc8d0f68fe7fa9ea17
https://github.com/llvm/llvm-project/commit/e8362234f60612a250d832cc8d0f68fe7fa9ea17
Author: Scott Linder <scott.linder at amd.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Object/RelocationResolver.cpp
A llvm/test/DebugInfo/AMDGPU/dwarfdump-rel.yaml
Log Message:
-----------
[Object][AMDGPU] Support REL relocations (#143966)
Shaders compiled with DXC/LLPC generate these relocations, and even if
that changes in the future we want to handle existing binaries. The
friction to support this and the maintenance cost long term both seem
incredibly low, considering other targets like ARM support both REL/RELA
static relocations behind the same interface.
Commit: a00b736a797d252d9e26cc13fb45993d7b02ede2
https://github.com/llvm/llvm-project/commit/a00b736a797d252d9e26cc13fb45993d7b02ede2
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/Transforms/VectorTransferOpTransforms.cpp
M mlir/test/Dialect/Vector/scalar-vector-transfer-to-memref.mlir
Log Message:
-----------
[mlir][Vector] Support `vector.extract(xfer_read)` folding with dynamic indices (#143269)
This PR is part of the last step to remove `vector.extractelement` and `vector.insertelement` ops.
RFC: https://discourse.llvm.org/t/rfc-psa-remove-vector-extractelement-and-vector-insertelement-ops-in-favor-of-vector-extract-and-vector-insert-ops
It adds support for folding `vector.transfer_read(vector.extract) ->
memref.load` with dynamic indices, which is currently supported by
`vector.extractelement`.
Commit: a0662ceba83cf8782da4047b8ee6d175591f168f
https://github.com/llvm/llvm-project/commit/a0662ceba83cf8782da4047b8ee6d175591f168f
Author: Daniel Rodríguez Troitiño <danielrodriguez at meta.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.cpp
M llvm/lib/ObjCopy/MachO/MachOObject.h
M llvm/lib/ObjCopy/MachO/MachOReader.cpp
M llvm/test/tools/llvm-objcopy/MachO/strip-with-encryption-info.test
Log Message:
-----------
[objcopy][MachO] Revert special handling of encryptable binaries (#144058)
Code originally added in #120995 and later corrected in #130517 but
apparently still not correct according to #141494 and
rust-lang/rust#141913.
Revert the special handling because the test written in #120995 and
#130517 still passes without those changes. Kept the test and improved
it with a `__DATA` section to keep the current behaviour checked in case
other changes modify the behaviour and break this edge case.
Commit: 402c376daa659c0c3a477ad038a415079ffa0a48
https://github.com/llvm/llvm-project/commit/402c376daa659c0c3a477ad038a415079ffa0a48
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/putchar.cpp
M libc/src/stdio/baremetal/puts.cpp
M libc/src/stdio/baremetal/vprintf.cpp
Log Message:
-----------
[libc] Change default behaviour of baremetal/printf to use stdout (#143703)
In #94078, `write_to_stdout` had not been fully implemented. However,
now that it has been implemented, to conform with the C standard
(7.23.6.3. The printf function, specifically point 2), we use `stdout`.
This issue is tracked in #94685.
- Also prefer `static constexpr`
- Made it explicit that we are writing to `stdout`
Commit: 25781221d68a700eae679a19f701d4ad67e91dc9
https://github.com/llvm/llvm-project/commit/25781221d68a700eae679a19f701d4ad67e91dc9
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
Log Message:
-----------
[instcombine] Delete dead transform for reverse of binop (#143967)
We canonicalize reverse to after a binop in foldVectorBinop, and
simplify reverse pairs in InstSimplify, so these elimination transforms
are redundant.
Commit: b0378e7ca953c2390168f352c5a88fd325cde894
https://github.com/llvm/llvm-project/commit/b0378e7ca953c2390168f352c5a88fd325cde894
Author: Matthias Braun <matze at braunis.de>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
A clang/test/CodeGen/aarch64-always-inline-feature-bug.c
M llvm/lib/TargetParser/AArch64TargetParser.cpp
M llvm/unittests/TargetParser/TargetParserTest.cpp
Log Message:
-----------
[AArch64TargetParser]Fix reconstructFromParsedFeatures ignoring negative features (#142236)
The `targetFeatureToExtension` function used by
reconstructFromParsedFeatures only found positive `+FEATURE` strings,
but not negative `-FEATURE` strings. Extend the function to handle both
to fix `reconstructFromParsedFeatures`.
Commit: a637584fadb1f0b9a4fc526a2952345b14147634
https://github.com/llvm/llvm-project/commit/a637584fadb1f0b9a4fc526a2952345b14147634
Author: DrSergei <serzhdruzhok at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/package.json
Log Message:
-----------
[lldb-dap] Add supported languages in package.json (#144414)
This patch fixes the [problem]. It was caused by missing supported
languages list in `package.json`. VSCode uses `guessDebugger` [function]
to find supported debuggers based on supported languages in case of
opened file. It uses `interestedInLanguage` [function][1] to do that, so
we should provide list of supported languages. Also, fixed typo in
`fortran`.
[problem]: https://github.com/llvm/llvm-project/issues/144239
[function]: https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/debug/browser/debugAdapterManager.ts#L344
[1]: https://github.com/microsoft/vscode/blob/main/src/vs/workbench/contrib/debug/common/debugger.ts#L171
Commit: 8adccaee2a9e2d967ac54a783ffb71ac6ff79e85
https://github.com/llvm/llvm-project/commit/8adccaee2a9e2d967ac54a783ffb71ac6ff79e85
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/__support/wchar/CMakeLists.txt
M libc/src/__support/wchar/character_converter.cpp
M libc/src/__support/wchar/character_converter.h
M libc/src/__support/wchar/mbstate.h
R libc/src/__support/wchar/utf_ret.h
M libc/test/src/__support/CMakeLists.txt
A libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/utf32_to_8_test.cpp
Log Message:
-----------
[libc] Implemented CharacterConverter push/pop for utf32->utf8 conversions (#143971)
Implemented CharacterConverter methods for conversion between utf32 ->
utf8
Added tests
---------
Co-authored-by: Michael Jones <michaelrj at google.com>
Commit: 1e60dd4f236dcca0215decc0e4885fb2dcdc1528
https://github.com/llvm/llvm-project/commit/1e60dd4f236dcca0215decc0e4885fb2dcdc1528
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp
Log Message:
-----------
[lldb] Fix a warning
This patch fixes:
lldb/tools/lldb-dap/Handler/StepInTargetsRequestHandler.cpp:89:2:
error: extra ';' outside of a function is incompatible with C++98
[-Werror,-Wc++98-compat-extra-semi]
Commit: d3bc834ece48cb993fcabcf20311bdcc9e591a21
https://github.com/llvm/llvm-project/commit/d3bc834ece48cb993fcabcf20311bdcc9e591a21
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
A llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-no-remaining-iterations.ll
Log Message:
-----------
[LV] Update check to find epilogue resume value to check all incoming.
This fixes a crash where all incoming values for the epilogue resume
value are zero, because there are no remaining iterations to execute for
the epilogue loop.
Commit: 34be09ad731d631d7b950a334cfe25673ebe5519
https://github.com/llvm/llvm-project/commit/34be09ad731d631d7b950a334cfe25673ebe5519
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/stepInTargets/TestDAP_stepInTargets.py
Log Message:
-----------
[lldb-dap][test] fix not supported error. (#144419)
Fixes #144072
buildbot error.
Commit: a027eb4472ee8fa504c98bef655cac8c8bfe333a
https://github.com/llvm/llvm-project/commit/a027eb4472ee8fa504c98bef655cac8c8bfe333a
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/Bool.hlsl
M clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/CodeGenHLSL/builtins/and.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/clip.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/cross.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
M clang/test/CodeGenHLSL/builtins/or.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
M clang/test/CodeGenHLSL/builtins/sign.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/convergence/do.while.hlsl
M clang/test/CodeGenHLSL/convergence/for.hlsl
M clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/export.hlsl
M clang/test/CodeGenHLSL/group_shared.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
M clang/test/CodeGenHLSL/inline-spirv/SpirvType.hlsl
M clang/test/CodeGenHLSL/no_int_promotion.hlsl
M clang/test/CodeGenHLSL/out-of-line-static.hlsl
M clang/test/CodeGenHLSL/shift-mask.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
M clang/test/CodeGenHLSL/vk-input-builtin.hlsl
M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
M llvm/lib/Target/DirectX/DXILFinalizeLinkage.cpp
M llvm/lib/Target/SPIRV/SPIRVCallLowering.cpp
M llvm/lib/Target/SPIRV/SPIRVInstructionSelector.cpp
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead-lib.ll
M llvm/test/CodeGen/DirectX/finalize-linkage-remove-dead.ll
M llvm/test/CodeGen/DirectX/finalize_linkage.ll
Log Message:
-----------
[HLSL] Use hidden visibility for external linkage. (#140292)
Implements
https://github.com/llvm/wg-hlsl/blob/main/proposals/0026-symbol-visibility.md.
The change is to stop using the `hlsl.export` attribute. Instead,
symbols with "program linkage" in HLSL will have export linkage with
default visibility, and symbols with "external linkage" in HLSL will
have export linkage with hidden visibility.
Commit: 60a59e350bfa909d3caf5b5b0dba8b473746ea0f
https://github.com/llvm/llvm-project/commit/60a59e350bfa909d3caf5b5b0dba8b473746ea0f
Author: Yuta Saito <kateinoigakukun at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
Log Message:
-----------
[ASan] Recognize WASI platform in sanitizer_platform.h (#139017)
Commit: 38daa6d4ef1f3386cc50198199c5ec61dcb012af
https://github.com/llvm/llvm-project/commit/38daa6d4ef1f3386cc50198199c5ec61dcb012af
Author: Uzair Nawaz <uzairnawaz at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/hdr/types/char8_t.h
M libc/src/__support/wchar/character_converter.cpp
Log Message:
-----------
[libc] build fix: always use our char8_t headers even in overlay mode (#144433)
Build fix caused by certain platforms not providing char8_t when
expected
Temporary fix to just always use our own definition, even in overlay
mode.
Commit: 95418bc8a8fd765d5e60e0c8ac7f8b77d2c15ef2
https://github.com/llvm/llvm-project/commit/95418bc8a8fd765d5e60e0c8ac7f8b77d2c15ef2
Author: Justin King <jcking at wulver.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/lsan/lsan_allocator.h
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/lsan/lsan_malloc_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
Log Message:
-----------
lsan: Support free_sized and free_aligned_sized from C23 (#144415)
Adds support to LSan for `free_sized` and `free_aligned_sized` from C23.
Other sanitizers will be handled with their own separate PRs.
For #144435
Signed-off-by: Justin King <jcking at google.com>
Commit: 9c25ca78f9bdfe74e5dbaa60a864411bdbae4943
https://github.com/llvm/llvm-project/commit/9c25ca78f9bdfe74e5dbaa60a864411bdbae4943
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/lib/Semantics/mod-file.cpp
A flang/test/Semantics/modfile79.F90
Log Message:
-----------
[flang] Don't generate module file for hermetic USE'd dependency (#144143)
It's possible for the module file generation code to think that it needs
to (re)generate a module file for a dependent module read from a
hermetic module file, if it defines contains a procedure imported via
renaming due to a name clash. Adjust the logic that determines whether a
module file should be written to include a check for having originated
in a module file.
Commit: 65b06cd983e59c25f30b680167559a4db2b44609
https://github.com/llvm/llvm-project/commit/65b06cd983e59c25f30b680167559a4db2b44609
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang-rt/lib/runtime/allocatable.cpp
M flang/lib/Semantics/check-allocate.cpp
M flang/test/Semantics/allocate11.f90
Log Message:
-----------
[flang][runtime] Check SOURCE= conformability on ALLOCATE (#144113)
The SOURCE= expression of an ALLOCATE statement, when present and not
scalar, must conform to the shape of the allocated objects. Check this
at runtime, and return a recoverable error, or crash, when appropriate.
Fixes https://github.com/llvm/llvm-project/issues/143900.
Commit: 2bf3ccabfa37ee1b2d74da7b370cdb16a5cc8ac0
https://github.com/llvm/llvm-project/commit/2bf3ccabfa37ee1b2d74da7b370cdb16a5cc8ac0
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/stat.h
M flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/docs/Extensions.md
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/tools.cpp
M flang/module/__fortran_type_info.f90
M flang/test/Lower/volatile-openmp.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo03.f90
M flang/test/Semantics/typeinfo04.f90
M flang/test/Semantics/typeinfo05.f90
M flang/test/Semantics/typeinfo06.f90
M flang/test/Semantics/typeinfo07.f90
M flang/test/Semantics/typeinfo08.f90
M flang/test/Semantics/typeinfo11.f90
A flang/test/Semantics/typeinfo12.f90
M flang/test/Semantics/typeinfo13.f90
Log Message:
-----------
[flang] Restructure runtime to avoid recursion (relanding) (#143993)
Recursion, both direct and indirect, prevents accurate stack size
calculation at link time for GPU device code. Restructure these
recursive (often mutually so) routines in the Fortran runtime with new
implementations based on an iterative work queue with
suspendable/resumable work tickets: Assign, Initialize, initializeClone,
Finalize, and Destroy.
Default derived type I/O is also recursive, but already disabled. It can
be added to this new framework later if the overall approach succeeds.
Note that derived type FINAL subroutine calls, defined assignments, and
defined I/O procedures all perform callbacks into user code, which may
well reenter the runtime library. This kind of recursion is not handled
by this change, although it may be possible to do so in the future using
thread-local work queues.
(Relanding this patch after reverting initial attempt due to some test
failures that needed some time to analyze and fix.)
Fixes https://github.com/llvm/llvm-project/issues/142481.
Commit: 6cbb67f84c53d88e67b0d5a9f0ad2cf4782e6f66
https://github.com/llvm/llvm-project/commit/6cbb67f84c53d88e67b0d5a9f0ad2cf4782e6f66
Author: Vlad Lazar <lazar_2004 at list.ru>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/test/Dialect/EmitC/invalid_ops.mlir
Log Message:
-----------
[mlir][emitc] Fix the emitc::ExpressionOp (#143894)
Fix the lack of verification that the definingOp of the return value
belongs to emitc::ExpressionOp.
Commit: a383b1a95b63cf120b3dea554c2d66ccfaee066b
https://github.com/llvm/llvm-project/commit/a383b1a95b63cf120b3dea554c2d66ccfaee066b
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/lib/Parse/CMakeLists.txt
M clang/unittests/Parse/CMakeLists.txt
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
Log Message:
-----------
Reland "[HLSL][RootSignature] Implement serialization of RootConstants and RootFlags" (#143019)
This relands #141130.
The initial commit uncovered that we are missing the correct linking of
FrontendHLSL into clang/lib/Parse and clang/lib/unittests/Parse.
This change addreses this by linking them accordingly.
It was also checked and ensured that the LexHLSLRootSignature libraries
do not depend on FrontendHLSL and so we are not required to link there.
Resolves: #138190 and #138192
Commit: 30b16ec3415e7ddb597d096f818d011b1b4e6a63
https://github.com/llvm/llvm-project/commit/30b16ec3415e7ddb597d096f818d011b1b4e6a63
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
A llvm/test/Transforms/LoopVectorize/first-order-recurrence-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
Log Message:
-----------
[VPlan] Simplify trivial VPFirstOrderRecurrencePHI recipes.
VPFirstOrderRecurrencePHIRecipes where the incoming values are the same
can be simplified and removed.
Fixes https://github.com/llvm/llvm-project/issues/144212.
The new test is added together with other related tests from
first-order-recurrence.ll
Commit: 4bcf9732c7361b3ea5208ced592245e0302fc7a2
https://github.com/llvm/llvm-project/commit/4bcf9732c7361b3ea5208ced592245e0302fc7a2
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/test/CIR/CodeGen/builtin_call.cpp
A clang/test/CIR/CodeGen/builtin_printf.cpp
Log Message:
-----------
[CIR] Add Support For Library Builtins (#143984)
This patch upstreams support for builtins that map to a standard library
function. Examples would be abort() and printf().
It also fixes a minor issue with the errorNYI for all remaining
unimplemented builtins using the mlir::Location instead of the clang AST
SourceLocation.
Commit: 2488f26d15e7e12aef9ead3fcb2d1b6da51812fb
https://github.com/llvm/llvm-project/commit/2488f26d15e7e12aef9ead3fcb2d1b6da51812fb
Author: Daniel Paoliello <danpao at microsoft.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Driver/Options.td
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/CodeGen/epilog-unwind.c
M clang/test/Driver/cl-options.c
M llvm/include/llvm/IR/Module.h
M llvm/include/llvm/Support/CodeGen.h
M llvm/lib/IR/Module.cpp
M llvm/lib/Target/X86/X86WinEHUnwindV2.cpp
A llvm/test/CodeGen/X86/win64-eh-unwindv2-errors.mir
A llvm/test/CodeGen/X86/win64-eh-unwindv2-too-many-epilogs.mir
Log Message:
-----------
[win][x64] Unwind v2 3/n: Add support for requiring unwind v2 to be used (equivalent to MSVC's /d2epilogunwindrequirev2) (#143577)
#129142 added support for emitting Windows x64 unwind v2 information,
but it was "best effort". If any function didn't follow the requirements
for v2 it was silently downgraded to v1.
There are some parts of Windows (specifically kernel-mode code running
on Xbox) that require v2, hence we need the ability to fail the
compilation if v2 can't be used.
This change also adds a heuristic to check if there might be too many
unwind codes, it's currently conservative (i.e., assumes that certain
prolog instructions will use the maximum number of unwind codes).
Future work: attempting to chain unwind info across multiple tables if
there are too many unwind codes due to epilogs and adding a heuristic to
detect if an epilog will be too far from the end of the function.
Commit: 98eee4b554be18f734088455cb4cd9dc634e7602
https://github.com/llvm/llvm-project/commit/98eee4b554be18f734088455cb4cd9dc634e7602
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/utf8_to_32_test.cpp
Log Message:
-----------
[libc] utf8 to 32 CharacterConverter (#143973)
Implemented push and pop for utf8 to 32 conversion and tests.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 6e124423546e5d22b4b6dc64d6cedfe93e627d58
https://github.com/llvm/llvm-project/commit/6e124423546e5d22b4b6dc64d6cedfe93e627d58
Author: sribee8 <145801438+sribee8 at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/wchar/CMakeLists.txt
R libc/test/src/__support/wchar/utf8_to_32_test.cpp
Log Message:
-----------
Revert "[libc] utf8 to 32 CharacterConverter" (#144446)
Reverts llvm/llvm-project#143973
This merge broke the build and I'm currently looking into the issue to
fix it.
Commit: 99e53cb4139eda491f97cb33ee42ea424d352200
https://github.com/llvm/llvm-project/commit/99e53cb4139eda491f97cb33ee42ea424d352200
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
A llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
A llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
Log Message:
-----------
[llvm][StackProtector] Add noreturn to __stack_chk_fail call (#143976)
It's possible for __stack_chk_fail to be an alias when using CrossDSOCFI
since it will make a jump table entry for this function and replace it
with an alias. StackProtector can crash since it always expects this to
be a regular function. Instead add the noreturn attribute to the call.
Commit: 964888d01f0b0f81540f8548370f00c315952042
https://github.com/llvm/llvm-project/commit/964888d01f0b0f81540f8548370f00c315952042
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
A llvm/test/Transforms/LowerTypeTests/Inputs/import-thinlto-funcs.yaml
M llvm/test/Transforms/LowerTypeTests/cfi-coff-comdat-rename.ll
Log Message:
-----------
[llvm][CFI] Ensure COFF comdat renaming applies for imported functions (#143421)
I ran into the same issue as
https://github.com/llvm/llvm-project/pull/139962 regarding the comdat
corresponding to a renamed key function but for thinlto. My last patch
had not considered the thinlto case, so this applies the same fix for
imported functions.
Commit: ac7af53d05b94849fd590b1875db7b85957fb0f6
https://github.com/llvm/llvm-project/commit/ac7af53d05b94849fd590b1875db7b85957fb0f6
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/test/Semantics/modfile71.F90
M flang/test/Semantics/modfile75.F90
M flang/test/Semantics/modfile76.F90
M flang/test/Semantics/modfile77.F90
M flang/test/Semantics/modfile78.F90
M flang/test/Semantics/modfile79.F90
Log Message:
-----------
[flang] Fixed LIT tests to create modfiles in a temp dir. (#144448)
Commit: d882670d498a29f4e02f357ef9fe07c43de034c8
https://github.com/llvm/llvm-project/commit/d882670d498a29f4e02f357ef9fe07c43de034c8
Author: PiJoules <6019989+PiJoules at users.noreply.github.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/StackProtector.cpp
R llvm/test/Transforms/StackProtector/cross-dso-cfi-stack-chk-fail.ll
R llvm/test/Transforms/StackProtector/stack-chk-fail-alias.ll
Log Message:
-----------
Revert "[llvm][StackProtector] Add noreturn to __stack_chk_fail call" (#144452)
Reverts llvm/llvm-project#143976
Reverting since this broke a builder:
https://lab.llvm.org/buildbot/#/builders/190/builds/21563
Commit: 6421bd94eabdb71975c75e2c1621a095b3d8b6ad
https://github.com/llvm/llvm-project/commit/6421bd94eabdb71975c75e2c1621a095b3d8b6ad
Author: John Harrison <harjohn at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/test/API/tools/lldb-dap/breakpoint/TestDAP_setExceptionBreakpoints.py
M lldb/test/API/tools/lldb-dap/exception/objc/Makefile
M lldb/test/API/tools/lldb-dap/exception/objc/TestDAP_exception_objc.py
M lldb/test/API/tools/lldb-dap/exception/objc/main.m
M lldb/tools/lldb-dap/DAP.cpp
M lldb/tools/lldb-dap/DAP.h
M lldb/tools/lldb-dap/ExceptionBreakpoint.cpp
M lldb/tools/lldb-dap/ExceptionBreakpoint.h
M lldb/tools/lldb-dap/Handler/InitializeRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Handler/SetExceptionBreakpointsRequestHandler.cpp
M lldb/tools/lldb-dap/JSONUtils.cpp
M lldb/tools/lldb-dap/JSONUtils.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolTypes.h
M lldb/tools/lldb-dap/ProtocolUtils.cpp
M lldb/tools/lldb-dap/ProtocolUtils.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Creating protocol types for setExceptionBreakpoints. (#144153)
This adds new types for setExceptionBreakpoints and adds support for
`supportsExceptionFilterOptions`, which allows exception breakpoints to
set a condition.
While testing this, I noticed that obj-c exception catch breakpoints may
not be working correctly in lldb-dap.
Commit: 97bfb936af4077e8cb6c75664231f27a9989d563
https://github.com/llvm/llvm-project/commit/97bfb936af4077e8cb6c75664231f27a9989d563
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/TargetLowering.h
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
DAG: Move soft float predicate management into RuntimeLibcalls (#142905)
Work towards making RuntimeLibcalls the centralized location for
all libcall information. This requires changing the encoding from
tracking the ISD::CondCode to using CmpInst::Predicate.
Commit: 1ffd9f553ccba27c0def5f38e7928af8f3976bac
https://github.com/llvm/llvm-project/commit/1ffd9f553ccba27c0def5f38e7928af8f3976bac
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Cleanup sincos predicate functions (#143081)
The darwinHasSinCos wasn't actually used for sincos, only the stret
variant. Rename this to reflect that, and introduce a new one for
enabling sincos.
Commit: 9bd234a4330c6882f23ebf1f7861c5ec97e74d95
https://github.com/llvm/llvm-project/commit/9bd234a4330c6882f23ebf1f7861c5ec97e74d95
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
AArch64: Move outline atomic libcalls configuration (#144374)
This de-conditionalizes the setting of the libcall names
on outlineAtomics() && !hasLSE(). The existence of the
libcall is a module level property, which cannot depend on the
subtarget so this is fine. It's better if the initial list of
calls has more entries than will be used than to have missing
ones. There aren't any alternative names set, so this is also
fine.
Currently RuntimeLibcallsInfo conflates the existence of the calls
with the lowering usage decision, so this suboptimally will report
the libcall name on subtargets that should not use the calls. This
doesn't matter in this case though, as the atomic lowering actions
are already separately controlled and aren't based on decisions on
libcall availability. We could be paranoid and clear the names in
TargetLowering.
Also fixes not catching all aarch64 triples in the RuntimeLibcallsInfo
construction; the previous check missed aarch64_be.
Commit: 24631e5440eed3093dfb52e7a631504b71845923
https://github.com/llvm/llvm-project/commit/24631e5440eed3093dfb52e7a631504b71845923
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/CodeGen/AArch64/arm64ec-builtins.ll
Log Message:
-----------
AArch64: Fix outline atomic libcall names for arm64ec (#144378)
Add a missing # prefix to each libcall name
Commit: 6e8cf9c63f643768a1d54a9ce2a73a570429c4bc
https://github.com/llvm/llvm-project/commit/6e8cf9c63f643768a1d54a9ce2a73a570429c4bc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AArch64/arm64ec-builtins.ll
Log Message:
-----------
AArch64: Add arm64ec libcall tests for __arm_sc_* functions (#144356)
Commit: d4e2c0b359ea90236fd1b62791a04fb845f5d9f3
https://github.com/llvm/llvm-project/commit/d4e2c0b359ea90236fd1b62791a04fb845f5d9f3
Author: Bryan Chan <bryan.chan at huawei.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/test/Driver/android-link.cpp
Log Message:
-----------
[Driver] Add options to control workaround for Cortex-A53 Erratum 843419 (#143915)
Implement the -mfix-cortex-a53-843419 and -mno-fix-cortex-a53-843419 options,
which have been introduced to GCC to allow the user to control the workaround
for the erratum. If the option is enabled (which is the default, unchanged by
this patch), Clang passes --fix-cortex-a53-843419 to the linker when it cannot
ensure that the target is not a Cortex A53, otherwise it doesn't.
See https://gcc.gnu.org/onlinedocs/gcc/AArch64-Options.html#index-mfix-cortex-a53-843419
for information on the GCC options.
Commit: 8b1528fad99a18d2e094968f1341efb3048a23da
https://github.com/llvm/llvm-project/commit/8b1528fad99a18d2e094968f1341efb3048a23da
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/IR/RuntimeLibcalls.cpp
Log Message:
-----------
RuntimeLibcalls: Use array initializers for default values (#143082)
Commit: f626620e33ba2c76ba226ecaeb09c320b60aa4d9
https://github.com/llvm/llvm-project/commit/f626620e33ba2c76ba226ecaeb09c320b60aa4d9
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/utils/TableGen/Common/CodeGenInstruction.cpp
M llvm/utils/TableGen/Common/CodeGenInstruction.h
Log Message:
-----------
[LLVM][TableGen] Use `StringRef` for CodeGenInstruction::AsmString (#144440)
Commit: 2e3d212e40bc6fca9fbe53978a87c901eb19a01d
https://github.com/llvm/llvm-project/commit/2e3d212e40bc6fca9fbe53978a87c901eb19a01d
Author: Jinyang He <hejinyang at loongson.cn>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchAsmBackend.h
M llvm/test/MC/LoongArch/Misc/cfi-advance.s
M llvm/test/MC/LoongArch/Relocations/fde-reloc.s
M llvm/test/MC/LoongArch/Relocations/sub-expr.s
Log Message:
-----------
[LoongArch] Allow difference across sections (#141722)
For SecA != SecB but SecB is current section, fallback for pcrel{64,32}
relocations. For linker relaxation being disabled and SecA == SecB,
return directly for avoid record relocations. In other cases, record
relocations which also allows across sections.
Commit: ab7aaaca93a0670e96a454136bb9cf13bb1ae372
https://github.com/llvm/llvm-project/commit/ab7aaaca93a0670e96a454136bb9cf13bb1ae372
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M flang/test/Semantics/modfile75.F90
Log Message:
-----------
[flang][tests] Remove stale module files to fix buildbots.
Commit: 9093bc7eff33b002d7f16d4d62ff1af2a5a993f8
https://github.com/llvm/llvm-project/commit/9093bc7eff33b002d7f16d4d62ff1af2a5a993f8
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A llvm/test/tools/llvm-exegesis/RISCV/unsupported-opcode.test
M llvm/tools/llvm-exegesis/lib/Target.cpp
Log Message:
-----------
[llvm-exegesis] Ignore the instructions for which InstrDesc.getSchedClass() == 0 (#143840)
This allows llvm-exegesis to skip instructions that lack scheduling
information, avoiding invalid benchmarking. e.g. `InstB` in RISC-V.
Commit: 602c3089f749ec3b61b93652ea9eb5947a61bcf2
https://github.com/llvm/llvm-project/commit/602c3089f749ec3b61b93652ea9eb5947a61bcf2
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/TargetParser/SubtargetFeature.h
Log Message:
-----------
[TargetParser] Increase MAX_SUBTARGET_FEATURES to 384 (#144326)
There are 314 features in RISC-V backend, which is about to exceed
the maxinum 320 as there are some ongoing new extensions.
We increase the `MAX_SUBTARGET_FEATURES` to 384 so that we won't
surprise anyone.
Commit: a02afb0def589ec28f8240ff15760e5f241b833c
https://github.com/llvm/llvm-project/commit/a02afb0def589ec28f8240ff15760e5f241b833c
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCAsmInfo.h
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCExpr.h
Log Message:
-----------
AVR: Migrate to the new relocation specifier representation
Define printImpl and evaluateAsRelocationImpl within AVRMCAsmInfo.
Commit: 199428e0472c80d9b742d0a3e492ab902005fb6a
https://github.com/llvm/llvm-project/commit/199428e0472c80d9b742d0a3e492ab902005fb6a
Author: Jorge Gorbe Moya <jgorbe at google.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/lld/BUILD.bazel
Log Message:
-----------
[bazel][lld] Remove unneeded dependencies. (#144455)
As far as I can tell these are not used in any includes in their
respective targets, and building all of LLD with
```
bazel build --config=generic_clang @llvm-project//lld/...
```
still works.
Commit: 30350afd023c4e9583d5a8bbfd56af7c354923fa
https://github.com/llvm/llvm-project/commit/30350afd023c4e9583d5a8bbfd56af7c354923fa
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCAsmInfo.h
M llvm/include/llvm/MC/MCExpr.h
M llvm/lib/MC/MCAsmInfo.cpp
M llvm/lib/MC/MCExpr.cpp
Log Message:
-----------
MCSpecifierExpr: Remove unused virtual functions
... now that all targets using MCSpecifierExpr have migrated to
XXXMCAsmInfo::printExpr/evaluateAsRelocatableImpl.
Commit: 7caeec599998bd8aa01d498574e148e4e9c982db
https://github.com/llvm/llvm-project/commit/7caeec599998bd8aa01d498574e148e4e9c982db
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[NFC][flang][OpenMP] Unify `genSectionsOp`'s prototype to match other `genXXXOp` functions (#144013)
Unifies the prototype of `genSectionsOp` to match other ops generators.
Doing so, we are able to call `genSectionsOp` directtly from
`genOMPDispatch` instead of the special handling needed now to pass the
section blocks. This is useful because now we can handle symbol mapping
scopes easier for nested OpenMP directives. See
https://github.com/llvm/llvm-project/pull/143706#issuecomment-2965344723
and the following discussion for more info.
Commit: b5dbf8210a57b986b9802304745f4c5c108cf37b
https://github.com/llvm/llvm-project/commit/b5dbf8210a57b986b9802304745f4c5c108cf37b
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
Log Message:
-----------
[flang] Enable delayed localization by default for `do concurrent` (#144074)
Reintroduces changes from
https://github.com/llvm/llvm-project/issues/143897. A fix for the
reported problem in https://github.com/llvm/llvm-project/issues/143897
is hopefully resolved in
https://github.com/llvm/llvm-project/pull/144027.
This PR aims to make it easier and more self-contained to revert the
switch/flag if we discover any problems with enabling it by default.
Commit: 2dc58e02cbce83784a38b4cc33f83529ad1a7c7e
https://github.com/llvm/llvm-project/commit/2dc58e02cbce83784a38b4cc33f83529ad1a7c7e
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/Todo/target-parallel-private.f90
R flang/test/Lower/OpenMP/Todo/target-teams-private.f90
A flang/test/Lower/OpenMP/target-parallel-private.f90
A flang/test/Lower/OpenMP/target-teams-private.f90
Log Message:
-----------
[flang][OpenMP] Add symbol table scopes for `teams` and `parallel` (#144015)
Adds symbol map scopes for standalone `teams` and `parallel` constructs.
This is required to properly bind the privatized symbols in both
constructs so that nested constructs can find them.
Resolves https://github.com/llvm/llvm-project/issues/116428.
Commit: 84d879d6999b61cea3f9f200df57653f5a51ee41
https://github.com/llvm/llvm-project/commit/84d879d6999b61cea3f9f200df57653f5a51ee41
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
Log Message:
-----------
[RISCV] Rename Relocation QC_E_JUMP_PLT to QC_E_CALL_PLT (#143998)
The semantics and definition of this relocation are unchanged. The new
name reflects that instructions with the relocation should be assumed to
clobber non-callee-saved registers, as with the R_RISCV_CALL_PLT
relocation.
The name was changed in v0.2 of the ABI extensions:
https://github.com/quic/riscv-elf-psabi-quic-extensions/releases/tag/v0.2
Commit: c0ac95181eededc85027d63fe9f97bc742b7a552
https://github.com/llvm/llvm-project/commit/c0ac95181eededc85027d63fe9f97bc742b7a552
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/include/clang/Basic/AttrDocs.td
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Update Xqci to v0.13.0 (#144398)
Commit: 98c6c371d6dc09454d541474ef65a0e47c4baae6
https://github.com/llvm/llvm-project/commit/98c6c371d6dc09454d541474ef65a0e47c4baae6
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M llvm/docs/RISCVUsage.rst
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Xqccmp v0.3 (#137854)
All the changes for v0.2 and v0.3 are either already implemented, or
irrelevant to the compiler implementation.
Commit: e86740e6003739a41139d94e1643a3207f8fd8f8
https://github.com/llvm/llvm-project/commit/e86740e6003739a41139d94e1643a3207f8fd8f8
Author: no92 <no92 at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
A clang/lib/Driver/ToolChains/Managarm.cpp
A clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Lex/InitHeaderSearch.cpp
A clang/test/Driver/Inputs/basic_managarm_tree/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/aarch64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/v1/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/riscv64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/x86_64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib64/.keep
A clang/test/Driver/managarm.cpp
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
Log Message:
-----------
[clang] Add managarm support (#139271)
This PR is part of a series to upstream managarm support, as laid out in
the
[RFC](https://discourse.llvm.org/t/rfc-new-proposed-managarm-support-for-llvm-and-clang-87845/85884/1).
This PR is a follow-up to #87845 and #138854.
Commit: 41b9d28327bf20befe63a683b2a2f90670837b2f
https://github.com/llvm/llvm-project/commit/41b9d28327bf20befe63a683b2a2f90670837b2f
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M bolt/test/lit.local.cfg
Log Message:
-----------
[BOLT][NFC] Using target_triple in lit config (#144078)
Commit: 7e6c1bd3edf4fc19be70587a4ac33a76bab78c02
https://github.com/llvm/llvm-project/commit/7e6c1bd3edf4fc19be70587a4ac33a76bab78c02
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-16 (Mon, 16 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
Log Message:
-----------
[BOLT][NFCI] Simplify DataAggregator using traces (#143289)
Consistently apply traces as defined in #127125 for branch profile
aggregation. This combines branches and fall-through records into one.
With large input binaries/profiles, the speed up in aggregation time
(`-time-aggr`, wall time):
- perf.data, pre-BOLT input: 154.5528s -> 144.0767s
- pre-aggregated data, pre-BOLT input: 15.1026s -> 9.0711s
- pre-aggregated data, BOLTed input: 15.4871s -> 10.0077s
Test Plan: NFC
Commit: 80b79ce432bbe12701fd9fe495ff9feeb5e4b9ca
https://github.com/llvm/llvm-project/commit/80b79ce432bbe12701fd9fe495ff9feeb5e4b9ca
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ConstantFolding.cpp
M llvm/test/Transforms/InstSimplify/ConstProp/loads.ll
Log Message:
-----------
[ConstantFolding] Handle reading from type padding (#144330)
ReadDataFromGlobal() did not handle reads from the padding of types (in
the sense of type store size != type alloc size, rather than struct
padding).
Return zero in that case.
Fixes https://github.com/llvm/llvm-project/issues/144279.
Commit: bb70023cbfecf7880e4cc89966947ef475e070e9
https://github.com/llvm/llvm-project/commit/bb70023cbfecf7880e4cc89966947ef475e070e9
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Analysis/MemoryLocation.cpp
M llvm/test/Transforms/DeadStoreElimination/trivial-dse-calls.ll
Log Message:
-----------
[MemoryLocation][DSE] Allow other read effects in MemoryLocation::getForDest() (#144343)
MemoryLocation::getForDest() returns a (potentially) written location,
while still allowing other reads. Currently, this is limited to
argmemonly functions. However, we can ignore other (non-argmem) read
effects here for the same reason we can ignore argument reads.
Fixes https://github.com/llvm/llvm-project/issues/144300.
Proof: https://alive2.llvm.org/ce/z/LKq_dc
Commit: 632151fbeea972f4aa3c14921eca1e45c07646f3
https://github.com/llvm/llvm-project/commit/632151fbeea972f4aa3c14921eca1e45c07646f3
Author: gaynor-anthropic <gaynor at anthropic.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/test/Transforms/InstCombine/add.ll
Log Message:
-----------
InstCombine: improve optimizations for ceiling division with no overflow (#142869)
Fixes #142497.
Alive2: https://alive2.llvm.org/ce/z/CeaHaH
The contents of this pull request were substantially written using
claude-code. I've reviewed to the best of my ability (it's been years
since I did any compilers work).
---------
Co-authored-by: Yingwei Zheng <dtcxzyw at qq.com>
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: c564ebba22ae9af315e08789c628810a3bbcf3df
https://github.com/llvm/llvm-project/commit/c564ebba22ae9af315e08789c628810a3bbcf3df
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineEXTRACT_SUBVECTOR - move AVX1 ANDNP comment and fold back together. NFC.
These appear to have been split by a merge at some point.
Commit: cb355def9561e2d1d4b363f44dcedf5522f0f8a1
https://github.com/llvm/llvm-project/commit/cb355def9561e2d1d4b363f44dcedf5522f0f8a1
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Semantics/check-omp-structure.cpp
A flang/test/Lower/OpenMP/Todo/omp-clause-indirect.f90
A flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
A flang/test/Semantics/indirect01.f90
A flang/test/Semantics/indirect02.f90
M llvm/include/llvm/Frontend/OpenMP/ClauseT.h
M llvm/include/llvm/Frontend/OpenMP/OMP.td
Log Message:
-----------
[Flang][OpenMP] Add Parsing support for Indirect Clause (#143505)
As part of OpenMP Version 5.1, support for the `indirect` clause was
added for the `declare target` directive. This clause should follow an
`enter` clause, and allows procedure calls to be done indirectly through
OpenMP.
This adds Parsing support for the clause, along with semantics checks.
Currently, lowering for the clause is not supported so a TODO message
will be outputted to the user. It also performs version checking as
`indirect` is only support in OpenMP 5.1 or greater.
See also: #110008
Commit: 90905a638e483dd9040c153785148fcea7c3e412
https://github.com/llvm/llvm-project/commit/90905a638e483dd9040c153785148fcea7c3e412
Author: Dhruv Srivastava <dhruv.srivastava at ibm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
A lldb/test/Shell/ObjectFile/XCOFF/symbol-info.yaml
A lldb/test/Shell/ObjectFile/XCOFF/symbol-info32.yaml
Log Message:
-----------
[lldb][AIX] Added XCOFF ParseSymtab handling (#141577)
This PR is in reference to porting LLDB on AIX.
Link to discussions on llvm discourse and github:
1. https://discourse.llvm.org/t/port-lldb-to-ibm-aix/80640
2. https://github.com/llvm/llvm-project/issues/101657
The complete changes for porting are present in this draft PR:
https://github.com/llvm/llvm-project/pull/102601
**Description:**
Adding ParseSymtab logic after creating sections. It is able to handle
both 32 and 64 bit symbols,
without the need to add template logic.
This is an incremental PR on top of my previous couple of XCOFF support
commits.
Commit: 437945b28838c71fb32a76f6433cef8807967f71
https://github.com/llvm/llvm-project/commit/437945b28838c71fb32a76f6433cef8807967f71
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
Log Message:
-----------
[AArch64][SVE] Move incorrectly placed assert (#144318)
This assert is only valid if FPAfterSVECalleeSaves is true, for the
default layout resolving CSR works correctly.
Commit: 85b110e0419af4b1b9a238b6978029e20010e794
https://github.com/llvm/llvm-project/commit/85b110e0419af4b1b9a238b6978029e20010e794
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/docs/Dialects/Vector.md
Log Message:
-----------
[mlir][vector] Add documentation note on adding new ops (#144308)
This adds a note requesting that additions of new ops to the Vector
dialect go through an RFC process. The goal is to clarify expectations
for contributors.
Note: this documents an existing (though previously unwritten)
convention. See, e.g.:
* https://discourse.llvm.org/t/rfc-adding-vector-to-elements-op-to-the-vector-dialect
* https://discourse.llvm.org/t/rfc-improving-gather-codegen-for-vector-dialect
Commit: e2551c14d0d9180ccaef9d33c524d83e7813a361
https://github.com/llvm/llvm-project/commit/e2551c14d0d9180ccaef9d33c524d83e7813a361
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/test/Analysis/NewDelete-checker-test.cpp
Log Message:
-----------
[analyzer] Fix a false memory leak reports involving placement new (#144341)
Placement new does not allocate memory, so it should not be reported as
a memory leak. A recent MallocChecker refactor changed inlining of
placement-new calls with manual evaluation by MallocChecker.
https://github.com/llvm/llvm-project/commit/339282d49f5310a2837da45c0ccc19da15675554
This change avoids marking the value returned by placement new as
allocated and hence avoids the false leak reports.
Note that the there are two syntaxes to invoke placement new:
`new (p) int` and an explicit operator call `operator new(sizeof(int), p)`.
The first syntax was already properly handled by the engine.
This change corrects handling of the second syntax.
CPP-6375
Commit: 308b97a5d48583680f56b888165295c62744b9e5
https://github.com/llvm/llvm-project/commit/308b97a5d48583680f56b888165295c62744b9e5
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/Transforms/LICM/funclet.ll
Log Message:
-----------
[LICM] Regenerate test checks (NFC)
Commit: 2c90ebf3a79e25db3e6bcd9b3a66590b5996de4d
https://github.com/llvm/llvm-project/commit/2c90ebf3a79e25db3e6bcd9b3a66590b5996de4d
Author: Abid Qadeer <haqadeer at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
A mlir/test/Target/LLVMIR/omptarget-debug-loop-loc.mlir
Log Message:
-----------
[OMPIRBuilder][debug] Don't drop debug info for loop constructs. (#144393)
In OMPIRBuilder, we have many cases where we don't handle the debug
location correctly while changing the location or insertion point. This
is one of those cases.
Please see the following test program.
```
program main
implicit none
integer i, j
integer array(16384)
!$omp target teams distribute
DO i=1,16384
!$omp parallel do
DO j=1,16384
array(j) = i
ENDDO
!$omp end parallel do
ENDDO
!$omp end target teams distribute
print *, array
end program main
```
When tried to compile with the follownig command
`flang -g -O2 -fopenmp test.f90 -o test --offload-arch=gfx90a`
will fail in the verification with the following errors: `!dbg
attachment points at wrong subprogram for function`
This happens because we were dropping the debug location in the
createCanonicalLoop and the call to the functions like
`__kmpc_distribute_static_4u` get generated without a debug location.
When it gets inlined, the locations inside it are not adjusted as the
call instruction does not have the debug locations
(`llvm/lib/Transforms/Utils/InlineFunction.cpp:fixupLineNumbers`). Later
Verifier finds that the caller have instructions with debug locations
that point to another function and fails.
The fix is simple to not drop the debug location.
Commit: 0f8c72160ec001599ecb29f0fa182c5550f5dd0a
https://github.com/llvm/llvm-project/commit/0f8c72160ec001599ecb29f0fa182c5550f5dd0a
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/include/clang/Serialization/ASTWriter.h
M clang/lib/Serialization/ASTWriter.cpp
A clang/test/Modules/preferred_name_header_unit.cpp
Log Message:
-----------
[C++20][Modules] Disable preferred_name when writing a C++20 header unit (#144377)
https://reviews.llvm.org/D130331 added workaround for named modules
only. But the same issue happens for headees units. Link issue #56490
Commit: 26d082d330e4d8d1fc3194b4b87ede9332a297f5
https://github.com/llvm/llvm-project/commit/26d082d330e4d8d1fc3194b4b87ede9332a297f5
Author: Dmitry Polukhin <34227995+dmpolukhin at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-value-param.rst
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-coroutine.cpp
Log Message:
-----------
[clang-tidy][performance-unnecessary-value-param] Avoid in coroutines (#140912)
Summary:
Replacing by-value parameters with passing by-reference is not safe for
coroutines because the caller may be executed in parallel with the
callee, which increases the chances of resulting in dangling references
and hard-to-find crashes. See for the reference
[cppcoreguidelines-avoid-reference-coroutine-parameters](https://clang.llvm.org/extra/clang-tidy/checks/cppcoreguidelines/avoid-reference-coroutine-parameters.html).
Test Plan: check-clang-tools
Commit: 5dc632dd56c61fb768424cc8027760490683d00d
https://github.com/llvm/llvm-project/commit/5dc632dd56c61fb768424cc8027760490683d00d
Author: Rolf Morel <rolf.morel at intel.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/utils/vscode/package-lock.json
M mlir/utils/vscode/package.json
Log Message:
-----------
[MLIR][VSCode] update packages to fix CVE-2022-25883 and CVE-2022-3517 (#144479)
Fixes issue #140869.
Commit: 64bd4858dc2d64311622e793b66094b07ca7bdc5
https://github.com/llvm/llvm-project/commit/64bd4858dc2d64311622e793b66094b07ca7bdc5
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/llvm-config.h
Log Message:
-----------
Amend enviroment variables in bazel - change from #144391 (#144484)
Commit: e5ad7f4556ba4f31380153f70a8c6186926764e2
https://github.com/llvm/llvm-project/commit/e5ad7f4556ba4f31380153f70a8c6186926764e2
Author: Jesse Huang <jesse.huang at sifive.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/test/CodeGen/RISCV/O0-pipeline.ll
M llvm/test/CodeGen/RISCV/O3-pipeline.ll
Log Message:
-----------
[RISCV] Move RISCVIndirectBranchTracking before Branch Relaxation (#139993)
The `RISCVIndirectBranchTracking` pass inserts `lpad` instruction and
could change the basic block alignment, so this should not happen after
the branch relaxation as the adjusted offset is possible to exceed the
branch range.
Commit: 97e17e15957bf6f03923ca46301b32cad507f34b
https://github.com/llvm/llvm-project/commit/97e17e15957bf6f03923ca46301b32cad507f34b
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/Bridge.cpp
M flang/test/Lower/do_concurrent_delayed_locality.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/loops.f90
M flang/test/Lower/loops3.f90
Log Message:
-----------
Revert "[flang] Enable delayed localization by default for `do concurrent` (#144074)" (#144476)
This reverts commit b5dbf8210a57b986b9802304745f4c5c108cf37b.
Reverting again due to gfortran failure:
https://lab.llvm.org/buildbot/#/builders/17/builds/8868
Commit: dfd00edbabef8094bec663cca9314a950ec56e0d
https://github.com/llvm/llvm-project/commit/dfd00edbabef8094bec663cca9314a950ec56e0d
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm_configs/llvm-config.h.cmake
Log Message:
-----------
Fix for #144391 not fully addressed by #144484 (#144488)
Commit: 277b2b6da70b488e08b0f0eecba2a4cd1dd01129
https://github.com/llvm/llvm-project/commit/277b2b6da70b488e08b0f0eecba2a4cd1dd01129
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineCastedMaskArithmetic - convert to SDPatternMatch matching. NFC. (#144472)
Commit: aa01e8e9cff9e754b47be57b2f85b962cf1ec9fb
https://github.com/llvm/llvm-project/commit/aa01e8e9cff9e754b47be57b2f85b962cf1ec9fb
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Target/LLVMIR/Dialect/OpenMP/OpenMPToLLVMIRTranslation.cpp
A mlir/test/Target/LLVMIR/openmp-task-charbox.mlir
Log Message:
-----------
[mlir][OpenMP] Fix broken insertion point for charbox with omp task (#143112)
Fixes #142365
Commit: 00709c306d0a0f60d169ab25f612ed6715e16743
https://github.com/llvm/llvm-project/commit/00709c306d0a0f60d169ab25f612ed6715e16743
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
AArch64: Fix hardcoding calling convention of sincos_stret (NFC) (#144336)
Commit: 4c8f43440955c93a54b9547421513867bc81788a
https://github.com/llvm/llvm-project/commit/4c8f43440955c93a54b9547421513867bc81788a
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
M clang/test/Analysis/bugfix-124477.m
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
Log Message:
-----------
[analyzer] Conversion to CheckerFamily: NullabilityChecker (#143735)
This commit converts NullabilityChecker to the new checker family
framework that was introduced in the recent commit
6833076a5d9f5719539a24e900037da5a3979289
This commit removes the dummy checker `nullability.NullabilityBase`
because it was hidden from the users and didn't have any useful role
except for helping the registration of the checker parts in the old
ad-hoc system (which is replaced by the new standardized framework).
Except for the removal of this dummy checker, no functional changes
intended.
Commit: 6f2983765983b9403ae40430da8034d2d1b6e8a4
https://github.com/llvm/llvm-project/commit/6f2983765983b9403ae40430da8034d2d1b6e8a4
Author: Ying Yi <ying.yi at sony.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/docs/UsersManual.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
A clang/test/Driver/ignored-pch.cpp
A clang/test/PCH/Inputs/ignored-pch.h
A clang/test/PCH/ignored-pch.c
Log Message:
-----------
Reland: "[Frontend][PCH]-Add support for ignoring PCH options (-ignore-pch). (#142409)" (#143614)
Visual Studio has an argument to ignore all PCH related switches.
clang-cl has also support option /Y-. Having the same option in clang
would be helpful. This commit is to add support for ignoring PCH options
(-ignore-pch).
The commit includes:
1. Implement -ignore-pch as a Driver option.
2. Add a Driver test and a PCH test.
3. Add a section of -ignore-pch to user manual.
4. Add a release note for the new option '-ignore-pch'.
The change since the original landing:
1. preprocessing-only mode doesn't imply that -include-pch is disabled.
Co-authored-by: Matheus Izvekov <mizvekov at gmail.com>
Commit: 7eda8274fed9a87f25a54616f5009bb68e511b77
https://github.com/llvm/llvm-project/commit/7eda8274fed9a87f25a54616f5009bb68e511b77
Author: Momchil Velikov <momchil.velikov at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A mlir/test/Integration/Dialect/Vector/CPU/ArmSVE/vector-contract-i8mm.mlir
Log Message:
-----------
[MLIR] Integration tests for lowering vector.contract to SVE FEAT_I8MM (#140573)
Commit: c377ce1216a8ce73c940d2366a7bf223790f43b4
https://github.com/llvm/llvm-project/commit/c377ce1216a8ce73c940d2366a7bf223790f43b4
Author: Mary Kassayova <mary.kassayova at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Driver/Options.td
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/fveclib.c
M llvm/include/llvm/Analysis/VecFuncs.def
M llvm/lib/Analysis/TargetLibraryInfo.cpp
A llvm/test/CodeGen/AArch64/replace-with-veclib-libmvec-scalable.ll
A llvm/test/CodeGen/AArch64/replace-with-veclib-libmvec.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-function-calls.ll
M llvm/test/Transforms/LoopVectorize/AArch64/veclib-intrinsic-calls.ll
M llvm/test/Transforms/Util/add-TLI-mappings.ll
Log Message:
-----------
[AArch64][VecLib] Add libmvec support for AArch64 targets (#143696)
This patch adds support for the `libmvec` vector library on AArch64
targets. Currently, all `libmvec` functions in GLIBC version 2.40 are
supported. The full list of math functions enabled can be found
[here](https://github.com/bminor/glibc/blob/96abd59bf2a11ddd4e7ccaac840ec13c0b62d3ba/sysdeps/aarch64/fpu/Versions)
(up to GLIBC 2.40).
Previously, `libmvec` was only supported on x86_64 targets. Attempts to
use it on AArch64 resulted in the following error from Clang:
`unsupported option 'libmvec' for target 'aarch64'`.
Commit: 465e3ce9f10019db071dc7794ae9ab22f9fc76f7
https://github.com/llvm/llvm-project/commit/465e3ce9f10019db071dc7794ae9ab22f9fc76f7
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/test/CodeGen/AArch64/sve-expand-div.ll
M llvm/test/CodeGen/AArch64/sve-fixed-length-sdiv-pow2.ll
M llvm/test/CodeGen/AArch64/sve-sdiv-pow2.ll
Log Message:
-----------
[LLVM][CodeGen] Lower ConstantInt vectors like shufflevector base splats. (#144395)
ConstantInt vectors utilise DAG.getConstant() when constructing the
initial DAG. This can have the effect of legalising the constant before
the DAG combiner is run, significant altering the generated code. To
mitigate this (hopefully as a temporary measure) we instead try to
construct the DAG in the same way as shufflevector based splats.
Commit: 71f72f4d5d1b820a3e6147289547821332eaf115
https://github.com/llvm/llvm-project/commit/71f72f4d5d1b820a3e6147289547821332eaf115
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
Log Message:
-----------
[DAG] Move foldMaskedMerge before visitAND. NFC.
Reduces diff in #144342
Commit: d3f13a0732c2d937a4c12cb8b1a61992ee5b0d9c
https://github.com/llvm/llvm-project/commit/d3f13a0732c2d937a4c12cb8b1a61992ee5b0d9c
Author: Antonio Frighetto <me at antoniofrighetto.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/GVN.h
M llvm/lib/Transforms/Scalar/GVN.cpp
Log Message:
-----------
[GVN] MemorySSA for GVN: embed the memory state in symbolic expressions (#123218)
While migrating towards MemorySSA, account for the memory state modeled
by MemorySSA by hashing it, when computing the symbolic expressions for
the memory operations. Likewise, when phi-translating while walking the
CFG for PRE possibilities, see if the value number of an operand may be
refined with one of the value from the incoming edges of the MemoryPhi
associated to the current phi.
Co-authored-by: Momchil Velikov <momchil.velikov at arm.com>
Commit: ce96fdde54c379fa3893f3f07d8233df9e16b9e2
https://github.com/llvm/llvm-project/commit/ce96fdde54c379fa3893f3f07d8233df9e16b9e2
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpStack.cpp
Log Message:
-----------
[clang][bytecode] Keep the last chunk in InterpStack::clear() (#144487)
We call clear when checking for potential constant expressions, but that
used to free all the chunks. Keep the last one so we don't have to
re-allocate it.
Commit: 576ced56d78b48e658b0a170603388e4802f6311
https://github.com/llvm/llvm-project/commit/576ced56d78b48e658b0a170603388e4802f6311
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/InterpBlock.cpp
Log Message:
-----------
[clang][bytecode] Simplify Block::replacePointer() (#144490)
Try to do less work here instead of a full remove + add.
Commit: 49c6235d1fb3bcecfe37a8e41bec69d6c7dc86ff
https://github.com/llvm/llvm-project/commit/49c6235d1fb3bcecfe37a8e41bec69d6c7dc86ff
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
Log Message:
-----------
[PowerPC] Regenerate MIR test checks (NFC)
Commit: 2d336e7c5e821383816a9dca080f713747cc9e1e
https://github.com/llvm/llvm-project/commit/2d336e7c5e821383816a9dca080f713747cc9e1e
Author: Arseniy Zaostrovnykh <necto.ne at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/test/Analysis/taint-generic.c
Log Message:
-----------
[analyzer] Avoid contradicting assumption in tainted div-by-0 error node (#144491)
This patch corrects the state of the error node generated by the
core.DivideZero checker when it detects potential division by zero
involving a tainted denominator.
The checker split in
https://github.com/llvm/llvm-project/pull/106389/commits/91ac5ed10a154410c246d985752c1bbfcf23b105
started to introduce a conflicting assumption about the denominator into
the error node:
Node with the Bug Report "Division by a tainted value, possibly zero"
has an assumption "denominator != 0".
This has been done as a shortcut to continue analysis with the correct
assumption *after* the division - if we proceed, we can only assume the
denominator was not zero. However, this assumption is introduced
one-node too soon, leading to a self-contradictory error node.
In this patch, I make the error node with assumption of zero denominator
fatal, but allow analysis to continue on the second half of the state
split with the assumption of non-zero denominator.
---
CPP-6376
Commit: 990d2540bf0545cc4024c3718069f6d0b42c461b
https://github.com/llvm/llvm-project/commit/990d2540bf0545cc4024c3718069f6d0b42c461b
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] isAddSubOrSubAdd - convert to SDPatternMatch matching. NFC. (#144486)
Commit: 875b36a8742437b95f623bab1e0332562c7b4b3f
https://github.com/llvm/llvm-project/commit/875b36a8742437b95f623bab1e0332562c7b4b3f
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Conversion/MemRefToLLVM/MemRefToLLVM.cpp
M mlir/test/Conversion/MemRefToLLVM/memref-to-llvm.mlir
Log Message:
-----------
[mlir] fix MemRefToLLVM lowering of atomic operations (#139045)
We have been confusingly, and arguably incorrectly, lowering `m**imumf`
atomic RMW operations in the MemRef dialect to `fm**` atomic RMW
operations in the LLVM dialect, which have different NaN-propagation
semantics: `m**imumf` propagates NaNs from either operand whereas
`fm**`, which lowers to the `fm**num` intrinsic returns the non-NaN
operand. This also contradicts the lowering of `arith.m**imumf` and
`arith.m**numf` operations.
Change the lowering to match the terminology in arith.
Add tests for these lowerings.
Keep a debug message in case of surprising behavior downstream (the code
may be producing more NaNs now).
Commit: 9700930bd90a099f702332cf86dd898f00840f99
https://github.com/llvm/llvm-project/commit/9700930bd90a099f702332cf86dd898f00840f99
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] detectZextAbsDiff - convert to SDPatternMatch matching. NFC. (#144498)
Match the entire ABS(SUB(ZEXT(vXi8),ZEXT(vXi8))) pattern and simplify the logic in combineBasicSADPattern accordingly
Commit: 12611a7fc71376e88aa01e3f0bbc74517f1a1703
https://github.com/llvm/llvm-project/commit/12611a7fc71376e88aa01e3f0bbc74517f1a1703
Author: Denzel-Brian Budii <73462654+chios202 at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/include/mlir/Query/Matcher/Marshallers.h
M mlir/include/mlir/Query/Matcher/MatchFinder.h
M mlir/include/mlir/Query/Matcher/MatchersInternal.h
M mlir/include/mlir/Query/Matcher/SliceMatchers.h
M mlir/include/mlir/Query/Matcher/VariantValue.h
M mlir/lib/Query/Matcher/CMakeLists.txt
A mlir/lib/Query/Matcher/MatchersInternal.cpp
M mlir/lib/Query/Matcher/RegistryManager.cpp
M mlir/lib/Query/Matcher/VariantValue.cpp
M mlir/lib/Query/Query.cpp
A mlir/test/mlir-query/backward-slice-union.mlir
R mlir/test/mlir-query/complex-test.mlir
A mlir/test/mlir-query/forward-slice-by-predicate.mlir
A mlir/test/mlir-query/logical-operator-test.mlir
A mlir/test/mlir-query/slice-function-extraction.mlir
M mlir/tools/mlir-query/mlir-query.cpp
Log Message:
-----------
[mlir] Improve mlir-query by adding matcher combinators (#141423)
Whereas backward-slice matching provides support to limit traversal by
specifying the desired depth level, this pull request introduces support
for limiting traversal with a nested matcher (adding forward-slice
also). It also adds support for variadic operators, including `anyOf`
and `allOf`. Rather than simply stopping traversal when an operation
named foo is encountered, one can now define a matcher that specifies
different exit conditions. Variadic support implementation within
mlir-query is very similar to clang-query.
Commit: 087d83e0c6d94c1ad6a68b089950d05185d0e043
https://github.com/llvm/llvm-project/commit/087d83e0c6d94c1ad6a68b089950d05185d0e043
Author: Gaëtan Bossu <gaetan.bossu at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] vectorizeStores: Name things a bit more clearly (NFC) (#144511)
I believe the new variable names better convey their purpose. However, I
also believe that function is more complex than it needs to be, and this
tiny patch should be seen as a first step towards (maybe) further
refactoring.
The previous names were very generic (Size, Sz, Cnt, StartIdx). This
made it easy to get confused given that the vecotrizeStores() function
is already complex enough.
My hope would be to eventually have a function concise enough to clearly
see what are the different strategies being attempted to vectorise a
group of related store instructions.
Commit: cb011d3199e1160ad2706cb5b1d43692fa4784d8
https://github.com/llvm/llvm-project/commit/cb011d3199e1160ad2706cb5b1d43692fa4784d8
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
A clang/lib/Headers/cuda_wrappers/bits/c++config.h
Log Message:
-----------
[CUDA][HIP] Add a __device__ version of std::__glibcxx_assert_fail() (#136133)
libstdc++ 15 uses the non-constexpr function
std::__glibcxx_assert_fail() to trigger compilation errors when the
__glibcxx_assert(cond) macro is used in a constantly evaluated context.
Compilation fails when using code from the libstdc++ (such as
std::array) on device code, since these assertions invoke a
non-constexpr host function from device code.
This patch proposes a cuda wrapper header "bits/c++config.h" which adds
a __device__ version of std::__glibcxx_assert_fail().
Solves SWDEV-518041
Commit: 3377b56338d93760507e1707ebde48536e28ee1c
https://github.com/llvm/llvm-project/commit/3377b56338d93760507e1707ebde48536e28ee1c
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
R clang/lib/Driver/ToolChains/Managarm.cpp
R clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Lex/InitHeaderSearch.cpp
R clang/test/Driver/Inputs/basic_managarm_tree/lib/aarch64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib/riscv64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib/x86_64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib64/aarch64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib64/riscv64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/lib64/x86_64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/aarch64-managarm-mlibc/c++/10/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/10/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/v1/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/riscv64-managarm-mlibc/c++/10/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/include/x86_64-managarm-mlibc/c++/10/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/aarch64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbegin.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginS.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginT.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbegin.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginS.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginT.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbegin.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginS.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginT.o
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/riscv64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/x86_64-managarm-mlibc/.keep
R clang/test/Driver/Inputs/basic_managarm_tree/usr/lib64/.keep
R clang/test/Driver/managarm.cpp
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
Log Message:
-----------
Revert "[clang] Add managarm support" (#144514)
Reverts llvm/llvm-project#139271
There are multiple failing build bots:
https://lab.llvm.org/buildbot/#/builders/10/builds/7482
https://lab.llvm.org/buildbot/#/builders/11/builds/17473
Commit: 5f841a6284900026929edcbe8d2b98ce813e0bbc
https://github.com/llvm/llvm-project/commit/5f841a6284900026929edcbe8d2b98ce813e0bbc
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/include/flang/Support/OpenMP-features.h
M flang/test/Driver/flang-openmp-version-macro.f90
Log Message:
-----------
[flang][OpenMP] Set _OPENMP macro for version 6.0 (#144410)
Commit: b91936aeffb798b7deb67aff7bc5c84acea5452e
https://github.com/llvm/llvm-project/commit/b91936aeffb798b7deb67aff7bc5c84acea5452e
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.maximum.f32.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f16.ll
M llvm/test/CodeGen/AMDGPU/llvm.minimum.f32.ll
Log Message:
-----------
AMDGPU: Combine nnan fminimum/fmaximum to fminnum_ieee/fmaxnum_ieee (#142217)
This improves codegen for gfx950, where fminimum/fmaximum are
legal through fminimum3/fmaximum3, so may have an additional
encoding cost.
Commit: b4e39e4ff923334a8a1fdcc6d92b01d3885a01f2
https://github.com/llvm/llvm-project/commit/b4e39e4ff923334a8a1fdcc6d92b01d3885a01f2
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/cmake/config-ix.cmake
M llvm/include/llvm/Config/config.h.cmake
M llvm/lib/Support/Unix/Process.inc
Log Message:
-----------
[LLVM] [Support] Query the terminal width using `ioctl()` (#143514)
On unix systems, we were trying to determine the terminal width using
the `COULMNS` environment variable. Unfortunately, `COLUMNS` is not
exported by all shells and thus not available on some systems.
We were previously using `ioctl()` for this; fall back to doing so if `COLUMNS`
does not exist or does not store a positive integer.
This essentially reverts a3eb3d3d92d037fe3c9deaad87f6fc42fe9ea766 and
parts of https://reviews.llvm.org/D61326.
For more information, see #139499.
Fixes #139499.
Commit: 3451cd5d206f29df5b6ab5c200b7b8b17f3f2e3f
https://github.com/llvm/llvm-project/commit/3451cd5d206f29df5b6ab5c200b7b8b17f3f2e3f
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
Log Message:
-----------
[PowerPC] Regenerate MIR test checks (NFC)
Commit: 76ea1db1746db254716aafbc992b637cd10c6ea3
https://github.com/llvm/llvm-project/commit/76ea1db1746db254716aafbc992b637cd10c6ea3
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval.ll
Log Message:
-----------
[PowerPC] Split test into assembly and MIR variants (NFC)
So that both can be generated.
Commit: 977d8a4bcd83797217433709201922b9deb97ae2
https://github.com/llvm/llvm-project/commit/977d8a4bcd83797217433709201922b9deb97ae2
Author: Vincent <llvm at viceroygroup.ca>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/Scope.h
M clang/lib/Sema/SemaExpr.cpp
A clang/test/Sema/gh87867.c
Log Message:
-----------
[clang][Sema] Fixed Compound Literal is not Constant Expression (#143852)
Added a check for a compound literal hiding inside a function.
fixes #87867
Commit: 816ab1af0da1dc833f487933e7d6fb470d844001
https://github.com/llvm/llvm-project/commit/816ab1af0da1dc833f487933e7d6fb470d844001
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/TableGen/DecoderEmitter.cpp
Log Message:
-----------
[NFCI][TableGen][DecoderEmitter] Cull Op handling when possible (#142974)
TryDecode/CheckPredicate/SoftFail MCD ops are not used by many targets.
Track the set of opcodes that were emitted and emit code for handling
TryDecode/CheckPredicate/SoftFail ops when decoding only if there were
emitted. This is purely eliminating dead code in the generated
`decodeInstruction` function.
This results in the following reduction in the size of the Disassembler
.so files with a release x86_64 release build on Linux:
```
Target Old Size New Size % reduction
build/lib/libLLVMAArch64Disassembler.so.21.0git 256656 256656 0.00
build/lib/libLLVMAMDGPUDisassembler.so.21.0git 813000 808168 0.59
build/lib/libLLVMARCDisassembler.so.21.0git 44816 43536 2.86
build/lib/libLLVMARMDisassembler.so.21.0git 281744 278808 1.04
build/lib/libLLVMAVRDisassembler.so.21.0git 36040 34496 4.28
build/lib/libLLVMBPFDisassembler.so.21.0git 26248 23168 11.73
build/lib/libLLVMCSKYDisassembler.so.21.0git 55960 53632 4.16
build/lib/libLLVMHexagonDisassembler.so.21.0git 115952 113416 2.19
build/lib/libLLVMLanaiDisassembler.so.21.0git 24360 21008 13.76
build/lib/libLLVMLoongArchDisassembler.so.21.0git 58584 56168 4.12
build/lib/libLLVMM68kDisassembler.so.21.0git 57264 53880 5.91
build/lib/libLLVMMSP430Disassembler.so.21.0git 28896 28440 1.58
build/lib/libLLVMMipsDisassembler.so.21.0git 123128 120568 2.08
build/lib/libLLVMPowerPCDisassembler.so.21.0git 80656 78096 3.17
build/lib/libLLVMRISCVDisassembler.so.21.0git 154080 150200 2.52
build/lib/libLLVMSparcDisassembler.so.21.0git 42040 39568 5.88
build/lib/libLLVMSystemZDisassembler.so.21.0git 97056 94552 2.58
build/lib/libLLVMVEDisassembler.so.21.0git 83944 81352 3.09
build/lib/libLLVMWebAssemblyDisassembler.so.21.0git 25280 25280 0.00
build/lib/libLLVMX86Disassembler.so.21.0git 2920624 2920624 0.00
build/lib/libLLVMXCoreDisassembler.so.21.0git 48320 44288 8.34
build/lib/libLLVMXtensaDisassembler.so.21.0git 42248 35840 15.17
```
Commit: 9fed480f183d9cfa784228cd77b2c0a642fca697
https://github.com/llvm/llvm-project/commit/9fed480f183d9cfa784228cd77b2c0a642fca697
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
Log Message:
-----------
[BOLT] Explicitly check for returns when extending call continuation profile (#143295)
Call continuation logic relies on assumptions about fall-through origin:
- the branch is external to the function,
- fall-through start is at the beginning of the block,
- the block is not an entry point or a landing pad.
Leverage trace information to explicitly check whether the origin is a
return instruction, and defer to checks above only in case of
DSO-external branch source.
This covers both regular and BAT cases, addressing call continuation
fall-through undercounting in the latter mode, which improves BAT
profile quality metrics. For example, for one large binary:
- CFG discontinuity 21.83% -> 0.00%,
- CFG flow imbalance 10.77%/100.00% -> 3.40%/13.82% (weighted/worst)
- CG flow imbalance 8.49% —> 8.49%.
Depends on #143289.
Test Plan: updated callcont-fallthru.s
Commit: 917bc909673a491fe070fe41c4ad112bcffd4c06
https://github.com/llvm/llvm-project/commit/917bc909673a491fe070fe41c4ad112bcffd4c06
Author: William Moses <gh at wsmoses.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
Log Message:
-----------
[MLIR][LLVMIR] Mark Funcop as affinescope (#144456)
All functions are conceptually an affine scope.
Commit: de3339063ae5a926ab2ed17651a0e628b9c34fb0
https://github.com/llvm/llvm-project/commit/de3339063ae5a926ab2ed17651a0e628b9c34fb0
Author: Benjamin Kramer <benny.kra at googlemail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/config.bzl
M utils/bazel/llvm-project-overlay/llvm/include/llvm/Config/config.h
M utils/bazel/llvm_configs/config.h.cmake
Log Message:
-----------
[bazel] Port b4e39e4ff923334a8a1fdcc6d92b01d3885a01f2
Commit: dc72b91ffedf791a44a1af19b00064a2a3c59ab9
https://github.com/llvm/llvm-project/commit/dc72b91ffedf791a44a1af19b00064a2a3c59ab9
Author: AZero13 <gfunni234 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
Log Message:
-----------
[AArch64] Report icmp as free if it can be folded into ands (#143286)
Since changing the backend to fold x >= 1 / x < 1 -> x > 0 / x <= 0 and
x <= -1 / x > -1 -> x > 0 / x <= 0, this should be reflected in the
cost.
Commit: 414710c753d87d314529857e15d1ad01a76c6605
https://github.com/llvm/llvm-project/commit/414710c753d87d314529857e15d1ad01a76c6605
Author: Han-Kuan Chen <hankuan.chen at sifive.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
A llvm/test/Transforms/SLPVectorizer/isCommutative.ll
Log Message:
-----------
[SLP] Fix isCommutative to check uses of the original instruction instead of the converted instruction. (#143094)
Commit: 35f6d917206d79ab0e3d382a36ca05ccc13983d5
https://github.com/llvm/llvm-project/commit/35f6d917206d79ab0e3d382a36ca05ccc13983d5
Author: Richard Howell <rmaz at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lld/MachO/DriverUtils.cpp
A lld/test/MachO/reexport-with-symlink.s
Log Message:
-----------
[lld] check cache in loadDylib before real_path (#143595)
Commit: 0a7b0c844c59189ad4f5072b73d7dfdfd78e76b7
https://github.com/llvm/llvm-project/commit/0a7b0c844c59189ad4f5072b73d7dfdfd78e76b7
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.h
M lldb/test/API/tools/lldb-dap/save-core/TestDAP_save_core.py
Log Message:
-----------
[lldb][Expression] Remove IR pointer checker (#144483)
Currently when jitting expressions, LLDB scans the IR instructions of
the `$__lldb_expr` and will insert a call to a utility function for each
load/store instruction. The purpose of the utility funciton is to
dereference the load/store operand. If that operand was an invalid
pointer the utility function would trap and LLDB asks the IR checker
whether it was responsible for the trap, in which case it prints out an
error message saying the expression dereferenced an invalid pointer.
This is a lot of setup for not much gain. In fact, creating/running this
utility expression shows up as ~2% of the expression evaluation time
(though we cache them for subsequent expressions). And the error message
we get out of it is arguably less useful than if we hadn't instrumented
the IR. It was also untested.
Before:
```
(lldb) expr int a = *returns_invalid_ptr()
error: Execution was interrupted, reason: Attempted to dereference an invalid pointer..
The process has been returned to the state before expression evaluation.
```
After:
```
(lldb) expr int a = *returns_invalid_ptr()
error: Expression execution was interrupted: EXC_BAD_ACCESS (code=1, address=0x5).
The process has been returned to the state before expression evaluation.
```
This patch removes this IR checker.
Commit: 8f797542258f6e682eb251d0851922a1ac08fb44
https://github.com/llvm/llvm-project/commit/8f797542258f6e682eb251d0851922a1ac08fb44
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ScalarEvolution.cpp
M llvm/test/Transforms/IndVarSimplify/simplify-icmp-operands-order.ll
Log Message:
-----------
[SCEV] Better preserve wrapping info in SimplifyICmpOperands for UGE. (#144404)
Update SimplifyICmpOperands to only try subtracting 1 from RHS first, if
RHS is an op we can fold the subtract directly into. Otherwise try
adding to LHS first, as we can preserve NUW flags.
This improves results in a few cases, including the modified test case
from berkeley-abc and new code to be added in
https://github.com/llvm/llvm-project/pull/128061.
Note that there are more cases where the results can be improved by
better ordering here which I'll try to investigate as follow-up.
PR: https://github.com/llvm/llvm-project/pull/144404
Commit: 0fb198e132eff36281a20698588d815c3c30f991
https://github.com/llvm/llvm-project/commit/0fb198e132eff36281a20698588d815c3c30f991
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
M llvm/test/CodeGen/X86/horizontal-sum.ll
Log Message:
-----------
[X86] Remove combineShuffleOfConcatUndef fold (#144524)
We can now let a mixture of combineConcatVectorOps and target shuffle combining handle this instead of creating ISD::CONCAT_VECTORS nodes and hoping they will merge properly.
In the horizontal-sum.ll test changes we were creating a ISD::CONCAT_VECTORS node that was being split shortly after, but not before causing issues with HADD folding due to additional uses.
Commit: 4cfe0d7f4c2c39dd90e27258aa448789f2ba4278
https://github.com/llvm/llvm-project/commit/4cfe0d7f4c2c39dd90e27258aa448789f2ba4278
Author: Kajetan Puchalski <kajetan.puchalski at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
A flang/test/Lower/OpenMP/copyprivate5.f90
Log Message:
-----------
[flang][OpenMP] Support using copyprivate with fir.boxchar arguments (#144092)
Implement the lowering for passing a fir.boxchar argument to the
copyprivate clause.
Resolves https://github.com/llvm/llvm-project/issues/142123.
---------
Signed-off-by: Kajetan Puchalski <kajetan.puchalski at arm.com>
Commit: 549bc55cc39bb9fb22df464bcf3b7d4d4a5ff507
https://github.com/llvm/llvm-project/commit/549bc55cc39bb9fb22df464bcf3b7d4d4a5ff507
Author: Davide Grohmann <davide.grohmann at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/CMakeLists.txt
M mlir/test/Target/SPIRV/constant.mlir
M mlir/test/lit.cfg.py
A mlir/test/lit.local.cfg
M mlir/test/lit.site.cfg.py.in
Log Message:
-----------
[mlir][spirv] Fix int type declaration duplication when serializing (#143108)
At the MLIR level unsigned integer and signless integers are different
types. Indeed when looking up the two types in type definition cache
they do not match.
Hence when translating a SPIR-V module which contains both usign and
signless integers will contain the same type declaration twice
(something like OpTypeInt 32 0) which is not permitted in SPIR-V and
such generated modules fail validation.
This patch solves the problem by mapping unisgned integer types to
singless integer types before looking up in the type definition cache.
---------
Signed-off-by: Davide Grohmann <davide.grohmann at arm.com>
Commit: 7ec103a984ff114d24f26d935fe2292379269b53
https://github.com/llvm/llvm-project/commit/7ec103a984ff114d24f26d935fe2292379269b53
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Port #143108 to bazel (#144538)
Commit: 9eb0020555fc643582b2802abb8c1bc92059c248
https://github.com/llvm/llvm-project/commit/9eb0020555fc643582b2802abb8c1bc92059c248
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/IRSimilarityIdentifier.h
M llvm/include/llvm/Analysis/PtrUseVisitor.h
M llvm/include/llvm/IR/InstVisitor.h
M llvm/include/llvm/Transforms/Utils/Local.h
M llvm/lib/Analysis/AliasSetTracker.cpp
M llvm/lib/Analysis/CallGraph.cpp
M llvm/lib/Analysis/DemandedBits.cpp
M llvm/lib/Analysis/Loads.cpp
M llvm/lib/Analysis/MemoryDependenceAnalysis.cpp
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/lib/CodeGen/CodeGenPrepare.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
M llvm/lib/IR/DebugInfo.cpp
M llvm/lib/Target/AArch64/AArch64StackTagging.cpp
M llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
M llvm/lib/Target/PowerPC/PPCBoolRetToInt.cpp
M llvm/lib/Transforms/AggressiveInstCombine/AggressiveInstCombine.cpp
M llvm/lib/Transforms/IPO/IROutliner.cpp
M llvm/lib/Transforms/IPO/SampleProfileProbe.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/lib/Transforms/Scalar/ADCE.cpp
M llvm/lib/Transforms/Scalar/GVN.cpp
M llvm/lib/Transforms/Scalar/GVNHoist.cpp
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp
M llvm/lib/Transforms/Scalar/LoopUnrollPass.cpp
M llvm/lib/Transforms/Scalar/SpeculativeExecution.cpp
M llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
M llvm/lib/Transforms/Utils/CodeExtractor.cpp
M llvm/lib/Transforms/Utils/Debugify.cpp
M llvm/lib/Transforms/Utils/Evaluator.cpp
M llvm/lib/Transforms/Utils/InlineFunction.cpp
M llvm/lib/Transforms/Utils/Local.cpp
M llvm/lib/Transforms/Utils/LoopRotationUtils.cpp
M llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp
M llvm/lib/Transforms/Utils/SimplifyCFG.cpp
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[DebugInfo][RemoveDIs] Remove a swathe of debug-intrinsic code (#144389)
Seeing how we can't generate any debug intrinsics any more: delete a
variety of codepaths where they're handled. For the most part these are
plain deletions, in others I've tweaked comments to remain coherent, or
added a type to (what was) type-generic-lambdas.
This isn't all the DbgInfoIntrinsic call sites but it's most of the
simple scenarios.
Co-authored-by: Nikita Popov <github at npopov.com>
Commit: c9a87a50aee3c91f36d33c170d5131bcc370c289
https://github.com/llvm/llvm-project/commit/c9a87a50aee3c91f36d33c170d5131bcc370c289
Author: Jeffrey Byrnes <jeffrey.byrnes at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/SLPVectorizer/AMDGPU/external-shuffle.ll
M llvm/test/Transforms/SLPVectorizer/X86/extractelement-single-use-many-nodes.ll
M llvm/test/Transforms/SLPVectorizer/X86/vec_list_bias-inseltpoison.ll
Log Message:
-----------
[SLPVectorizer] Use accurate cost for external users of resize shuffles (#137419)
When implementing the vectorization, we potentially need to add shuffles
for external users. In such cases, we may be shuffling a smaller vector
into a larger vector. When this happens `ResizeToVF` will just build a
poison padded identity vector. Then the to build the final shuffle, we
just use the `SK_InsertSubvector` mask.
This is possibly clearer by looking at the included test in
SLPVectorizer/AMDGPU/external-shuffle.ll
In the exit block we have a bunch of shuffles to glue the vectorized
tree match the `InsertElement` users. `TMP25` holds the result of
resizing the v2i16 vectorized sequence to match the `InsertElement` size
v16i16. Then `TMP26` is the final shuffle which replaces the
`InsertElement` sequence. This is just an insertsubvector.
However, when calculating the cost for these shuffles, we aren't
modelling this correctly. `ResizeToVF` will indicate to
`performExtractsShuffleAction` that we cannot use the original mask due
to the resize shuffle. The consequence is that the cost calculation uses
a different shuffle mask than what is ultimately used.
Going back to the included test, we can consider again `TMP26`. Clearly
we can see the shuffle uses a mask {0, 1, 2, 3, 16, 17, poison ..}.
However, we will currently calculate the cost with a mask {0, 1, 2, 3,
20, 21, ...} we have replaced 16 and 17 with 20 and 21 (Index + Vector
Size). Queries like BasicTTImpl::improveShuffleKindFromMask will not
recognize this as an `SK_InsertSubvector` mask, and targets which have
reduced costs for `SK_InsertSubvector` will not accurately calculate the
cost.
Commit: 02b78ff9c639993356ccc72b847128fd1ff7f2ba
https://github.com/llvm/llvm-project/commit/02b78ff9c639993356ccc72b847128fd1ff7f2ba
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Option/OptSpecifier.h
M llvm/include/llvm/Transforms/IPO.h
M llvm/include/llvm/Transforms/Utils/PromoteMemToReg.h
Log Message:
-----------
[llvm] include Compiler.h in a few headers where it was missed (#144464)
Add missing `#include "llvm/Support/Compiler.h"` in a few LLVM headers
that use the `LLVM_ABI` macro.
Commit: 14286244f1dca9300ead8bf83f049df2ffa97180
https://github.com/llvm/llvm-project/commit/14286244f1dca9300ead8bf83f049df2ffa97180
Author: Jeremy Morse <jeremy.morse at sony.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/IROutliner.cpp
Log Message:
-----------
Follow up to 9eb0020555, squelch unused variable warning
It turns out that this now-deleted debug-intrinsic code was the only use of
CI.
Commit: 1410e69b641182e942470a90d4a0bb5a2910805f
https://github.com/llvm/llvm-project/commit/1410e69b641182e942470a90d4a0bb5a2910805f
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/SPIRV/SPIRVBuiltins.td
A llvm/test/CodeGen/SPIRV/constant/spec-constant.ll
Log Message:
-----------
[SPIRV] Allow __spirv_SpecConstant in Vulkan shaders (#143543)
There is a builtin __spirv_SpecConstant that the SPIR-V backend expands
into a specialization constant. However, it is currently only enable for
OpenCL shaders, and not the graphic shaders.
We want to use it for specialization constants coming from HLSL, so we
are enabling it for graphic shaders as well.
Implements https://github.com/llvm/wg-hlsl/pull/287
Fixes https://github.com/llvm/llvm-project/issues/142991
Commit: c80282d333d7248c8a34694ce1bec9a40681c1c5
https://github.com/llvm/llvm-project/commit/c80282d333d7248c8a34694ce1bec9a40681c1c5
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstructions.td
M llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.h
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/test/CodeGen/AMDGPU/fneg-combines.new.ll
M llvm/test/CodeGen/AMDGPU/maximumnum.ll
M llvm/test/CodeGen/AMDGPU/minimumnum.ll
Log Message:
-----------
AMDGPU: Directly select minimumnum/maximumnum with ieee_mode=0 (#141903)
The hardware min/max follow the IR rules with IEEE mode disabled,
so we can avoid the canonicalizes of the input. We lose the quieting
of a signaling nan if both inputs are nans, but we only require that
with strictfp.
Commit: 72fb8ae541dcb6d4ab24283bd91a1fc64a9b7e3b
https://github.com/llvm/llvm-project/commit/72fb8ae541dcb6d4ab24283bd91a1fc64a9b7e3b
Author: Daniil Kovalev <dkovalev at accesssoftek.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lld/test/ELF/lto/aarch64-pac-got-func.ll
Log Message:
-----------
[lld][test][PAC] Do not rely on concrete offsets in LTO tests (#143358)
When changing codegen (e.g. in #130809), offsets in binaries produced by
LTO tests might change. We do not need to match concrete offset values,
it's enough to ensure that hex values in particular places are
identical.
---------
Co-authored-by: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Commit: 4ced29b8482e3537da7d27d410bf7947b0666b4c
https://github.com/llvm/llvm-project/commit/4ced29b8482e3537da7d27d410bf7947b0666b4c
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
Log Message:
-----------
[lldb][Expression] Don't create Objective-C IR checker for pure-C++ targets/frames (#144503)
There's no need to create this utility function (and run it) for
targets/frames that aren't Objective-C/Objective-C++.
Commit: a5f5f1209aa122ee295ae0dc0f1ee594ad988ecd
https://github.com/llvm/llvm-project/commit/a5f5f1209aa122ee295ae0dc0f1ee594ad988ecd
Author: Jay Foad <jay.foad at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Use subtarget feature for v_lshl_add_u64 pattern. NFC. (#144544)
Following on from #133723, use the new subtarget feature for the
selection pattern as well as for the instruction definition.
Commit: cd4e3843395329538feb1c29cd582471b482caf7
https://github.com/llvm/llvm-project/commit/cd4e3843395329538feb1c29cd582471b482caf7
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/test/Semantics/modfile75.F90
Log Message:
-----------
[flang][test] Removed temporary workaround for buildbots.
Commit: cf637b7e3554976419a0d672ad4c252137dc34f3
https://github.com/llvm/llvm-project/commit/cf637b7e3554976419a0d672ad4c252137dc34f3
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/parallel-sections01.f90
A flang/test/Semantics/OpenMP/sections-goto.f90
M flang/test/Semantics/OpenMP/sections02.f90
Log Message:
-----------
[flang][OpenMP] Fix goto within SECTION (#144502)
Previously we didn't push any context for SECTION and they are not
modelled with differing scopes and so goto detection couldn't tell that
GOTOs between two SECTIONs were between constructs rather than just
staying inside of the parent SECTIONS construct.
Fixes #143231
Commit: 0108a5908cab5e418c683ef9b6e1810755344b5e
https://github.com/llvm/llvm-project/commit/0108a5908cab5e418c683ef9b6e1810755344b5e
Author: Alexey Bataev <a.bataev at outlook.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/test/Transforms/PhaseOrdering/X86/hadd.ll
M llvm/test/Transforms/PhaseOrdering/X86/hsub.ll
A llvm/test/Transforms/SLPVectorizer/SystemZ/non-power-2-subvector-extract.ll
Log Message:
-----------
[SLP]Fix a crash on an subvector size calculation for non-power-of-2 vector
Patch fixes cost estimation for the extractelements from non-power-of-2
vectors, defined as subvector extracts. In this case the subvector size
might be not adjusted to a whole register size, need to get the minimum
between whole vector size and the actual difference to prevent compiler
crash.
Fixes #143513
Commit: 00139f10c3cd4118de7148635c820bb42843287a
https://github.com/llvm/llvm-project/commit/00139f10c3cd4118de7148635c820bb42843287a
Author: Alex MacLean <amaclean at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
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/test/CodeGen/NVPTX/bug26185-2.ll
M llvm/test/CodeGen/NVPTX/bug26185.ll
M llvm/test/CodeGen/NVPTX/i1-ext-load.ll
M llvm/test/CodeGen/NVPTX/ldu-ldg.ll
M llvm/test/CodeGen/NVPTX/variadics-backend.ll
Log Message:
-----------
[NVPTX] Cleanup ld/st lowering (#143936)
Commit: eb31c422d0dc816bf285a81bf92690d4d16273ed
https://github.com/llvm/llvm-project/commit/eb31c422d0dc816bf285a81bf92690d4d16273ed
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/Toolchain.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/aarch64-gnutools.c
A clang/test/Driver/aarch64-toolchain-extra.c
A clang/test/Driver/aarch64-toolchain.c
A clang/test/Driver/arm-gnutools.c
A clang/test/Driver/arm-toolchain-extra.c
A clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
A clang/test/Driver/check-no-multlib-warning.c
Log Message:
-----------
[Driver] Add support for GCC installation detection in Baremetal toolchain (#121829)
This patch introduces enhancements to the Baremetal toolchain to support
GCC toolchain detection.
- If the --gcc-install-dir or --gcc-toolchain options are provided and
point to valid paths, the sysroot is derived from those locations.
- If not, the logic falls back to the existing sysroot inference
mechanism already present in the Baremetal toolchain.
- Support for adding include paths for the libstdc++ library has also
been added.
Additionally, the restriction to always use the integrated assembler has
been removed. With a valid GCC installation, the GNU assembler can now
be used as well.
This patch currently updates and adds tests for the ARM target only.
RISC-V-specific tests will be introduced in a later patch, once the
RISCVToolChain is fully merged into the Baremetal toolchain. At this
stage, there is no way to test the RISC-V target within this PR.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: e6a41399cb8796e5d18940d49b0151704568321a
https://github.com/llvm/llvm-project/commit/e6a41399cb8796e5d18940d49b0151704568321a
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/utf8_to_32_test.cpp
Log Message:
-----------
Reland "[libc] utf8 to 32 CharacterConverter" (#144450)
Reverts llvm/llvm-project#144446
Figured out the issue, so creating a new pull request.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 65d590e8d012df9dabbf8b3ec929fd1543c7398a
https://github.com/llvm/llvm-project/commit/65d590e8d012df9dabbf8b3ec929fd1543c7398a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineLogicBlendIntoConditionalNegate - convert to SDPatternMatch matching. NFC. (#144536)
Commit: c66be289901b3f035187d391e80e3610d7d6232e
https://github.com/llvm/llvm-project/commit/c66be289901b3f035187d391e80e3610d7d6232e
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
[clang][bytecode] Allocate IntegralAP and Floating types using an allocator (#144246)
Both `APInt` and `APFloat` will heap-allocate memory themselves using
the system allocator when the size of their data exceeds 64 bits.
This is why clang has `APNumericStorage`, which allocates its memory
using an allocator (via `ASTContext`) instead. Calling `getValue()` on
an ast node like that will then create a new `APInt`/`APFloat` , which
will copy the data (in the `APFloat` case, we even copy it twice).
That's sad but whatever.
In the bytecode interpreter, we have a similar problem. Large integers
and floating-point values are placement-new allocated into the
`InterpStack` (or into the bytecode, which is a `vector<std::byte>`).
When we then later interrupt interpretation, we don't run the destructor
for all items on the stack, which means we leak the memory the
`APInt`/`APFloat` (which backs the `IntegralAP`/`Floating` the
interpreter uses).
Fix this by using an approach similar to the one used in the AST. Add an
allocator to `InterpState`, which is used for temporaries and local
values. Those values will be freed at the end of interpretation. For
global variables, we need to promote the values to global lifetime,
which we do via `InitGlobal` and `FinishInitGlobal` ops.
Interestingly, this results in a slight _improvement_ in compile times:
https://llvm-compile-time-tracker.com/compare.php?from=6bfcdda9b1ddf0900f82f7e30cb5e3253a791d50&to=88d1d899127b408f0fb0f385c2c58e6283195049&stat=instructions:u
(but don't ask me why).
Fixes https://github.com/llvm/llvm-project/issues/139012
Commit: 9ec75a50bc48c84c68430f113332769d23481ef5
https://github.com/llvm/llvm-project/commit/9ec75a50bc48c84c68430f113332769d23481ef5
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/MCTargetDesc/CMakeLists.txt
M llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.cpp
R llvm/lib/Target/Mips/MCTargetDesc/MipsMCExpr.h
M llvm/lib/Target/Mips/MCTargetDesc/MipsTargetStreamer.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsMCInstLower.cpp
M llvm/lib/Target/Mips/MipsTargetObjectFile.cpp
Log Message:
-----------
MIPS: Replace MipsMCExpr with MCSpecifierExpr
Commit: 382e3fdbb476a5d5771b315daedcd05a15883fbc
https://github.com/llvm/llvm-project/commit/382e3fdbb476a5d5771b315daedcd05a15883fbc
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
Log Message:
-----------
[lldb][Formatter] Get element type for unordered_maps from __hash_table::value_type (#144517)
https://github.com/llvm/llvm-project/pull/143501 changes usage of
`__hash_value_type` in libcxx to an empty tag type. This type will no
longer have a definition in DWARF. Currently the LLDB unordered_map
formatter deduces the map's `element_type` by looking at the `__cc_`
member of `__hash_value_type`. But that will no longer work because we
only have its forward declaration. Since what we're really after is the
type that `__hash_value_type` is wrapping, we can just look at the
`__hash_table::value_type` typedef. With
https://github.com/llvm/llvm-project/pull/143501 that will now point to
the `std::pair` element type (which used to be what we got from
`__cc_`).
TBD: need to double-check this works for older layouts. Quick glance at
the code makes me suspicious of cases like `unordered_map<std::pair<int,
int>, int>`
Commit: 4e884dd993e040f7ccd83ecdc3c4570d23a42ee6
https://github.com/llvm/llvm-project/commit/4e884dd993e040f7ccd83ecdc3c4570d23a42ee6
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcELFObjectWriter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCAsmInfo.h
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCCodeEmitter.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.cpp
R llvm/lib/Target/Sparc/MCTargetDesc/SparcMCExpr.h
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcISelLowering.cpp
M llvm/lib/Target/Sparc/SparcTargetObjectFile.cpp
Log Message:
-----------
SPARC: Remove SparcMCExpr.h
Commit: 0c608175c11cf0ce797be7575a7c8d8ebcdecbd8
https://github.com/llvm/llvm-project/commit/0c608175c11cf0ce797be7575a7c8d8ebcdecbd8
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] matchLogicBlend - convert to SDPatternMatch matching. NFC. (#144546)
Removes a LOT of commutative matching.
Commit: b14e03d8555043bc35e9c75fff7f52d28950b3ab
https://github.com/llvm/llvm-project/commit/b14e03d8555043bc35e9c75fff7f52d28950b3ab
Author: nerix <nerixdev at outlook.de>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string/TestDataFormatterLibcxxString.py
M lldb/test/API/functionalities/data-formatter/data-formatter-stl/libcxx/string_view/TestDataFormatterLibcxxStringView.py
Log Message:
-----------
[LLDB] Consolidate C++ string buffer summaries (#144258)
As part of https://github.com/llvm/llvm-project/pull/143177, I moved the
non-libc++ specific formatting of `std::string`s out to `CxxStringTypes`
as MSVC's STL `std::string` can also be thought of a pointer+size pair.
I named this kind of string "string buffer".
This PR picks that change, so the MSVC PR can be smaller.
Unfortunately, libstdc++'s `std::string` does not fit this (it also uses
a different string printer function).
This resolves two FIXMEs in the libc++ tests, where empty u16 and u32
strings didn't have any prefix (u/U).
Commit: 5baf351ba819e1e6bae0250492e85a2862ef406b
https://github.com/llvm/llvm-project/commit/5baf351ba819e1e6bae0250492e85a2862ef406b
Author: yonghong-song <yhs at fb.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
Log Message:
-----------
[BPF] Do not allow gotol in the middle of asm insn (#144545)
Previously I accidentally allowed 'gotol' insn in the middle of asm insn
([1]). But actually 'gotol' is not allowed in the middle of any asm
insn, so remove it from isValidIdInMiddle().
[1] https://github.com/yonghong-song/llvm-project/commit/6c412b6c6faa2dabd8602d35d3f5e796fb1daf80
Commit: 556e69b7f4328a0d7c36c9d7ca0dd8f52f82ad71
https://github.com/llvm/llvm-project/commit/556e69b7f4328a0d7c36c9d7ca0dd8f52f82ad71
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/cmake/modules/FindPythonAndSwig.cmake
M lldb/test/API/lit.cfg.py
M lldb/test/API/lit.site.cfg.py.in
M lldb/test/Shell/lit.cfg.py
Log Message:
-----------
[lldb] make lit use the same Python executable for building and testing (#143756)
When testing LLDB, we want to make sure to use the same Python as the
one we used to build it.
This patch uses the CMake variable `Python3_ROOT_DIR` to add the correct
Python to the `PATH` in LLDB lit tests, in order to ensure of this.
Please see https://github.com/swiftlang/swift/pull/82063 for the
original issue.
This is a continuation of https://github.com/swiftlang/swift/pull/82063.
Commit: 8063bd153c6aca43869d96aee64aeceb9be98ca5
https://github.com/llvm/llvm-project/commit/8063bd153c6aca43869d96aee64aeceb9be98ca5
Author: Nishant Patel <nishant.b.patel at intel.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUWgToSgDistribute.cpp
A mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-elemwise.mlir
Log Message:
-----------
[MLIR][XeGPU] Add support for elementwise ops in Wg to Sg distribute pass [1/N] (#142797)
This PR adds support for Elementwise operations' (unary & binary)
lowering from Workgroup to Subgroup.
Commit: 01a7a21a4b8070a88e5dcc9753066e38d26faf85
https://github.com/llvm/llvm-project/commit/01a7a21a4b8070a88e5dcc9753066e38d26faf85
Author: Chris B <chris.bieneman at me.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/cmake/modules/AddLLVM.cmake
Log Message:
-----------
[CMake] Add BINARY_DIR argument for add_lit_testsuites (#144431)
We're doing some slightly odd things with LIT in the offload-test-suite.
Specifically we generate multiple binary directories to configure and
run tests with different configurations from the same source root.
In this configuration the subdirectory targets need to instead point to
the correct generated binary directory and use test filtering to get a
subset of tests.
Commit: 526310e916af2073e30b57b678307ce94df803f3
https://github.com/llvm/llvm-project/commit/526310e916af2073e30b57b678307ce94df803f3
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/IR/DiagnosticInfo.cpp
M llvm/test/Transforms/GVN/opt-remarks.ll
Log Message:
-----------
[Remarks] Elaborate on called intrinsics (#143985)
Commit: ec230aa7a7d13c222c0b34b87c3c16937383b4a0
https://github.com/llvm/llvm-project/commit/ec230aa7a7d13c222c0b34b87c3c16937383b4a0
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
M clang/test/Driver/aarch64-toolchain-extra.c
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain-extra.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
[Driver] Add support for crtbegin.o, crtend.o and libgloss lib to BareMetal toolchain object (#121830)
This patch conditionalise the addition of crt{begin,end}.o object files
along
with addition of -lgloss lib based on whether libc selected is newlib or
llvm
libc. Since there is no way a user can specify which libc it wants to
link
against, currently passing valid GCCInstallation to driver will select
newlib
otherwise it will default to llvm libc.
Moreover, this patch makes gnuld the default linker for baremetal
toolchain
object. User need to pass `-fuse-ld=lld` explicitly to driver to select
lld
This is the 2nd patch in the series of patches of merging RISCVToolchain
into
BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: 8513066f2c49457f5d1f63e275403330f854041c
https://github.com/llvm/llvm-project/commit/8513066f2c49457f5d1f63e275403330f854041c
Author: someoneinjd <someoneinjd at outlook.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
A clang-tools-extra/clangd/test/positionencoding.test
Log Message:
-----------
[clangd] Implement LSP 3.17 positionEncoding (#142903)
This PR adds support for the `positionEncoding` client capability
introduced in LSP 3.17. Clangd can now negotiate the position encoding
with the client during initialization.
Fix https://github.com/clangd/clangd/issues/1746
Co-authored-by: kadir çetinkaya <kadircetinkaya.06.tr at gmail.com>
Commit: 9dd1c66e8ffba73fead13aaf359e290f6e1d4899
https://github.com/llvm/llvm-project/commit/9dd1c66e8ffba73fead13aaf359e290f6e1d4899
Author: Luke Lau <luke at igalia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlan.cpp
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/lib/Transforms/Vectorize/VPlanTransforms.h
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/epilog-iv-select-cmp.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.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/transform-narrow-interleave-to-widen-memory-remove-loop-region.ll
M llvm/test/Transforms/LoopVectorize/ARM/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr88802.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/X86/constant-fold.ll
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/X86/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/X86/interleave-cost.ll
M llvm/test/Transforms/LoopVectorize/X86/outer_loop_test1_no_explicit_vect_width.ll
M llvm/test/Transforms/LoopVectorize/X86/scatter_crash.ll
M llvm/test/Transforms/LoopVectorize/epilog-vectorization-any-of-reductions.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
M llvm/test/Transforms/LoopVectorize/pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/reduction-inloop-pred.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/single_early_exit_live_outs.ll
M llvm/test/Transforms/LoopVectorize/uniform-blend.ll
M llvm/test/Transforms/LoopVectorize/vplan-iv-transforms.ll
Log Message:
-----------
[VPlan] Expand VPWidenIntOrFpInductionRecipe into separate recipes (#118638)
The motivation of this PR is to make #115274 easier to implement, and
should allow us to add EVL support by just passing EVL to the VF
operand.
The current difficulty with widening IVs with EVL is that
VPWidenIntOrFpInductionRecipe generates its own backedge value. Since
it's a VPHeaderPHIRecipe the VF operand must be in the preheader, which
means we can't use the EVL since it's defined in the loop body.
The gist in this PR is to take the approach in #114305 and expand
VPWidenIntOrFpInductionRecipe into several recipes for the initial
value, phi and backedge value just before execution. I.e. this example:
```
vector.ph:
Successor(s): vector loop
<x1> vector loop: {
vector.body:
WIDEN-INDUCTION %i = phi %start, %step, %vf
...
EMIT branch-on-count ...
No successors
}
```
gets expanded to:
```
vector.ph:
...
vp<%induction.start> = ...
vp<%induction.increment> = ...
Successor(s): vector loop
<x1> vector loop: {
vector.body:
ir<%i> = WIDEN-PHI vp<%induction.start>, vp<%vec.ind.next>
...
vp<%vec.ind.next> = add ir<%i>, vp<%induction.increment>
EMIT branch-on-count ...
No successors
}
```
This allows us to a value defined in the loop in the backedge value, and
also means we can just reuse the existing backedge fixups in
VPlan::execute without having to specially handle it ourselves.
After this #115274 should just become a matter of setting the VF operand
to EVL (and building the increment step in the loop body, not the
preheader).
Commit: 9e0186d925f0c375a627866c59394f25c22eb3ff
https://github.com/llvm/llvm-project/commit/9e0186d925f0c375a627866c59394f25c22eb3ff
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignature.h
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/unittests/Frontend/CMakeLists.txt
A llvm/unittests/Frontend/HLSLRootSignatureRangesTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Implement `ResourceRange` as an `IntervalMap` (#140957)
A resource range consists of a closed interval, `[a;b]`, denoting which
shader registers it is bound to.
For instance:
- `CBV(b1)` corresponds to the resource range of `[1;1]`
- `CBV(b0, numDescriptors = 3)` likewise to `[0;2]`
We want to provide an error diagnostic when there is an overlap in the
required registers (an overlap in the resource ranges).
The goal of this pr is to implement a structure to model a set of
resource ranges and provide an api to detect any overlap over a set of
resource ranges.
`ResourceRange` models this by implementing an `IntervalMap` to denote a
mapping from an interval of registers back to a resource range. It
allows for a new `ResourceRange` to be added to the mapping and it will
report if and what the first overlap is.
For the context of how this will be used in validation of a
`RootSignatureDecl` please see the proceeding pull request here:
https://github.com/llvm/llvm-project/pull/140962.
- Implements `ResourceRange` as an `IntervalMap`
- Adds unit testing of the various `insert` scenarios
Note: it was also considered to implement this as an `IntervalTree`,
this would allow reporting of a diagnostic for each overlap that is
encountered, as opposed to just the first. However, error generation of
just reporting the first error is already rather verbose, and adding the
additional diagnostics only made this worse.
Part 1 of https://github.com/llvm/llvm-project/issues/129942
Commit: ed07b54b38c675235b4ce1bfd49e1fff372f6520
https://github.com/llvm/llvm-project/commit/ed07b54b38c675235b4ce1bfd49e1fff372f6520
Author: Morris Hafner <mmha at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
Log Message:
-----------
[CIR][NFCI] Represent Complex RValues As Single Value (#144519)
This patch removes one mlir::Value in the RValue class that has been
used to represent complex values in classic CG. In CIR we plan on
representing complex as a single value. It also removes some now
unnecessary member functions related to complex handling.
Commit: 3a06e9a710b7cfdbf1c002acc46fa76617e8baf8
https://github.com/llvm/llvm-project/commit/3a06e9a710b7cfdbf1c002acc46fa76617e8baf8
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M compiler-rt/lib/builtins/CMakeLists.txt
Log Message:
-----------
Conditionalise the addition of Aarch64 function Multi versioning support on aarch64 target (#143749)
Currently, `ENABLE_BAREMETAL_AARCH64_FMV` is added to builtin defines
for all baremetal targets though it is only needed for aarch64. This
patch fixes this by adding it only for aarch64 target.
Commit: 7ea710fafa5782a274ded2ab6933c63c5c71f2ee
https://github.com/llvm/llvm-project/commit/7ea710fafa5782a274ded2ab6933c63c5c71f2ee
Author: Alexey Samsonov <vonosmas at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/strtold_test.cpp
Log Message:
-----------
Fix/reapply "[libc] Migrate stdio tests to ErrnoCheckingTest. (#144134)
This reverts commit 92a116c4ef822950f8c57eaa5164c844c73a1f7e with a fix
for fgets test - convert nullptr to fgets return type (char*), since the
matcher is pedantic.
Commit: 4943e746909ddbf8845e7fa397a97b918bf777df
https://github.com/llvm/llvm-project/commit/4943e746909ddbf8845e7fa397a97b918bf777df
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/GlobalISel/irtranslator/fallback.ll
Log Message:
-----------
fixup! [Remarks] Elaborate on called intrinsics (#143985)
Commit: 030b5519ec139757c13a6d6f337e69750ec24d6e
https://github.com/llvm/llvm-project/commit/030b5519ec139757c13a6d6f337e69750ec24d6e
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] add missing deps for XeGPUTransforms
Commit: b876b3fa98cffd5b8755398f9a8218f667464d76
https://github.com/llvm/llvm-project/commit/b876b3fa98cffd5b8755398f9a8218f667464d76
Author: vitor1001 <56533861+vitor1001 at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_intrinsics.h
Log Message:
-----------
Add missing intrinsics to cuda headers (#143664)
LLVM prevents the sm_32_intrinsics.hpp header from being included with a
#define __SM_32_INTRINSICS_HPP__. It also provides drop-in replacements
of the functions defined in the CUDA header.
One issue is that some intrinsics were added after the replacement was
written, and thus have no replacement, breaking code that calls them
(Raft is one example).
This patch adds the missing intrinsics.
Commit: 0cfc59ff51720ee60a71dd34077fc161886a3701
https://github.com/llvm/llvm-project/commit/0cfc59ff51720ee60a71dd34077fc161886a3701
Author: Yijia Gu <yijiagu at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
[mlir][bazel] remove extra empty space for XeGPUTransforms
Commit: e29bb9a038245320164c5890d1a75843e4a664ef
https://github.com/llvm/llvm-project/commit/e29bb9a038245320164c5890d1a75843e4a664ef
Author: S. VenkataKeerthy <31350914+svkeerthy at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Analysis/IR2Vec.cpp
Log Message:
-----------
[IR2Vec] Consider only reachable BBs and non-debug instructions (#143476)
Changes to consider BBs that are reachable from the entry block. Similarly we skip debug instruction while computing the embeddings.
(Tracking issue - #141817)
Commit: 31523de4b000ca254259ae3167d28922e1302648
https://github.com/llvm/llvm-project/commit/31523de4b000ca254259ae3167d28922e1302648
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/test/Driver/aarch64-toolchain-extra.c
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain-extra.c
M clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
M clang/test/Driver/baremetal.cpp
Log Message:
-----------
[Driver] Fix link order of BareMetal toolchain object (#132806)
The linker job in BareMetal toolchain object will be used by GNU ld and
lld both.
However, gnuld process the arguments in the order in which they appear
on command
line, whereas there is no such restriction with lld.
The previous order was:
LibraryPaths -> Libraries -> LTOOptions -> LinkerInputs
The new order is:
LibraryPaths -> LTOOptions -> LinkerInputs -> Libraries
LTO options need to be added before adding any linker inputs because
file format
after compile stage during LTO is bitcode which gnuld natively cannot
process.
Hence will need to pass appropriate plugins before adding any bitcode
file on the
command line.
Object files that are getting linked need to be passed before processing
any
libraries so that gnuld can appropriately do symbol resolution for the
symbols
for which no definition is provided through user code.
Similar link order is also followed by other linker jobs for gnuld such
as in
gnutools::Linker in Gnu.cpp
This is the 3rd patch in the series of patches of merging RISCVToolchain
into
BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: 2ab9c35ea93f8557827d4cadcceb05e4eed2d30a
https://github.com/llvm/llvm-project/commit/2ab9c35ea93f8557827d4cadcceb05e4eed2d30a
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/DXContainer.h
M llvm/include/llvm/BinaryFormat/DXContainerConstants.def
Log Message:
-----------
[DXContainer] Update DXContainer to match D3D12 spec (#143201)
Update the descriptor range flag values in DXContainerConstants.def to
match
the Direct3D12 specification. This changes two aspects:
1. Modify the DESCRIPTOR_RANGE_FLAG macro to use direct values instead
of
bit shifts
2. Update the flag values to use hex notation and match D3D12's
D3D12_DESCRIPTOR_RANGE_FLAGS enumeration:
- DESCRIPTORS_VOLATILE: 0x1
- DATA_VOLATILE: 0x2
- DATA_STATIC_WHILE_SET_AT_EXECUTE: 0x4
- DATA_STATIC: 0x8
- DESCRIPTORS_STATIC_KEEPING_BUFFER_BOUNDS_CHECKS: 0x10000
3. Removed NONE value from ROOT_DESCRIPTOR_FLAG
This ensures better compatibility with the D3D12 API and makes the
values
more explicit in the code.
Requested here:
https://github.com/llvm/llvm-project/pull/138315#discussion_r2132818269
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: bb288de4e0e74f235402ff41be60dabcd57e379f
https://github.com/llvm/llvm-project/commit/bb288de4e0e74f235402ff41be60dabcd57e379f
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/LoopPeel.cpp
M llvm/test/Transforms/LoopUnroll/peel-last-iteration-minmax.ll
Log Message:
-----------
[LoopPeel] Support last iteration peeling of min/max intrinsics (#143598)
This isn't terribly useful at the moment because of the step=1
restriction but it should be functionally sound. This is mostly just
making sure the codepaths don't diverge as we make other changes.
Commit: 8cd05b88ec623018ca2c68cf2418d2beed026d27
https://github.com/llvm/llvm-project/commit/8cd05b88ec623018ca2c68cf2418d2beed026d27
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaHLSL.cpp
Log Message:
-----------
[NFC][HLSL] Move Sema work from `ParseMicrosoftRootSignatureAttributeArgs` (#143184)
This separates semantic analysis from parsing by moving `RootSignatureDecl` creation, scope storage, and lookup logic into
`SemaHLSL`.
For more context see:
https://github.com/llvm/llvm-project/issues/142834.
- Define `ActOnStartRootSignatureDecl` and `ActOnFinishRootSignatureDecl` on `SemaHLSL`
- NFC so no test changes.
Resolves: https://github.com/llvm/llvm-project/issues/142834
---------
Co-authored-by: Aaron Ballman <aaron at aaronballman.com>
Commit: 80f3a28bbe7c2e17fb4b60e974c4157ec7e1eefc
https://github.com/llvm/llvm-project/commit/80f3a28bbe7c2e17fb4b60e974c4157ec7e1eefc
Author: Justin King <jcking at wulver.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/lsan/lsan_allocator.h
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/lsan/lsan_malloc_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
Log Message:
-----------
Revert "lsan: Support free_sized and free_aligned_sized from C23" (#144575)
Reverts llvm/llvm-project#144415
Need to update approach to handle Apple platforms gracefully.
Commit: 391dafd8af9c0309f2ca75621dae1dbae307b428
https://github.com/llvm/llvm-project/commit/391dafd8af9c0309f2ca75621dae1dbae307b428
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVISelLowering.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
Log Message:
-----------
[RISCV] Consolidate both copies of getLMUL1VT [nfc] (#144568)
Put one copy on RISCVTargetLowering as a static function so that both
locations can use it, and rename the method to getM1VT for slightly
improved readability.
Commit: 1f10c6a277fbc1b1c6ceb7546b001af39feb92ce
https://github.com/llvm/llvm-project/commit/1f10c6a277fbc1b1c6ceb7546b001af39feb92ce
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Hoist more IRBuilder<>'s. NFC
Commit: b59d4cf05447fdaf3d3c859e10db0b3c892f6ec6
https://github.com/llvm/llvm-project/commit/b59d4cf05447fdaf3d3c859e10db0b3c892f6ec6
Author: Joshua Batista <jbatista at microsoft.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILPrepare.cpp
M llvm/test/CodeGen/DirectX/llc-vector-load-scalarize.ll
A llvm/test/CodeGen/DirectX/noop_bitcast_global_array_type.ll
Log Message:
-----------
[Reland] Adjust bit cast instruction filter for DXIL Prepare pass (#143783)
Relands https://github.com/llvm/llvm-project/pull/142678, with a new
change to remove an unnecessary gep argument, after a revert was needed
due to unforeseen bugs.
Fixes https://github.com/llvm/llvm-project/issues/139013
Commit: dd65e6e0608c3390752750a0f19bca4409603db9
https://github.com/llvm/llvm-project/commit/dd65e6e0608c3390752750a0f19bca4409603db9
Author: Jan Patrick Lehr <JanPatrick.Lehr at amd.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A offload/cmake/caches/AMDGPULibcBot.cmake
Log Message:
-----------
[Offload][libc] Add cmake cache AMDGPU buildbot (#144500)
An upcoming libc4GPU buildbot will be using this CMake cache file for
its build configuration.
Commit: 9cb754509608b9d9143fa17f775631bbfcce0848
https://github.com/llvm/llvm-project/commit/9cb754509608b9d9143fa17f775631bbfcce0848
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/BareMetal.cpp
A clang/test/Driver/baremetal-undefined-symbols.c
R clang/test/Driver/riscv-args.c
Log Message:
-----------
[Driver] Add option to force undefined symbols during linking in BareMetal toolchain object. (#132807)
Add support for `-u` option to force defined symbols. This option is
supported by both lld and gnuld.
This is done as a part of the effort to merge RISCVToolchain object into
BareMetal toolchain object.
This is the 4th patch in the series of patches for merging
RISCVToolchain object into BareMetal toolchain object.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: 57828fec760f086b334ce0cb1c465fc559dcaea4
https://github.com/llvm/llvm-project/commit/57828fec760f086b334ce0cb1c465fc559dcaea4
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
Revert "[clang][bytecode] Allocate IntegralAP and Floating types using an allocator (#144246)"
This reverts commit c66be289901b3f035187d391e80e3610d7d6232e.
This breaks the armv8-quick builder:
https://lab.llvm.org/buildbot/#/builders/154/builds/17549
Commit: 667c7860ef5cc67a94c5233ff1be9c0e113ac514
https://github.com/llvm/llvm-project/commit/667c7860ef5cc67a94c5233ff1be9c0e113ac514
Author: Andy Kaylor <akaylor at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/test/CIR/CodeGen/string-literals.c
A clang/test/CIR/CodeGen/string-literals.cpp
Log Message:
-----------
[CIR] Handle global string literals as char array initializer (#144384)
This change adds the line of code needed to handle a string literal as
an initializer for a character array.
Commit: b1aa845595c4dc204dfbe0e48481572e936620fc
https://github.com/llvm/llvm-project/commit/b1aa845595c4dc204dfbe0e48481572e936620fc
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/include/fstream
Log Message:
-----------
[libc++][NFC] Consistently qualify calls to C functions in <fstream> (#144539)
Commit: 19658d14749876cf0b6633f210c923be3709323b
https://github.com/llvm/llvm-project/commit/19658d14749876cf0b6633f210c923be3709323b
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Target/CGPassBuilderOption.h
M llvm/include/llvm/Target/TargetLoweringObjectFile.h
M llvm/include/llvm/Target/TargetMachine.h
M llvm/include/llvm/Target/TargetOptions.h
M llvm/lib/Target/AArch64/AArch64AsmPrinter.cpp
M llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
M llvm/lib/Target/AArch64/TargetInfo/AArch64TargetInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUAsmPrinter.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AsmParser/AMDGPUAsmParser.cpp
M llvm/lib/Target/AMDGPU/Disassembler/AMDGPUDisassembler.cpp
M llvm/lib/Target/AMDGPU/MCA/AMDGPUCustomBehaviour.cpp
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUMCTargetDesc.cpp
M llvm/lib/Target/AMDGPU/TargetInfo/AMDGPUTargetInfo.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/AsmParser/ARMAsmParser.cpp
M llvm/lib/Target/ARM/Disassembler/ARMDisassembler.cpp
M llvm/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
M llvm/lib/Target/ARM/TargetInfo/ARMTargetInfo.cpp
M llvm/lib/Target/AVR/AVRAsmPrinter.cpp
M llvm/lib/Target/AVR/AVRTargetMachine.cpp
M llvm/lib/Target/AVR/AsmParser/AVRAsmParser.cpp
M llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
M llvm/lib/Target/AVR/MCTargetDesc/AVRMCTargetDesc.cpp
M llvm/lib/Target/AVR/TargetInfo/AVRTargetInfo.cpp
M llvm/lib/Target/BPF/AsmParser/BPFAsmParser.cpp
M llvm/lib/Target/BPF/BPFAsmPrinter.cpp
M llvm/lib/Target/BPF/BPFTargetMachine.cpp
M llvm/lib/Target/BPF/Disassembler/BPFDisassembler.cpp
M llvm/lib/Target/BPF/MCTargetDesc/BPFMCTargetDesc.cpp
M llvm/lib/Target/BPF/TargetInfo/BPFTargetInfo.cpp
M llvm/lib/Target/Hexagon/AsmParser/HexagonAsmParser.cpp
M llvm/lib/Target/Hexagon/Disassembler/HexagonDisassembler.cpp
M llvm/lib/Target/Hexagon/HexagonAsmPrinter.cpp
M llvm/lib/Target/Hexagon/HexagonTargetMachine.cpp
M llvm/lib/Target/Hexagon/MCTargetDesc/HexagonMCTargetDesc.cpp
M llvm/lib/Target/Hexagon/TargetInfo/HexagonTargetInfo.cpp
M llvm/lib/Target/Lanai/AsmParser/LanaiAsmParser.cpp
M llvm/lib/Target/Lanai/Disassembler/LanaiDisassembler.cpp
M llvm/lib/Target/Lanai/LanaiAsmPrinter.cpp
M llvm/lib/Target/Lanai/LanaiTargetMachine.cpp
M llvm/lib/Target/Lanai/MCTargetDesc/LanaiMCTargetDesc.cpp
M llvm/lib/Target/Lanai/TargetInfo/LanaiTargetInfo.cpp
M llvm/lib/Target/LoongArch/AsmParser/LoongArchAsmParser.cpp
M llvm/lib/Target/LoongArch/Disassembler/LoongArchDisassembler.cpp
M llvm/lib/Target/LoongArch/LoongArchAsmPrinter.cpp
M llvm/lib/Target/LoongArch/LoongArchTargetMachine.cpp
M llvm/lib/Target/LoongArch/MCTargetDesc/LoongArchMCTargetDesc.cpp
M llvm/lib/Target/LoongArch/TargetInfo/LoongArchTargetInfo.cpp
M llvm/lib/Target/MSP430/AsmParser/MSP430AsmParser.cpp
M llvm/lib/Target/MSP430/Disassembler/MSP430Disassembler.cpp
M llvm/lib/Target/MSP430/MCTargetDesc/MSP430MCTargetDesc.cpp
M llvm/lib/Target/MSP430/MSP430AsmPrinter.cpp
M llvm/lib/Target/MSP430/MSP430TargetMachine.cpp
M llvm/lib/Target/MSP430/TargetInfo/MSP430TargetInfo.cpp
M llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
M llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
M llvm/lib/Target/Mips/MCTargetDesc/MipsMCTargetDesc.cpp
M llvm/lib/Target/Mips/MipsAsmPrinter.cpp
M llvm/lib/Target/Mips/MipsTargetMachine.cpp
M llvm/lib/Target/Mips/TargetInfo/MipsTargetInfo.cpp
M llvm/lib/Target/NVPTX/MCTargetDesc/NVPTXMCTargetDesc.cpp
M llvm/lib/Target/NVPTX/NVPTXAsmPrinter.cpp
M llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
M llvm/lib/Target/NVPTX/TargetInfo/NVPTXTargetInfo.cpp
M llvm/lib/Target/PowerPC/AsmParser/PPCAsmParser.cpp
M llvm/lib/Target/PowerPC/Disassembler/PPCDisassembler.cpp
M llvm/lib/Target/PowerPC/MCTargetDesc/PPCMCTargetDesc.cpp
M llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp
M llvm/lib/Target/PowerPC/PPCTargetMachine.cpp
M llvm/lib/Target/PowerPC/TargetInfo/PowerPCTargetInfo.cpp
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/RISCVMCTargetDesc.cpp
M llvm/lib/Target/RISCV/RISCVAsmPrinter.cpp
M llvm/lib/Target/RISCV/RISCVTargetMachine.cpp
M llvm/lib/Target/RISCV/TargetInfo/RISCVTargetInfo.cpp
M llvm/lib/Target/SPIRV/MCTargetDesc/SPIRVMCTargetDesc.cpp
M llvm/lib/Target/SPIRV/SPIRVAsmPrinter.cpp
M llvm/lib/Target/SPIRV/SPIRVTargetMachine.cpp
M llvm/lib/Target/SPIRV/TargetInfo/SPIRVTargetInfo.cpp
M llvm/lib/Target/Sparc/AsmParser/SparcAsmParser.cpp
M llvm/lib/Target/Sparc/Disassembler/SparcDisassembler.cpp
M llvm/lib/Target/Sparc/MCTargetDesc/SparcMCTargetDesc.cpp
M llvm/lib/Target/Sparc/SparcAsmPrinter.cpp
M llvm/lib/Target/Sparc/SparcTargetMachine.cpp
M llvm/lib/Target/Sparc/TargetInfo/SparcTargetInfo.cpp
M llvm/lib/Target/SystemZ/AsmParser/SystemZAsmParser.cpp
M llvm/lib/Target/SystemZ/Disassembler/SystemZDisassembler.cpp
M llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCTargetDesc.cpp
M llvm/lib/Target/SystemZ/SystemZAsmPrinter.cpp
M llvm/lib/Target/SystemZ/SystemZTargetMachine.cpp
M llvm/lib/Target/SystemZ/TargetInfo/SystemZTargetInfo.cpp
M llvm/lib/Target/VE/AsmParser/VEAsmParser.cpp
M llvm/lib/Target/VE/Disassembler/VEDisassembler.cpp
M llvm/lib/Target/VE/MCTargetDesc/VEMCTargetDesc.cpp
M llvm/lib/Target/VE/TargetInfo/VETargetInfo.cpp
M llvm/lib/Target/VE/VEAsmPrinter.cpp
M llvm/lib/Target/VE/VETargetMachine.cpp
M llvm/lib/Target/WebAssembly/AsmParser/WebAssemblyAsmParser.cpp
M llvm/lib/Target/WebAssembly/Disassembler/WebAssemblyDisassembler.cpp
M llvm/lib/Target/WebAssembly/MCTargetDesc/WebAssemblyMCTargetDesc.cpp
M llvm/lib/Target/WebAssembly/TargetInfo/WebAssemblyTargetInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyAsmPrinter.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetMachine.cpp
M llvm/lib/Target/XCore/Disassembler/XCoreDisassembler.cpp
M llvm/lib/Target/XCore/MCTargetDesc/XCoreMCTargetDesc.cpp
M llvm/lib/Target/XCore/TargetInfo/XCoreTargetInfo.cpp
M llvm/lib/Target/XCore/XCoreAsmPrinter.cpp
M llvm/lib/Target/XCore/XCoreTargetMachine.cpp
M llvm/unittests/Target/AArch64/CMakeLists.txt
M llvm/unittests/Target/LoongArch/CMakeLists.txt
M llvm/unittests/Target/RISCV/CMakeLists.txt
M llvm/unittests/Target/SPIRV/CMakeLists.txt
M llvm/unittests/Target/VE/CMakeLists.txt
M llvm/unittests/Target/WebAssembly/CMakeLists.txt
Log Message:
-----------
[llvm] annotate interfaces in llvm/Target for DLL export (#143615)
## Purpose
This patch is one in a series of code-mods that annotate LLVM’s public
interface for export. This patch annotates the `llvm/Target` library.
These annotations currently have no meaningful impact on the LLVM build;
however, they are a prerequisite to support an LLVM Windows DLL (shared
library) build.
## Background
This effort is tracked in #109483. Additional context is provided in
[this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
A sub-set of these changes were generated automatically using the
[Interface Definition Scanner (IDS)](https://github.com/compnerd/ids)
tool, followed formatting with `git clang-format`.
The bulk of this change is manual additions of `LLVM_ABI` to
`LLVMInitializeX` functions defined in .cpp files under llvm/lib/Target.
Adding `LLVM_ABI` to the function implementation is required here
because they do not `#include "llvm/Support/TargetSelect.h"`, which
contains the declarations for this functions and was already updated
with `LLVM_ABI` in a previous patch. I considered patching these files
with `#include "llvm/Support/TargetSelect.h"` instead, but since
TargetSelect.h is a large file with a bunch of preprocessor x-macro
stuff in it I was concerned it would unnecessarily impact compile times.
In addition, a number of unit tests under llvm/unittests/Target required
additional dependencies to make them build correctly against the LLVM
DLL on Windows using MSVC.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 7b7b5a397da1ecb9f767df5a3a3b6076cec109f9
https://github.com/llvm/llvm-project/commit/7b7b5a397da1ecb9f767df5a3a3b6076cec109f9
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
Log Message:
-----------
[AMDGPU] Remove AsmVOP3OpSel field completely. NFCI. (#144574)
Commit: 8dcf4ba6359578c4d944b75b3f96a1fbd4fb9528
https://github.com/llvm/llvm-project/commit/8dcf4ba6359578c4d944b75b3f96a1fbd4fb9528
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
Log Message:
-----------
[AMDGPU] Fix getAsmVOP3Base call agruments. (#144572)
https://github.com/llvm/llvm-project/pull/143465 has removed
getAsmVOP3OpSel and uses getAsmVOP3Base instead, but original
call to getAsmVOP3OpSel was using HasSrc*FloatMods and the
call to getAsmVOP3Base uses HasSrc*Mods. This does not play
well with opsel. An opsel instruction has modifiers in dag but
shall not have them in the asm string.
Commit: 73f307a5ca308d356c557734765742c26bf7ed03
https://github.com/llvm/llvm-project/commit/73f307a5ca308d356c557734765742c26bf7ed03
Author: Ashley Coleman <ascoleman at microsoft.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaHLSL.cpp
M clang/test/CodeGenHLSL/builtins/firstbithigh.hlsl
M clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
Log Message:
-----------
[HLSL] Use ExtVector for firstbit intrinsics (#142679)
Fixes https://github.com/llvm/llvm-project/issues/142430
firstbit intrinsics were using the wrong vector type which causes some
conversions to fail. This PR switches them to ExtVector which resolves
the issue
Commit: a79186c1ea62bbe0579e0b1eed4ad507966cca41
https://github.com/llvm/llvm-project/commit/a79186c1ea62bbe0579e0b1eed4ad507966cca41
Author: Sam Elliott <quic_aelliott at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain.c
Log Message:
-----------
[Driver] Fix Arm/AArch64 Link Argument tests (#144582)
The openmp-offload-amdgpu-runtime-2 bot specifies default rtlib of
compiler-rt, but default unwindlib of libgcc. Change the tests to accept
that there may be `"--as-needed" "-lgcc_s" "--no-as-needed"` between
`libclang_rt.builtins.a` and `-lc`.
Relates to #121830
Commit: 7c4b2be983e900663a8d766ea9dc6f03b713e5b0
https://github.com/llvm/llvm-project/commit/7c4b2be983e900663a8d766ea9dc6f03b713e5b0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/include/streambuf
Log Message:
-----------
[libc++][NFC] Refactor basic_streambuf to use public API functions when possible (#144547)
The implementation of std::basic_streambuf used private member variables
to manipulate the get and the put areas. Using public API functions is
equivalent but leads to code that is easier to understand, since the
public API functions are known more widely than our internal member
variables. Using the public API functions removes the need to map the
internal member variables back to get/put area manipulation functions in
one's head.
Finally, it also makes it easier to find subtle issues by instrumenting
accessor functions, which is impossible if the class uses the member
variables directly.
Commit: 9ae4d2e01331ddeb2543f1940a09ef9c76ff5268
https://github.com/llvm/llvm-project/commit/9ae4d2e01331ddeb2543f1940a09ef9c76ff5268
Author: Sirraide <aeternalmail at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Support/Unix/Process.inc
Log Message:
-----------
[LLVM] [Support] Disable `ioctl()` terminal size check on Solaris (#144600)
#143514 broke the `clang-solaris11-sparcv9` bot; from what I can tell
that’s Solaris and according to `SolarisTargetInfo::getOSDefines`, the
macro `__sun__` should be defined on Solaris, so check for that and
don’t try to query the terminal size if it is defined.
Not sure this is the best solution but hopefully it fixes the bot.
Commit: c677a11c8d3223480cfe772e63fa0e7c09c76e2e
https://github.com/llvm/llvm-project/commit/c677a11c8d3223480cfe772e63fa0e7c09c76e2e
Author: David Peixotto <peix at meta.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/PluginManager.h
M lldb/source/Core/PluginManager.cpp
A lldb/test/API/commands/plugin/TestPlugin.py
M lldb/test/Shell/Commands/command-plugin-list.test
Log Message:
-----------
[lldb] Add support to list/enable/disable remaining plugin types. (#143970)
In #134418 we added support to list/enable/disable `SystemRuntime` and
`InstrumentationRuntime` plugins. We limited it to those two plugin
types to flesh out the idea with a smaller change.
This PR adds support for the remaining plugin types. We now support all
the plugins that can be registered directly with the plugin manager.
Plugins that are added by loading shared objects are still not
supported.
Commit: 908f74a25e01cc88d1dee1af5521d8fb1c21bc51
https://github.com/llvm/llvm-project/commit/908f74a25e01cc88d1dee1af5521d8fb1c21bc51
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Target/TargetMachine.h
Log Message:
-----------
[llvm] re-order LLVM_ABI and extern on NoKernelInfoEndLTO decl (#144601)
## Overview
Fix compilation error introduced by #143615. Build failure logs
available
[here](https://lab.llvm.org/buildbot/#/builders/195/builds/10573)
## Background
On `extern` variable declarations, `LLVM_ABI` must appear before
`extern` because `LLVM_ABI` currently resolves to
`[[gnu::visibility("default")]]` when building with gcc.
Commit: 49bf8d38d80ce43bd700f27833a7b8c8e7082af8
https://github.com/llvm/llvm-project/commit/49bf8d38d80ce43bd700f27833a7b8c8e7082af8
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/Config/BUILD.gn
Log Message:
-----------
[gn build] Manually port b4e39e4f
Commit: 8d1610afd0db877460d1b3cd43cc4066478846a0
https://github.com/llvm/llvm-project/commit/8d1610afd0db877460d1b3cd43cc4066478846a0
Author: Louis Dionne <ldionne.2 at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp
Log Message:
-----------
[libc++] Mark two assertion tests as unsupported in C++03 mode
Our assertion checking facility requires at least C++11, so these
tests were failing when run in C++03 mode.
Commit: 3c7df98c7b2a203e49a74b229bbf535c2ef6274b
https://github.com/llvm/llvm-project/commit/3c7df98c7b2a203e49a74b229bbf535c2ef6274b
Author: Piotr Idzik <65706193+vil02 at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang-tools-extra/docs/clang-tidy/checks/performance/enum-size.rst
Log Message:
-----------
[clang-tidy] Add missing colon in the docs of performance-enum-size (#144525)
There is a syntax error in the provided code example - this PR fixes it.
I did a quick search - I could not find similar _typos_.
Commit: ecfb8fe5c1870091b095ae6ca1ad4cfc7158e619
https://github.com/llvm/llvm-project/commit/ecfb8fe5c1870091b095ae6ca1ad4cfc7158e619
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/Toolchain.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
R clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
R clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
R clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
R clang/test/Driver/aarch64-gnutools.c
R clang/test/Driver/aarch64-toolchain-extra.c
R clang/test/Driver/aarch64-toolchain.c
R clang/test/Driver/arm-gnutools.c
R clang/test/Driver/arm-toolchain-extra.c
R clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal-multilib.yaml
M clang/test/Driver/baremetal-sysroot.cpp
R clang/test/Driver/baremetal-undefined-symbols.c
M clang/test/Driver/baremetal.cpp
R clang/test/Driver/check-no-multlib-warning.c
A clang/test/Driver/riscv-args.c
M clang/test/Driver/sanitizer-ld.c
Log Message:
-----------
Revert stack "[Driver] Add support for GCC installation detection in … (#144603)
…Baremetal toolchain (#121829)"
This reverts the following stack of commits, due to them breaking the
Fuchsia toolchain and corresponding LLVM buildbot.
Revert "[Driver] Fix Arm/AArch64 Link Argument tests (#144582)" This
reverts commit a79186c1ea62bbe0579e0b1eed4ad507966cca41.
Revert "[Driver] Add option to force undefined symbols during linking in
BareMetal toolchain object. (#132807)" This reverts commit
9cb754509608b9d9143fa17f775631bbfcce0848.
Revert "[Driver] Fix link order of BareMetal toolchain object (#132806)"
This reverts commit 31523de4b000ca254259ae3167d28922e1302648.
Revert "[Driver] Add support for crtbegin.o, crtend.o and libgloss lib
to BareMetal toolchain object (#121830)" This reverts commit
ec230aa7a7d13c222c0b34b87c3c16937383b4a0.
Revert "[Driver] Add support for GCC installation detection in Baremetal
toolchain (#121829)" This reverts commit
eb31c422d0dc816bf285a81bf92690d4d16273ed.
Commit: a5a0d880736f5dc6a566374bc3b3ca0d86901510
https://github.com/llvm/llvm-project/commit/a5a0d880736f5dc6a566374bc3b3ca0d86901510
Author: Sam Clegg <sbc at chromium.org>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/include/__assert
M libcxx/src/verbose_abort.cpp
M libcxx/test/support/check_assertion.h
Log Message:
-----------
[libc++] Remove trailing newline from _LIBCPP_ASSERTION_HANDLER calls (#143573)
This newline was originally added in https://reviews.llvm.org/D142184
but I think updating `__libcpp_verbose_abort` to add newline instead is
more consistent, and works for other callers of `_LIBCPP_VERBOSE_ABORT`.
The `_LIBCPP_ASSERTION_HANDLER` calls through to either
`_LIBCPP_VERBOSE_ABORT` macro or the `__builtin_verbose_trap`. From what
I can tell neither of these function expect a trailing newline (at least
none of the usage of `_LIBCPP_VERBOSE_ABORT` or `__builtin_verbose_trap`
that I can find include a trailing newline except `_LIBCPP_ASSERTION_HANDLER`).
I noticed this discrepancy when working on
https://github.com/emscripten-core/emscripten/pull/24543
Commit: 844e41c2acedd5219d9363e38838abd5146f63c0
https://github.com/llvm/llvm-project/commit/844e41c2acedd5219d9363e38838abd5146f63c0
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libc/src/__support/wchar/character_converter.cpp
Log Message:
-----------
[libc] Moved shared constexpr to the top (#144569)
Some conversions shared constexpr so moved to the top.
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: 6fb36db4818abde56e5da47899dcdaacd8293903
https://github.com/llvm/llvm-project/commit/6fb36db4818abde56e5da47899dcdaacd8293903
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
Log Message:
-----------
[LinkerWrapper] Fix 'save-temps' when targeting SPIR-V (#144605)
Summary:
The logic here is flawed, it was only intended to apply to the CPU case
where we use the linker passed in on the command line. This was falsely
applying to SPIR-V which caused issues.
Commit: 362b9d78b4ee9107da2b5e90b3764b0f0fa610fe
https://github.com/llvm/llvm-project/commit/362b9d78b4ee9107da2b5e90b3764b0f0fa610fe
Author: John Harrison <harjohn at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
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/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
Log Message:
-----------
[lldb-dap] Refactoring DebugCommunication to improve test consistency. (#143818)
In DebugCommunication, we currently are using 2 thread to drive
lldb-dap. At the moment, they make an attempt at only synchronizing the
`recv_packets` between the reader thread and the main test thread. Other
stateful properties of the debug session are not guarded by a
locks/mutex.
To mitigate this, I am moving any state updates to the main thread
inside the `_recv_packet` method to ensure that between calls to
`_recv_packet` the state does not change out from under us in a test.
This does mean the precise timing of events has changed slightly as a
result and I've updated the existing tests that fail for me locally with
this new behavior.
I think this should result in overall more predictable behavior, even if
the test is slow due to the host workload or architecture differences.
---------
Co-authored-by: Ebuka Ezike <yerimyah1 at gmail.com>
Commit: 3f33c8482fc0b8dd0d2596262ebd0ed73d41665d
https://github.com/llvm/llvm-project/commit/3f33c8482fc0b8dd0d2596262ebd0ed73d41665d
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
Log Message:
-----------
[clang] Add release note for int->enum conversion change. (#144407)
This seems to be having some practical impact, so we should let people
know.
Commit: f25f2f7de4f8264d89ba3c4dc9daddb10a90c13f
https://github.com/llvm/llvm-project/commit/f25f2f7de4f8264d89ba3c4dc9daddb10a90c13f
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUUnroll.cpp
M mlir/test/Dialect/XeGPU/xegpu-unroll-patterns.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XeGPU] Extend unrolling support for scatter ops with chunk_size (#144447)
Add support for load/store with chunk_size, which requires special
consideration for the operand blocking since offests and masks are
n-D and tensor are n+1-D. Support operations including create_tdesc,
update_tdesc, load, store, and prefetch.
---------
Co-authored-by: Adam Siemieniuk <adam.siemieniuk at intel.com>
Commit: fd7e46b864229a270726bd1026387740b9113094
https://github.com/llvm/llvm-project/commit/fd7e46b864229a270726bd1026387740b9113094
Author: Daniel Thornburgh <dthorn at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M libcxx/include/__assert
M libcxx/src/verbose_abort.cpp
M libcxx/test/support/check_assertion.h
Log Message:
-----------
Revert "[libc++] Remove trailing newline from _LIBCPP_ASSERTION_HANDLER calls" (#144615)
Reverts llvm/llvm-project#143573
Commit: 1cd18bc894b97b282677c1d140688a27ebbec924
https://github.com/llvm/llvm-project/commit/1cd18bc894b97b282677c1d140688a27ebbec924
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
A llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
Log Message:
-----------
AMDGPU: Add cost model tests for minimumnum/maximumnum (#141904)
The f16 cases in particular look broken since every vector size
has the same reported cost.
Commit: 87b13ada109643bbf5495727b0bf59a46bd533aa
https://github.com/llvm/llvm-project/commit/87b13ada109643bbf5495727b0bf59a46bd533aa
Author: Finn Plummer <finn.c.plum at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/include/llvm/Frontend/HLSL/HLSLRootSignatureUtils.h
M llvm/lib/Frontend/HLSL/HLSLRootSignatureUtils.cpp
M llvm/unittests/Frontend/HLSLRootSignatureDumpTest.cpp
Log Message:
-----------
[HLSL][RootSignature] Implement serialization of remaining Root Elements (#143198)
Implements serialization of the remaining `RootElement`s, namely
`RootDescriptor`s and `StaticSampler`s.
- Adds unit testing for the serialization methods
Resolves https://github.com/llvm/llvm-project/issues/138191
Resolves https://github.com/llvm/llvm-project/issues/138193
Commit: cb63b75e32a415c9bfc298ed7fdcd67e8d9de54c
https://github.com/llvm/llvm-project/commit/cb63b75e32a415c9bfc298ed7fdcd67e8d9de54c
Author: John Harrison <harjohn at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
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/test/API/tools/lldb-dap/breakpoint/TestDAP_setBreakpoints.py
M lldb/test/API/tools/lldb-dap/cancel/TestDAP_cancel.py
M lldb/test/API/tools/lldb-dap/launch/TestDAP_launch.py
M lldb/test/API/tools/lldb-dap/module/TestDAP_module.py
M lldb/test/API/tools/lldb-dap/output/TestDAP_output.py
Log Message:
-----------
Revert "[lldb-dap] Refactoring DebugCommunication to improve test consistency. (#143818)
This reverts commit 362b9d78b4ee9107da2b5e90b3764b0f0fa610fe.
Buildbots using python3.10 are running into errors from this change.
Commit: c9b28163888574bcfba0171372ae0dcfb40abbfa
https://github.com/llvm/llvm-project/commit/c9b28163888574bcfba0171372ae0dcfb40abbfa
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/canonicalize.ll
M llvm/test/Analysis/CostModel/AMDGPU/copysign.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
Log Message:
-----------
AMDGPU: Fix cost model for 16-bit operations on gfx8 (#141943)
We should only divide the number of pieces to fit the packed instructions
if we actually have pk instructions. This increases the cost of copysign,
but is closer to the current codegen output. It could be much cheaper
than it is now.
Commit: 3800a83160a42f32947b82700e454cc07c600734
https://github.com/llvm/llvm-project/commit/3800a83160a42f32947b82700e454cc07c600734
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/copysign.ll
Log Message:
-----------
AMDGPU: Reduce cost of f64 copysign (#141944)
The real implementation is 1 real instruction plus a constant
materialize. Call that a 1, it's not a real f64 operation.
Commit: bec9ac2dafe1c9fca975721e9951c5f7f6b1b559
https://github.com/llvm/llvm-project/commit/bec9ac2dafe1c9fca975721e9951c5f7f6b1b559
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/FunctionSpecialization.cpp
Log Message:
-----------
[llvm] Lower latency bonus threshold in function specialization. (#143954)
Related to #143219.
Function specialization does not kick in if flang sets `noalias`
attributes on the function arguments of `digits_2`, because PRE
optimizes several `srem` instructions and other memory accesses
from the inner loops causing the latency bonus to be lower than
the current 40% threshold.
While looking at this, I did not really get why we compute the latency
bonus as a ratio of the latency of the "eliminated" instructions
and the code-size of the whole function. It did not make much sense
to me.
I tried computing the total latency as a sum of latencies
of the instructions that belong to non-dead code (including
the instructions that would be executed had they not been
"eliminated" due to the constant propagation). This total
latency should identify the total cost of executing the function
with the given argument being dynamically equal to the tried
constant value. Then the latency bonus would be computed
as the ratio between the latency of the "eliminated" instructions
and the total latency. Unfortunately, this did not given me a good
heuristics either. The bonus was close to 0% on some targets,
and as big as 3-5% on other targets. This does match very well
with the performance gain achieved by function specialization
for exchange2, so it seemd like another artificial heuristic
not better than the current one.
It seems that GCC uses a set of different heuristics for function
specialization, but I am not an expert here and I cannot say
if we can match them in LLVM.
With all that said, I decided to try to lower the threshold
to avoid the regression and be able to re-enable the generally
good change for `noalias` attribute.
With this patch, I was able to reduce the effect of `noalias`,
so that `-force-no-alias=true` is only ~10% slower than
`-force-no-alias=false` code on neoverse-v1 and neoverse-v2.
On neoverse-n1, `-force-no-alias=true` is >2x faster than
`-force-no-alias=false` regardless of this patch.
This threshold has been changed before also due to improved
alias information:
https://github.com/llvm/llvm-project/commit/2fb51fba8ca904a6d3ddf30ae94228ecf9e6a231#diff-066363256b7b4164e66b28a3028b2cb9e405c9136241baa33db76ebd2edb87cd
Please let me know what testing I should run to make sure this change
is safe. As I understand, it may affect the compilation time
performance,
and I will appreciate it if someone points out which benchmarks
need to be checked before merging this.
Commit: af65cb68f553759eac307edda87ff7d8b5fdffa9
https://github.com/llvm/llvm-project/commit/af65cb68f553759eac307edda87ff7d8b5fdffa9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
Log Message:
-----------
AMDGPU: Move fpenvIEEEMode into TTI (#141945)
Commit: 70343c8d44273c187e3f7fa5e2037fbc41307077
https://github.com/llvm/llvm-project/commit/70343c8d44273c187e3f7fa5e2037fbc41307077
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
A flang/test/Fir/cfg-conversion-if.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
M mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMInterfaces.td
M mlir/include/mlir/Dialect/LLVMIR/LLVMOps.td
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.h
M mlir/include/mlir/Interfaces/ControlFlowInterfaces.td
M mlir/include/mlir/Target/LLVMIR/ModuleTranslation.h
M mlir/lib/Conversion/ControlFlowToLLVM/ControlFlowToLLVM.cpp
M mlir/lib/Dialect/LLVMIR/IR/LLVMDialect.cpp
M mlir/lib/Interfaces/ControlFlowInterfaces.cpp
M mlir/lib/Target/LLVMIR/Dialect/LLVMIR/LLVMIRToLLVMTranslation.cpp
M mlir/lib/Target/LLVMIR/ModuleTranslation.cpp
M mlir/test/Conversion/ControlFlowToLLVM/branch.mlir
M mlir/test/Dialect/ControlFlow/invalid.mlir
M mlir/test/Dialect/ControlFlow/ops.mlir
M mlir/test/Target/LLVMIR/Import/metadata-profiling.ll
M mlir/test/Target/LLVMIR/llvmir-invalid.mlir
M mlir/test/Target/LLVMIR/llvmir.mlir
Log Message:
-----------
[mlir][flang] Added Weighted[Region]BranchOpInterface's. (#142079)
The new interfaces provide getters and setters for the weight
information about the branches of BranchOpInterface and
RegionBranchOpInterface operations.
These interfaces are done the same way as LLVM dialect's
BranchWeightOpInterface.
The plan is to produce this information in Flang, e.g. mark
most probably "cold" code as such and allow LLVM to order
basic blocks accordingly. An example of such a code is
copy loops generated for arrays repacking - we can mark it
as "cold" assuming that the copy will not happen dynamically.
If the copy actually happens the overhead of the copy is probably high
enough so that we may not care about the little overhead
of jumping to the "cold" code and fetching it.
Commit: 54015f36c682aab9024a21a93957312a69c5bc9b
https://github.com/llvm/llvm-project/commit/54015f36c682aab9024a21a93957312a69c5bc9b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/maximumnum.ll
M llvm/test/Analysis/CostModel/AMDGPU/minimumnum.ll
M llvm/test/Transforms/SLPVectorizer/AMDGPU/slp-v2f16.ll
Log Message:
-----------
AMDGPU: Cost model for minimumnum/maximumnum (#141946)
Commit: f08474ab1fa984560565e917453a42bc8562a6f9
https://github.com/llvm/llvm-project/commit/f08474ab1fa984560565e917453a42bc8562a6f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A llvm/test/Analysis/CostModel/AMDGPU/special-argument-intrinsics.ll
Log Message:
-----------
AMDGPU: Add baseline cost model tests for special argument intrinsics (#141947)
Commit: f3af1cd08cd456214961af915c17f858c9eef1a5
https://github.com/llvm/llvm-project/commit/f3af1cd08cd456214961af915c17f858c9eef1a5
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/get_vector_length.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-load-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/legalize-store-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/stepvector.ll
M llvm/test/CodeGen/RISCV/rvv/vandn-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.ll
M llvm/test/CodeGen/RISCV/rvv/vreductions-fp-sdnode.ll
Log Message:
-----------
[RISCV] Set the exact flag on the SRL created for converting vscale to a read of vlenb. (#144571)
We know that vlenb is a multiple of RVVBytesPerBlock so we aren't
shifting out any non-zero bits.
Commit: a9811340b75baae8e06fb9ab83015a90d61510ee
https://github.com/llvm/llvm-project/commit/a9811340b75baae8e06fb9ab83015a90d61510ee
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/test/Analysis/CostModel/AMDGPU/special-argument-intrinsics.ll
Log Message:
-----------
AMDGPU: Report special input intrinsics as free (#141948)
Commit: 628274dadf92995f4544d6134cba45d327d9eaaa
https://github.com/llvm/llvm-project/commit/628274dadf92995f4544d6134cba45d327d9eaaa
Author: Sterling-Augustine <56981066+Sterling-Augustine at users.noreply.github.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
A llvm/include/llvm/DebugInfo/DWARF/DWARFCFIPrinter.h
M llvm/include/llvm/DebugInfo/DWARF/DWARFCFIProgram.h
M llvm/lib/DebugInfo/DWARF/CMakeLists.txt
A llvm/lib/DebugInfo/DWARF/DWARFCFIPrinter.cpp
M llvm/lib/DebugInfo/DWARF/DWARFCFIProgram.cpp
M llvm/lib/DebugInfo/DWARF/DWARFDebugFrame.cpp
M llvm/tools/llvm-readobj/DwarfCFIEHPrinter.h
Log Message:
-----------
[NFC] Extract Printing portions of DWARFCFIProgram to new files (#143762)
CFIPrograms' most common uses are within debug frames, but it is not
their only use. For example, some assembly writers encode them by hand
into .cfi_escape directives. This PR extracts printing code for them
into its own files, which avoids the need for the main class to depend
on DWARFUnit, sections, and similar.
One in a series of NFC DebugInfo/DWARF refactoring changes to layer it
more cleanly, so that binary CFI parsing can be used from low-level
code, (such as byte strings created via .cfi_escape) without circular
dependencies. The final goal is to make a more limited dwarf library
usable from lower-level code.
More information can be found at
https://discourse.llvm.org/t/rfc-debuginfo-dwarf-refactor-into-to-lower-and-higher-level-libraries/86665
Commit: a871b919ed135b3b50db58ed816d6ddb488d9c5e
https://github.com/llvm/llvm-project/commit/a871b919ed135b3b50db58ed816d6ddb488d9c5e
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/unittests/Frontend/BUILD.gn
Log Message:
-----------
[gn build] Port 9e0186d925f0
Commit: 535291409cc7e4ae571318a38bd3617d7f608002
https://github.com/llvm/llvm-project/commit/535291409cc7e4ae571318a38bd3617d7f608002
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/Target/Mips/MCTargetDesc/BUILD.gn
Log Message:
-----------
[gn build] Port 9ec75a50bc48
Commit: 6652961ae5fee4d81871e4310a9e842c61136c10
https://github.com/llvm/llvm-project/commit/6652961ae5fee4d81871e4310a9e842c61136c10
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/lldb/test/BUILD.gn
Log Message:
-----------
[gn build] Manually port 556e69b7
Commit: b164d3613ad9b86a8b951cfc43fadc0edfc7644e
https://github.com/llvm/llvm-project/commit/b164d3613ad9b86a8b951cfc43fadc0edfc7644e
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/lib/DebugInfo/DWARF/BUILD.gn
Log Message:
-----------
[gn build] Port 628274dadf92
Commit: f2d2c99866dfd133e7b9c98b1d4983c6bce33d67
https://github.com/llvm/llvm-project/commit/f2d2c99866dfd133e7b9c98b1d4983c6bce33d67
Author: Eli Friedman <efriedma at quicinc.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaDecl.cpp
M clang/test/SemaCXX/builtin-is-constant-evaluated.cpp
M clang/test/SemaCXX/class.cpp
M clang/test/SemaCXX/cxx0x-class.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaTemplate/instantiate-static-var.cpp
Log Message:
-----------
[clang] Remove separate evaluation step for static class member init. (#142713)
We already evaluate the initializers for all global variables, as
required by the standard. Leverage that evaluation instead of trying to
separately validate static class members.
This has a few benefits:
- Improved diagnostics; we now get notes explaining what failed to
evaluate.
- Improved correctness: is_constant_evaluated is handled correctly.
The behavior follows the proposed resolution for CWG1721.
Fixes #88462. Fixes #99680.
Commit: c21a4c6c43bb6d68dfe52e07a5a391a6167eedf9
https://github.com/llvm/llvm-project/commit/c21a4c6c43bb6d68dfe52e07a5a391a6167eedf9
Author: Andrei Safronov <andrei.safronov at espressif.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/Xtensa/AsmParser/XtensaAsmParser.cpp
M llvm/lib/Target/Xtensa/Disassembler/XtensaDisassembler.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.cpp
M llvm/lib/Target/Xtensa/MCTargetDesc/XtensaMCTargetDesc.h
M llvm/lib/Target/Xtensa/XtensaFeatures.td
M llvm/lib/Target/Xtensa/XtensaInstrInfo.td
M llvm/lib/Target/Xtensa/XtensaRegisterInfo.td
M llvm/lib/Target/Xtensa/XtensaSubtarget.h
A llvm/test/MC/Disassembler/Xtensa/coprocessor.txt
A llvm/test/MC/Disassembler/Xtensa/debug.txt
A llvm/test/MC/Disassembler/Xtensa/exception.txt
A llvm/test/MC/Disassembler/Xtensa/highinterrupts.txt
A llvm/test/MC/Disassembler/Xtensa/interrupt.txt
A llvm/test/MC/Disassembler/Xtensa/prid.txt
A llvm/test/MC/Disassembler/Xtensa/timer.txt
M llvm/test/MC/Xtensa/Core/processor-control.s
A llvm/test/MC/Xtensa/coprocessor.s
A llvm/test/MC/Xtensa/debug-invalid.s
A llvm/test/MC/Xtensa/debug.s
A llvm/test/MC/Xtensa/exception.s
A llvm/test/MC/Xtensa/highinterrupts.s
A llvm/test/MC/Xtensa/interrupt.s
A llvm/test/MC/Xtensa/prid.s
A llvm/test/MC/Xtensa/timer.s
Log Message:
-----------
[Xtensa] Implement Xtensa Interrupt/Exception/Debug Options. (#143820)
Implement Xtensa Interrupt. HighInterrupts, Exception, Debug Options.
Also implement small Xtensa Options like PRID, Coprocessor and Timers.
Commit: 15482c83aa2b05779d7ad947c34835656ab9da1c
https://github.com/llvm/llvm-project/commit/15482c83aa2b05779d7ad947c34835656ab9da1c
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/ElimAvailExtern.cpp
A llvm/test/Transforms/EliminateAvailableExternally/convert-global-variables-to-local.ll
Log Message:
-----------
[ElimAvailExtern] Add an option to allow to convert global variables in a specified address space to local (#144287)
Currently, the `EliminateAvailableExternallyPass` only converts certain
available externally functions to local if `avail-extern-to-local` is
set or in
contextual profiling mode. For global variables, it only drops their
initializers.
This PR adds an option to allow the pass to convert global variables in
a
specified address space to local. The motivation for this change is to
correctly
support lowering of LDS variables (`__shared__` variables, in more
generic
terminology) when ThinLTO is enabled for AMDGPU.
A `__shared__` variable is lowered to a hidden global variable in a
particular
address space by the frontend, which is roughly same as a `static` local
variable. To properly lower it in the backend, the compiler needs to
check all
its uses. Enabling ThinLTO currently breaks this when a function
containing a
`__shared__` variable is imported from another module. Even though the
global
variable is imported along with its associated function, and the
function is
privatized by the `EliminateAvailableExternallyPass`, the global
variable itself
is not.
It's safe to privatize such global variables, because they're _local_ to
their
associated functions. If the function itself is privatized, its
associated
global variables should also be privatized accordingly.
Commit: 64155a32297f4884875783664ff13bec9ab376f5
https://github.com/llvm/llvm-project/commit/64155a32297f4884875783664ff13bec9ab376f5
Author: Minding <77574923+Minding000 at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm-c/ExecutionEngine.h
Log Message:
-----------
Added clarifying comment to 'LLVMLinkInMCJIT' and 'LLVMLinkInInterpreter' (#92467)
Clarify that these functions are no-ops when linking to LLVM as a shared object.
Commit: abbdd1670d8b12dd72ec353b14e256619ff4694b
https://github.com/llvm/llvm-project/commit/abbdd1670d8b12dd72ec353b14e256619ff4694b
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M llvm/include/llvm/BinaryFormat/Dwarf.h
M llvm/include/llvm/Object/ELF.h
M llvm/lib/BinaryFormat/Dwarf.cpp
Log Message:
-----------
[llvm] minor fixes for clang-cl Windows DLL build (#144386)
## Purpose
This patch makes a minor changes to LLVM and Clang so that LLVM can be
built as a Windows DLL with `clang-cl`. These changes were not required
for building a Windows DLL with MSVC.
## Background
The Windows DLL effort is tracked in #109483. Additional context is
provided in [this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307),
and documentation for `LLVM_ABI` and related annotations is found in the
LLVM repo
[here](https://github.com/llvm/llvm-project/blob/main/llvm/docs/InterfaceExportAnnotations.rst).
## Overview
Specific changes made in this patch:
- Remove `constexpr` fields that reference DLL exported symbols. These
symbols cannot be resolved at compile time when building a Windows DLL
using `clang-cl`, so they cannot be `constexpr`. Instead, they are made
`const` and initialized in the implementation file rather than at
declaration in the header.
- Annotate symbols now defined out-of-line with `LLVM_ABI` so they are
exported when building as a shared library.
- Explicitly add default copy assignment operator for `ELFFile` to
resolve a compiler warning.
## Validation
Local builds and tests to validate cross-platform compatibility. This
included llvm, clang, and lldb on the following configurations:
- Windows with MSVC
- Windows with Clang
- Linux with GCC
- Linux with Clang
- Darwin with Clang
Commit: 99e263228f4513c166f20469968b2b646edaaa33
https://github.com/llvm/llvm-project/commit/99e263228f4513c166f20469968b2b646edaaa33
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M .github/new-prs-labeler.yml
Log Message:
-----------
github: Add mips backend to PR autolabeler (#140909)
Commit: 4e090b6e84e33e2a442e3951253ca570f8f842f8
https://github.com/llvm/llvm-project/commit/4e090b6e84e33e2a442e3951253ca570f8f842f8
Author: Jason Molenda <jmolenda at apple.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Core/DynamicLoader.cpp
Log Message:
-----------
[lldb] Re-insert code to search for a binary by filepath if provided
July 14 2024 I landed a change to update progress reporting when
loading kernel/firmware binaries
https://github.com/llvm/llvm-project/pull/98845
In DynamicLoader::LoadBinaryWithUUIDAndAddress I removed code that
was setting the ModuleSpec to the provided name, if the name provided
is that of a file on disk. With this code missing, if a filepath
name is passed in, this code will fail to find that binary on the local
disk. There's nothing in the PR / intention that would lead to this
change, it was unintentional.
Commit: 86a09f36154fbd264f61ea6462c8cf48b1ff2eb0
https://github.com/llvm/llvm-project/commit/86a09f36154fbd264f61ea6462c8cf48b1ff2eb0
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M mlir/test/Dialect/XeGPU/invalid.mlir
A mlir/test/Dialect/XeGPU/layout.mlir
M mlir/test/Dialect/XeGPU/ops.mlir
M mlir/test/Dialect/XeGPU/subgroup-map-propagation.mlir
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg-rr.mlir
M mlir/test/Dialect/XeGPU/xegpu-wg-to-sg.mlir
Log Message:
-----------
[MLIR][XeGPU] Clean up xegpu op tests (#144592)
Test cleanup:
1) separate layout.mlir from ops.mlir for layout related test
2) remove lane layout for ops working at work item scope.
3) remove redundant test in create_tdesc/update_tdesc/prefetch.
4) remove "test_" from all test function name.
Commit: 0defde8e06338cbe968d55d1d9e8581d55f3ae2b
https://github.com/llvm/llvm-project/commit/0defde8e06338cbe968d55d1d9e8581d55f3ae2b
Author: Harrison Hao <57025411+harrisonGPU at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUInstCombineIntrinsic.cpp
M llvm/test/Transforms/InstCombine/AMDGPU/image-d16.ll
Log Message:
-----------
[AMDGPU] Support D16 folding for image.sample with multiple extractelement and fptrunc users (#141758)
Now we only support D16 folding for `image sample` instructions with a
single user: a `fptrunc` to half.
However, we can actually support D16 folding for image.sample
instructions with multiple users,
as long as each user follows the pattern of extractelement followed by
fptrunc to half.
For example:
```
%sample = call <4 x float> @llvm.amdgcn.image.sample
%e0 = extractelement <4 x float> %sample, i32 0
%h0 = fptrunc float %e0 to half
%e1 = extractelement <4 x float> %sample, i32 1
%h1 = fptrunc float %e1 to half
%e2 = extractelement <4 x float> %sample, i32 2
%h2 = fptrunc float %e2 to half
```
This change enables D16 folding for such cases and avoids generating
`v_cvt_f16_f32_e32` instructions.
Commit: 9265b1f0cff74c929214efb64f41183299f31772
https://github.com/llvm/llvm-project/commit/9265b1f0cff74c929214efb64f41183299f31772
Author: Peter Collingbourne <peter at pcc.me.uk>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/LowerTypeTests.cpp
M llvm/test/Transforms/LowerTypeTests/blockaddress-2.ll
M llvm/test/Transforms/LowerTypeTests/cfi-icall-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-alias.ll
M llvm/test/Transforms/LowerTypeTests/export-icall.ll
M llvm/test/Transforms/LowerTypeTests/function-disjoint.ll
M llvm/test/Transforms/LowerTypeTests/function.ll
M llvm/test/Transforms/LowerTypeTests/icall-branch-funnel.ll
M llvm/test/Transforms/LowerTypeTests/pr37625.ll
M llvm/test/Transforms/LowerTypeTests/section.ll
Log Message:
-----------
LowerTypeTests: Use jump table entry type as value type of jump table alias.
The motivation for this is that it causes the jump table entry's symbol
to have an st_size equal to the jump table entry size, instead of being
equal to the size of the entire jump table, which is incorrect and can
lead to unexpected behavior in binary analysis tools that rely on the
size field such as Bloaty.
Reviewers: fmayer
Reviewed By: fmayer
Pull Request: https://github.com/llvm/llvm-project/pull/144462
Commit: 8ddada41df0488358373cff1d31a47e5ef4961e0
https://github.com/llvm/llvm-project/commit/8ddada41df0488358373cff1d31a47e5ef4961e0
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Preprocessor/riscv-target-features-andes.c
M llvm/docs/RISCVUsage.rst
M llvm/docs/ReleaseNotes.md
M llvm/lib/Target/RISCV/Disassembler/RISCVDisassembler.cpp
M llvm/lib/Target/RISCV/RISCVFeatures.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/test/CodeGen/RISCV/attributes.ll
M llvm/test/CodeGen/RISCV/features-info.ll
A llvm/test/MC/RISCV/xandesvbfhcvt-valid.s
M llvm/unittests/TargetParser/RISCVISAInfoTest.cpp
Log Message:
-----------
[RISCV] Add Andes XAndesVBFHCvt (Andes Vector BFLOAT16 Conversion) extension (#144320)
The spec can be found at:
https://github.com/andestech/andes-v5-isa/releases/tag/ast-v5_4_0-release.
This patch only supports assembler. The instructions are similar to
`Zvfbfmin` and the only difference with `Zvfbfmin` is that
`XAndesVBFHCvt` doesn't have mask variant.
Commit: a96a3f1b26baa8e5ee0abbac629f02566b7e9d1c
https://github.com/llvm/llvm-project/commit/a96a3f1b26baa8e5ee0abbac629f02566b7e9d1c
Author: Jacob Lalonde <jalalonde at fb.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M lldb/source/Plugins/Process/minidump/MinidumpParser.cpp
M lldb/source/Plugins/Process/minidump/MinidumpParser.h
Log Message:
-----------
[lldb][Minidump Parser] Implement a range data vector for minidump memory ranges (#136040)
Recently I was debugging a Minidump with a few thousand ranges, and came
across the (now deleted) comment:
```
// I don't have a sense of how frequently this is called or how many memory
// ranges a Minidump typically has, so I'm not sure if searching for the
// appropriate range linearly each time is stupid. Perhaps we should build
// an index for faster lookups.
```
blaming this comment, it's 9 years old! Much overdue for this simple fix
with a range data vector.
I had to add a default constructor to Range in order to implement the
RangeDataVector, but otherwise this just a replacement of look up logic.
Commit: a2ad65661ad560b04952d4d992248d2db3be36c8
https://github.com/llvm/llvm-project/commit/a2ad65661ad560b04952d4d992248d2db3be36c8
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
A llvm/test/CodeGen/RISCV/xqcibm-cto-clo.ll
Log Message:
-----------
[RISCV] Add patterns for generating QC_CTO and QC_CLO (#144532)
These instructions count leading/trailing ones in the register.
Currently these are only generated when we have `Zbb` enabled (along
with `Xqcibm`) since it contains the `CTTZ/CTLZ` instructions.
Commit: e14f327d8094e02134efa98625acaf6fd43fee08
https://github.com/llvm/llvm-project/commit/e14f327d8094e02134efa98625acaf6fd43fee08
Author: Liao Chunyu <chunyu at iscas.ac.cn>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/test/CodeGen/RISCV/rvv/vselect-vp.ll
Log Message:
-----------
[RISCV] Pre-test for #144461
Commit: af49a650e172d56d684581b66afa9ab0368ec8f9
https://github.com/llvm/llvm-project/commit/af49a650e172d56d684581b66afa9ab0368ec8f9
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/f128-arith.ll
Log Message:
-----------
PowerPC: Add baseline tests for more f128 libcall handling (#144381)
Some of these incorrectly call the l suffixed version of libm
functions and others assert.
Commit: 7b9d10d2e6410029fd0750b2e0566432dbf03dc7
https://github.com/llvm/llvm-project/commit/7b9d10d2e6410029fd0750b2e0566432dbf03dc7
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/test/CodeGen/PowerPC/f128-arith.ll
Log Message:
-----------
PowerPC: Fix using long double libm functions for f128 intrinsics (#144382)
This wasn't setting the correct libcall names, which default to the
l suffixed libm names.
Commit: ad9e591fd53f2cf91a2744973b59669d873658af
https://github.com/llvm/llvm-project/commit/ad9e591fd53f2cf91a2744973b59669d873658af
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-17 (Tue, 17 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/rvv/extract-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/insert-subvector.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-fp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-int-vp.ll
M llvm/test/CodeGen/RISCV/rvv/setcc-integer.ll
M llvm/test/CodeGen/RISCV/rvv/undef-earlyclobber-chain.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave-fixed.ll
M llvm/test/CodeGen/RISCV/rvv/vector-deinterleave.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/vfptoi-sdnode.ll
M llvm/test/CodeGen/RISCV/rvv/vp-vector-interleaved-access.ll
Log Message:
-----------
[SelectionDAG][RISCV] Fold (add (vscale * C0), (vscale * C1)) to (vscale * (C0 + C1)) in getNode. (#144565)
We already have shl/mul vscale related folds in getNode.
This is an alternative to the DAGCombine proposed in #144507.
Commit: 74687180dde07312521db09c6f6454fe9d1e5662
https://github.com/llvm/llvm-project/commit/74687180dde07312521db09c6f6454fe9d1e5662
Author: Kirill Chibisov <contact at kchibisov.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/EmitC/IR/CMakeLists.txt
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.h
M mlir/include/mlir/Dialect/EmitC/IR/EmitC.td
A mlir/include/mlir/Dialect/EmitC/IR/EmitCInterfaces.h
A mlir/include/mlir/Dialect/EmitC/IR/EmitCInterfaces.td
R mlir/include/mlir/Dialect/EmitC/IR/EmitCTraits.h
M mlir/lib/Dialect/EmitC/IR/EmitC.cpp
M mlir/lib/Dialect/EmitC/Transforms/FormExpressions.cpp
M mlir/lib/Dialect/EmitC/Transforms/Transforms.cpp
M mlir/lib/Target/Cpp/TranslateToCpp.cpp
Log Message:
-----------
[mlir][emitc] Make CExpression trait into interface (#142771)
By defining `CExpressionInterface`, we move the side effect detection
logic from `emitc.expression` into the individual operations
implementing the interface allowing operations to gradually tune the
side effect.
It also allows checking for side effects each operation individually.
Commit: 10f29a607205c0c17ee9249a66feb63f0fdae182
https://github.com/llvm/llvm-project/commit/10f29a607205c0c17ee9249a66feb63f0fdae182
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M compiler-rt/lib/msan/msan_interceptors.cpp
Log Message:
-----------
[MSan] Fix wrong unpoison size in SignalAction (#144071)
MSan should unpoison the parameters of extended signal handlers.
However, MSan unpoisoned the second parameter with the wrong size
`sizeof(__sanitizer_sigaction)`, inconsistent with its real type
`siginfo_t`.
This commit fixes this issue by correcting the size to
`sizeof(__sanitizer_siginfo)`.
Commit: 4d71f20b287e398f10bbff55d52bec9683ef89d2
https://github.com/llvm/llvm-project/commit/4d71f20b287e398f10bbff55d52bec9683ef89d2
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
Log Message:
-----------
[GlobalISel] prevent G_UNMERGE_VALUES for vectors with different elements (#133335)
This commit prevents building a G_UNMERGE_VALUES instruction with
different source and destination vector elements in
`LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineMergeLike()`,
e.g.:
`%1:_(<2 x s8>), %2:_(<2 x s8>) = G_UNMERGE_VALUES %0:_(<2 x s16>)`
This LLVM defect was identified via the AMD Fuzzing project.
Commit: 896e187a6e923b8441428f9db63c412d989fc51d
https://github.com/llvm/llvm-project/commit/896e187a6e923b8441428f9db63c412d989fc51d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineAndMaskToShift - pull out repeated SDLoc(). NFC.
Commit: dac94f28e696e8234ec69bbed549533ea6b00227
https://github.com/llvm/llvm-project/commit/dac94f28e696e8234ec69bbed549533ea6b00227
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineAndNotOrIntoAndNotAnd - pull out repeated SDLoc(). NFC.
Commit: 0875bee2b10185eca40aea3b3f49eb8462522eda
https://github.com/llvm/llvm-project/commit/0875bee2b10185eca40aea3b3f49eb8462522eda
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] combineAndNotIntoANDNP - pull out repeated SDLoc(). NFC.
Commit: 44b715293fcad79ef4a54474627ac574a759fa5a
https://github.com/llvm/llvm-project/commit/44b715293fcad79ef4a54474627ac574a759fa5a
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A llvm/test/Transforms/PhaseOrdering/X86/fmaddsub.ll
Log Message:
-----------
[PhaseOrdering][X86] Copy FMUL+ADDSUB/FMADDSUB build vector patterns from codegen tests
As detailed on #144489 - confirm the vectorisation of scalar FMUL+ADDSUB/FMADDSUB on various targets
Commit: 45ea46c44636094e9fcdbbeabfd11f9d0fad5e38
https://github.com/llvm/llvm-project/commit/45ea46c44636094e9fcdbbeabfd11f9d0fad5e38
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/docs/Toolchain.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
A clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
A clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
A clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
A clang/test/Driver/aarch64-gnutools.c
A clang/test/Driver/aarch64-toolchain-extra.c
A clang/test/Driver/aarch64-toolchain.c
A clang/test/Driver/arm-gnutools.c
A clang/test/Driver/arm-toolchain-extra.c
A clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
A clang/test/Driver/check-no-multlib-warning.c
Log Message:
-----------
Reland [Driver] Add support for GCC installation detection in Baremetal toolchain (#144640)
This patch introduces enhancements to the Baremetal toolchain to support
GCC toolchain detection.
- If the --gcc-install-dir or --gcc-toolchain options are provided and
point to valid paths, the sysroot is derived from those locations.
- If not, the logic falls back to the existing sysroot inference
mechanism already present in the Baremetal toolchain.
- Support for adding include paths for the libstdc++ library has also
been added.
Additionally, the restriction to always use the integrated assembler has
been removed. With a valid GCC installation, the GNU assembler can now
be used as well.
This patch currently updates and adds tests for the ARM target only.
RISC-V-specific tests will be introduced in a later patch, once the
RISCVToolChain is fully merged into the Baremetal toolchain. At this
stage, there is no way to test the RISC-V target within this PR.
RFC:
https://discourse.llvm.org/t/merging-riscvtoolchain-and-baremetal-toolchains/75524
Commit: e07b1b26c38ba48af247b370a29eeb9879cefc97
https://github.com/llvm/llvm-project/commit/e07b1b26c38ba48af247b370a29eeb9879cefc97
Author: Rajveer Singh Bharadwaj <rajveer.developer at icloud.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[DAG] Implement SDPatternMatch `m_Abs()` matcher (#144512)
Commit: a38932ac3c0a16226e3dde7f1532f117959c58df
https://github.com/llvm/llvm-project/commit/a38932ac3c0a16226e3dde7f1532f117959c58df
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
Log Message:
-----------
Revert "[GlobalISel] prevent G_UNMERGE_VALUES for vectors with different elements" (#144650)
Reverts llvm/llvm-project#133335
Commit: 49df87e71b73b230ecb21335dcb5f5390eebdab3
https://github.com/llvm/llvm-project/commit/49df87e71b73b230ecb21335dcb5f5390eebdab3
Author: Simon Tatham <simon.tatham at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libc/src/__support/FPUtil/dyadic_float.h
Log Message:
-----------
[libc][printf] Fix out-of-range shift in float320 printf (#144542)
If you enable `LIBC_CONF_PRINTF_FLOAT_TO_STR_USE_FLOAT320` and use a
`%f` style printf format directive to print a nonzero number too small
to show up in the output digits, e.g. `printf("%.2f", 0.001)`, then the
output would be intermittently incorrect, because
`DyadicFloat::as_mantissa_type_rounded` would try to shift the 320-bit
mantissa right by more than 320 bits, invoking the 'undefined behavior'
clause commented in the `shift()` function in `big_int.h`.
There were already tests in the libc test suite exercising this case,
e.g. the subnormal tests in `LlvmLibcSPrintfTest.FloatDecimalConv` use
`%f` at the default precision of 6 decimal places on tiny numbers such
as 2^-1027. But because the behavior is undefined, they don't visibly
fail all the time, and in all previous test runs we'd tried with
USE_FLOAT320, they had got lucky.
The fix is simply to detect an out-of-range right shift before doing it,
and instead just set the output value to zero.
Commit: ba40a7bc2e65be86ac23c9cf6038ac085dda77eb
https://github.com/llvm/llvm-project/commit/ba40a7bc2e65be86ac23c9cf6038ac085dda77eb
Author: Mel Chen <mel.chen at sifive.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
M llvm/test/Transforms/LoopVectorize/RISCV/first-order-recurrence-scalable-vf1.ll
M llvm/test/Transforms/LoopVectorize/first-order-recurrence-scalable-vf1.ll
Log Message:
-----------
[LoopVectorize] Vectorize fixed-order recurrence with vscale x 1. (#142772)
When the fixed-order recurrence phi is live-out from the loop, the
vectorizer uses VPInstruction::ExtractPenultimateElement to extract the
penultimate element from the recurrence vector. However, this is not
feasible when the VF is vscale x 1, since vscale could be 1, making the
vector contain only one element.
This patch changes the behavior for vscale x 1 by extracting the last
element from the vector produced by splicing the recurrence phi and the
previous value. This ensures we can still determine the correct live-out
value of the recurrence phi.
Commit: ca29c632f06fc0e02ebbbb9fbdc73e3abd6b096b
https://github.com/llvm/llvm-project/commit/ca29c632f06fc0e02ebbbb9fbdc73e3abd6b096b
Author: Pengcheng Wang <wangpengcheng.pp at bytedance.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVISelLowering.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
A llvm/test/CodeGen/RISCV/icmp-non-byte-sized.ll
M llvm/test/CodeGen/RISCV/memcmp-optsize.ll
M llvm/test/CodeGen/RISCV/memcmp.ll
Log Message:
-----------
[RISCV] Support non-power-of-2 types when expanding memcmp
We can convert non-power-of-2 types into extended value types
and then they will be widen.
Reviewers: lukel97
Reviewed By: lukel97
Pull Request: https://github.com/llvm/llvm-project/pull/114971
Commit: 59d6fbb8ffe03ceecfcc07ebe22e256c97ef70dd
https://github.com/llvm/llvm-project/commit/59d6fbb8ffe03ceecfcc07ebe22e256c97ef70dd
Author: Kareem Ergawy <kareem.ergawy at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
A flang/test/HLFIR/fir-local-alloca-block.fir
Log Message:
-----------
[flang][fir] Provide allocation block for `fir.local` when required (#144521)
Extends `fir::FirOpBuilder::getAllocaBlock()` to support `fir.local`.
This allows us to retrieve an allocation block when needed for
`fir.local`.
Commit: 255b55c602f73964262893859a543a115b278e21
https://github.com/llvm/llvm-project/commit/255b55c602f73964262893859a543a115b278e21
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/GlobalOpt.cpp
Log Message:
-----------
[GlobalOpt] Use cast instead of dyn_cast. NFC (#144634)
The dyn_cast was not checked for null, and the cast is guaranteed to
succeed by an earlier check.
Commit: 7ea7ccd24d603ceec6eb5194d98911e6ab7c0717
https://github.com/llvm/llvm-project/commit/7ea7ccd24d603ceec6eb5194d98911e6ab7c0717
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCISelLowering.cpp
M llvm/test/CodeGen/PowerPC/aix-cc-abi-mir.ll
M llvm/test/CodeGen/PowerPC/aix-cc-abi.ll
M llvm/test/CodeGen/PowerPC/aix-cc-byval-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills-mir.ll
M llvm/test/CodeGen/PowerPC/aix-vec-arg-spills.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-caller.ll
M llvm/test/CodeGen/PowerPC/aix-vector-vararg-fixed-caller.ll
Log Message:
-----------
[PowerPC][AIX] Specify pointer info and alignment for stack store (#144526)
When lowering call arguments to stack, specify a stack MPI, as well as
the stack alignment, instead of using the defaults (which would be an
unknown location with ABI alignment).
I believe the asm diffs are just changes in scheduling.
Commit: c16dc63b44ae039f2ac123a8ffbc90031767d00b
https://github.com/llvm/llvm-project/commit/c16dc63b44ae039f2ac123a8ffbc90031767d00b
Author: Mikael Holmen <mikael.holmen at ericsson.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp
Log Message:
-----------
[OMPIRBuilder] Fix gcc -Wparentheses warning [NFC]
Without this gcc warned like
/repo/llvm/lib/Frontend/OpenMP/OMPIRBuilder.cpp:7559:68: warning: suggest parentheses around '&&' within '||' [-Wparentheses]
7559 | NumStaleCIArgs == (OffloadingArraysToPrivatize.size() + 2) &&
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
7560 | "Wrong number of arguments for StaleCI when shareds are present");
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Commit: 669627d0c77ed8408358bc8c5973255fe28a36ea
https://github.com/llvm/llvm-project/commit/669627d0c77ed8408358bc8c5973255fe28a36ea
Author: Philipp Jung <philippjung2010 at live.de>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.h
M clang-tools-extra/docs/ReleaseNotes.rst
A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
Log Message:
-----------
Add check 'cppcoreguidelines-use-enum-class' (#138282)
Warn on non-class enum definitions as suggested by the Core Guidelines:
https://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines#Renum-class
Commit: 43e1a5a411d972fe06a1afb86ffd5ba21fd2a376
https://github.com/llvm/llvm-project/commit/43e1a5a411d972fe06a1afb86ffd5ba21fd2a376
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Mesh/IR/MeshOps.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.h
M mlir/include/mlir/Dialect/Mesh/Transforms/Passes.td
M mlir/lib/Dialect/Mesh/IR/MeshOps.cpp
M mlir/lib/Dialect/Mesh/Transforms/ShardingPropagation.cpp
A mlir/test/Dialect/Mesh/backward-sharding-propagation.mlir
A mlir/test/Dialect/Mesh/forward-backward-sharding-propagation.mlir
A mlir/test/Dialect/Mesh/forward-sharding-propagation.mlir
Log Message:
-----------
[mlir][mesh] adding option for traversal order in sharding propagation (#144079)
The traversal order in sharding propagation was hard-coded. This PR
provides options to the pass to select a suitable order
- forward-only
- backward-only
- forward-backward
- backward-forward
Default is the previous behavior (backward-forward).
Commit: 355725a25e6be38d7a97cab9e206d2a16a1bd849
https://github.com/llvm/llvm-project/commit/355725a25e6be38d7a97cab9e206d2a16a1bd849
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Instrumentation/ThreadSanitizer.cpp
M llvm/test/Instrumentation/ThreadSanitizer/atomic-non-integer.ll
Log Message:
-----------
[TSan] Fix missing inst cleanup (#144067)
Commit 44e875ad5b2ce26826dd53f9e7d1a71436c86212 introduced a change that
replaces `ReplaceInstWithInst` with `Instruction::replaceAllUsesWith`,
without subsequent instruction cleanup.
This results in TSan leaving behind useless `load atomic` instructions
after 'replacing' them.
This commit adds cleanup back, consistent with the context.
Commit: 8e157fdbb7b4af9f67b139a9f05feaa9b338d3f5
https://github.com/llvm/llvm-project/commit/8e157fdbb7b4af9f67b139a9f05feaa9b338d3f5
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/builtin_call.cpp
Log Message:
-----------
[CIR] Add support for __builtin_assume (#144376)
This patch adds support for the `__builtin_assume` builtin function.
Commit: fe42d34274cac79794637bf2f69f85537dde8b74
https://github.com/llvm/llvm-project/commit/fe42d34274cac79794637bf2f69f85537dde8b74
Author: Ying Yi <ying.yi at sony.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/keylockerintrin.h
M clang/lib/Headers/x86gprintrin.h
M clang/lib/Headers/x86intrin.h
Log Message:
-----------
[clang][headers]Remove unnecessary guard of !defined(__SCE__). (#144522)
Sony PlayStation now supports C++20, and we wish to change the default
C++ mode to C++20 sometime in the future. As such, the !defined(__SCE__)
guards are redundant and we want to remove them. This in turn makes the
entire guard lines redundant (always true), so this patch removes them
entirely.
Commit: 58c4fa96cb111ea8d399296838f4cb6a294115ca
https://github.com/llvm/llvm-project/commit/58c4fa96cb111ea8d399296838f4cb6a294115ca
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix bazel build for #142771 (#144659)
Commit: 6fcdde2a4eb9eaf34511ac3a35075be329fe1fae
https://github.com/llvm/llvm-project/commit/6fcdde2a4eb9eaf34511ac3a35075be329fe1fae
Author: Lucas Duarte Prates <lucas.prates at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M runtimes/CMakeLists.txt
Log Message:
-----------
[runtimes] Allow use of external llvm-lit on standalone builds (#144347)
When creating a standalone build of the runtimes sub-project, the
current CMake implementation looks for a lit executable that might
potentially exist in the build tree and unconditionally overrides the
value of `LLVM_EXTERNAL_LIT`. Due to this, any value passed via
`-DLLVM_EXTERNAL_LIT` when configuring the CMake project is ignored.
This change adds the `ALLOW_EXTERNAL` argument to the
`get_llvm_lit_path` call in the runtimes' CMakeLists.txt, allowing any
value previously set to be considered.
Commit: 757a0e6d3b6130a984960ee413a3c8a6f99c7cb5
https://github.com/llvm/llvm-project/commit/757a0e6d3b6130a984960ee413a3c8a6f99c7cb5
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/SystemZ/SystemZLongBranch.cpp
A llvm/test/CodeGen/SystemZ/fake-use-size.ll
Log Message:
-----------
[SystemZ] Treat FAKE_USE instructions as instructions without a size (#144390)
This patch fixes an error in which `FAKE_USE` instructions would trigger
an assertion in SystemZLongBranch due to them having a size of 0 without
being excepted in the assertion that each instruction, other than a set
of known 0-size instruction types, should have a non-0 size.
`FAKE_USE` instructions are no-op instructions that are emitted into
LLVM by the `-fextend-variable-liveness` clang flag to help preserve the
liveness of source variables in optimized code, and therefore they
should be understood as being valid size 0 instructions.
Commit: bb00fd087a3c3e02fb812e41218ad0a85d9f0fe1
https://github.com/llvm/llvm-project/commit/bb00fd087a3c3e02fb812e41218ad0a85d9f0fe1
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/clang-tools-extra/clang-tidy/cppcoreguidelines/BUILD.gn
Log Message:
-----------
[gn build] Port 669627d0c77e
Commit: cd8248f3e856a37cc1addcb74475b4d37dc8aa42
https://github.com/llvm/llvm-project/commit/cd8248f3e856a37cc1addcb74475b4d37dc8aa42
Author: Scott Constable <scott.d.constable at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86AsmPrinter.cpp
M llvm/test/CodeGen/X86/kcfi-arity.ll
Log Message:
-----------
Fixed a bug in `-fsanitize-kcfi-arity` (#142867)
Compiling with `fsanitize-kcfi-arity` can crash the compiler if a
function has more than 6 arguments, including floating-point arguments
passed in XMM registers. This patch fixes the feature by only counter
integer and stack arguments toward kCFI arity. For example, the compiler
crashed when it attempted to generate kCFI arity information for this
function:
https://github.com/torvalds/linux/blob/16b70698aa3ae7888826d0c84567c72241cf6713/drivers/gpu/drm/amd/display/dc/dml/dcn32/display_mode_vba_util_32.h#L680
As noted in a comment, floating-point registers are not relevant to
enforcing kCFI at this time.
Commit: dac0820b277835b7506a9c0d1dc5e077597f6742
https://github.com/llvm/llvm-project/commit/dac0820b277835b7506a9c0d1dc5e077597f6742
Author: Bjorn Pettersson <bjorn.a.pettersson at ericsson.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/test/CodeGen/Thumb2/mve-shuffle.ll
M llvm/test/CodeGen/Thumb2/mve-vld3.ll
M llvm/test/CodeGen/Thumb2/schedm7-hazard.ll
Log Message:
-----------
[Thumb2] Regenerate some test checks. NFC
Commit: 5a9cc93a2058e2c26d766f7be6aee63e928bf825
https://github.com/llvm/llvm-project/commit/5a9cc93a2058e2c26d766f7be6aee63e928bf825
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
Log Message:
-----------
Fix for bazel build #142079 (#144665)
Commit: a13b7cc00c5f4b9d2636ed7a22c1390cf8033baf
https://github.com/llvm/llvm-project/commit/a13b7cc00c5f4b9d2636ed7a22c1390cf8033baf
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/Transforms/LICM/call-hoisting.ll
M llvm/test/Transforms/LICM/funclet.ll
Log Message:
-----------
[LICM] Support hoisting of non-argmemonly readonly calls (#144497)
The code checking whether a readonly call is safe to hoist is
currently limited to only argmemonly calls. However, the actual
implementation does not depend on this in any way. It either
does an MSSA clobber walk on the memory access (which will take
all locations accessed by the call into account), or it will
look at all MemoryDefs in an entirely location-independent manner.
The current restriction dates back to the time when LICM still
supported AST, in which case this code *did* reason about the
individual pointer arguments.
Commit: ee4c2bb68752a6c4b463f3873cde278b8d348628
https://github.com/llvm/llvm-project/commit/ee4c2bb68752a6c4b463f3873cde278b8d348628
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M lldb/test/Shell/SymbolFile/DWARF/x86/explicit-member-function-quals.cpp
Log Message:
-----------
[lldb][test] explicit-member-function-quals.cpp: add -glldb
This will get un-XFAILed but requires `-glldb` in an upcoming patch.
Commit: 561eca44e7639ee8805d0bf65a59b9898d782538
https://github.com/llvm/llvm-project/commit/561eca44e7639ee8805d0bf65a59b9898d782538
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg-mir.ll
M llvm/test/CodeGen/PowerPC/aix32-cc-abi-vaarg.ll
A llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg-mir.ll
M llvm/test/CodeGen/PowerPC/aix64-cc-abi-vaarg.ll
Log Message:
-----------
[PowerPC] Split tests into asm and mir parts (NFC)
To allow both to be generated.
Commit: acde20b5605f3a3a8da2217e4526fc045e6603ed
https://github.com/llvm/llvm-project/commit/acde20b5605f3a3a8da2217e4526fc045e6603ed
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/vk.spec-constant.usage.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.alignment.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.alignment.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.hlsl
A clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
A clang/test/SemaHLSL/vk.spec-constant.error.hlsl
Log Message:
-----------
[HLSL][SPIRV] Add vk::constant_id attribute. (#143544)
The vk::constant_id attribute is used to indicate that a global const
variable
represents a specialization constant in SPIR-V. This PR adds this
attribute to clang.
The documentation for the attribute is
[here](https://github.com/microsoft/DirectXShaderCompiler/blob/main/docs/SPIR-V.rst#specialization-constants).
The strategy is to to modify the initializer to get the value of a
specialize constant for a builtin defined in the SPIR-V backend.
Implements https://github.com/llvm/wg-hlsl/pull/287
Fixes https://github.com/llvm/llvm-project/issues/142448
---------
Co-authored-by: Nathan Gauër <github at keenuts.net>
Commit: d3441f7348203cc2a1d9c44fd24c1113954aa2b2
https://github.com/llvm/llvm-project/commit/d3441f7348203cc2a1d9c44fd24c1113954aa2b2
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Change getSmallBestKnownTC to return an ElementCount (NFC) (#141793)
This is prep work for enabling better UF calculations when using vscale
based VFs to vectorise loops with vscale based tripcounts.
NOTE: NFC because All uses remain fixed-length until a following PR
changes LoopVectorize's version of getSmallConstantTripCount().
Commit: b7ef5dbac91f9ccaf335ae4dd998e5783523f24e
https://github.com/llvm/llvm-project/commit/b7ef5dbac91f9ccaf335ae4dd998e5783523f24e
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/ComplexDeinterleavingPass.cpp
M llvm/test/CodeGen/AArch64/complex-deinterleaving-splat-scalable.ll
Log Message:
-----------
[LLVM][ComplexDeinterleaving] Update splat identification to include vector ConstantInt/FP. (#144516)
Commit: b5967264b0fbfd502b3a7edec27409e966fb68be
https://github.com/llvm/llvm-project/commit/b5967264b0fbfd502b3a7edec27409e966fb68be
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/Support/CodeGen.h
M llvm/include/llvm/Target/TargetOptions.h
Log Message:
-----------
CodeGen: Move ABI option enums to support (#142912)
Move these out of TargetOptions and into Support to avoid
the dependency on Target. There are similar ABI options
already in Support/CodeGen.h.
Commit: 4aca3dc48b0919b81bd86302b141f29869266c45
https://github.com/llvm/llvm-project/commit/4aca3dc48b0919b81bd86302b141f29869266c45
Author: Robert Imschweiler <robert.imschweiler at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/GlobalISel/LegalizationArtifactCombiner.h
M llvm/test/CodeGen/AMDGPU/GlobalISel/insertelement.ll
M llvm/test/CodeGen/AMDGPU/buffer-fat-pointers-contents-legalization.ll
Log Message:
-----------
Reland: [GlobalISel] prevent G_UNMERGE_VALUES for vectors with different elements (#144661)
This commit prevents building a G_UNMERGE_VALUES instruction with
different source and destination vector elements in
`LegalizationArtifactCombiner::ArtifactValueFinder::tryCombineMergeLike()`,
e.g.:
`%1:_(<2 x s8>), %2:_(<2 x s8>) = G_UNMERGE_VALUES %0:_(<2 x s16>)`
This LLVM defect was identified via the AMD Fuzzing project.
Commit: c3efe7d64cebcd8679bec3ba7ff8154f8b0a1fa4
https://github.com/llvm/llvm-project/commit/c3efe7d64cebcd8679bec3ba7ff8154f8b0a1fa4
Author: Martin Storsjö <martin at martin.st>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/test/libcxx/odr_signature.exceptions.sh.cpp
M libcxx/test/libcxx/odr_signature.hardening.sh.cpp
Log Message:
-----------
[libcxx] [test] Fix odr_signature tests with optimizations enabled (#144317)
If optimization is enabled, the inline `f()` function actually gets
inlined, meaning that the functions `tu1()` and `tu2()` trivially return
1 and 2, instead of actually referencing the potentially linker
deduplicated function `f()`, which is what the test tries to test.
Therefore, this test previously actually failed to test what it was
supposed to test, if optimization was enabled.
Mark the inline functions with `TEST_NOINLINE` to make sure that they
don't get inlined even with optimizations enabled.
Also update the TODO comments to explain why we have an XFAIL for msvc
mode here.
This avoids these tests unexpectedly passing if building in msvc mode,
with optimizations enabled
(`-DLIBCXX_TEST_PARAMS="optimization=speed"`).
Commit: 66d6964a55014e7fabb7c80fbba19d2145262b6b
https://github.com/llvm/llvm-project/commit/66d6964a55014e7fabb7c80fbba19d2145262b6b
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/test/Driver/aarch64-toolchain-extra.c
M clang/test/Driver/aarch64-toolchain.c
M clang/test/Driver/arm-toolchain-extra.c
M clang/test/Driver/arm-toolchain.c
Log Message:
-----------
Fix tests failing on fuchsia clang x86_64 builders (#144655)
Fuchsia sets CLANG_DEFAULT_UNWINDLIB to libunwind. As a result, when
rtlib is set to libgcc and unwindlib is not explicitly specified, tests
using Fuchsia as the default platform will fail. To address this, the
affected tests are now xfailed
This change fixes the following tests introduced in
https://github.com/llvm/llvm-project/commit/45ea46c44636094e9fcdbbeabfd11f9d0fad5e38:
clang/test/Driver/aarch64-toolchain-extra.c
clang/test/Driver/arm-toolchain-extra.c
clang/test/Driver/aarch64-toolchain.c
clang/test/Driver/arm-toolchain.c
Commit: 8a469da8b2342dd9104faf25deeddd8ad66ca6a6
https://github.com/llvm/llvm-project/commit/8a469da8b2342dd9104faf25deeddd8ad66ca6a6
Author: Oleksandr "Alex" Zinenko <git at ozinenko.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Dialect/MemRef/Transforms/ExpandOps.cpp
M mlir/test/Dialect/MemRef/expand-ops.mlir
Log Message:
-----------
[mlir] remove unnecessary atomic_rmw expansions (#144515)
The expansion of `memref.atomic_rmw` into a `memref.generic_atomic_rmw`
for floating-point min/max operations is no longer necessary as those
are now supported by the LLVM dialect and LLVM IR.
Furthermore, combining this expansion with direct lowering of
`generic_atomic_rmw` could leads to invalid LLVM dialect IR with
`cmpxchg` operating on floating-point values that it does not support.
Commit: d8e8ab79773f739c602c5869f80c6c5b5962c558
https://github.com/llvm/llvm-project/commit/d8e8ab79773f739c602c5869f80c6c5b5962c558
Author: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64FrameLowering.cpp
M llvm/test/CodeGen/AArch64/stack-hazard.ll
Log Message:
-----------
[AArch64][SME] Fix restoring callee-saves from FP with hazard padding (#143371)
Currently, when hazard-padding is enabled a (fixed-size) hazard slot is
placed in the CS area, just after the frame record. The size of this
slot is part of the "CalleeSaveBaseToFrameRecordOffset". The SVE
epilogue emission code assumed this offset was always zero, and
incorrectly setting the stack pointer, resulting in all SVE registers
being reloaded from incorrect offsets.
```
| prev_lr |
| prev_fp |
| (a.k.a. "frame record") |
|-----------------------------------| <- fp(=x29)
| <hazard padding> |
|-----------------------------------| <- callee-saved base
| |
| callee-saved fp/simd/SVE regs |
| |
|-----------------------------------| <- SVE callee-save base
```
i.e. in the above diagram, the code assumed `fp == callee-saved base`.
Commit: 34a48941498d95ec2682f7adaeb6115b7b4d70ba
https://github.com/llvm/llvm-project/commit/34a48941498d95ec2682f7adaeb6115b7b4d70ba
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
[X86] detectZextAbsDiff - use SDPatternMatch::m_Abs() matcher. NFC.
Commit: 7c15edb306932e41c159f3d69c161ed0d89d47b7
https://github.com/llvm/llvm-project/commit/7c15edb306932e41c159f3d69c161ed0d89d47b7
Author: Timm Baeder <tbaeder at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
Reapply "[clang][bytecode] Allocate IntegralAP and Floating types usi… (#144676)
…ng an allocator (#144246)"
This reverts commit 57828fec760f086b334ce0cb1c465fc559dcaea4.
Commit: 6265ca686dfe18e6032e59637f144bad7ea6cf2b
https://github.com/llvm/llvm-project/commit/6265ca686dfe18e6032e59637f144bad7ea6cf2b
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64Processors.td
A llvm/lib/Target/AArch64/AArch64SchedA320.td
A llvm/test/tools/llvm-mca/AArch64/Cortex/A320-basic-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Cortex/A320-neon-instructions.s
A llvm/test/tools/llvm-mca/AArch64/Cortex/A320-sve-instructions.s
Log Message:
-----------
[AArch64] Add Cortex-A320 scheduling model (#144385)
Instead of using the Cortex-A510 scheduling model, Cortex-A320 now uses
its own scheduling model, based off of the Cortex-A320 Software
Optimization Guide:
https://developer.arm.com/documentation/110285/r0p1
---------
Co-authored-by: Nashe Mncube <Nashe.Mncube at arm.com>
Commit: a1c2a712939897251729b6fc436a2db7db6f03fc
https://github.com/llvm/llvm-project/commit/a1c2a712939897251729b6fc436a2db7db6f03fc
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparsificationAndBufferizationPass.cpp
Log Message:
-----------
[mlir][bufferization] Use Type instead of Value in unknown conversion (#144658)
Generally, bufferization should be able to create a memref from a tensor
without needing to know more than just a mlir::Type. Thus, change
BufferizationOptions::UnknownTypeConverterFn to accept just a type
(mlir::TensorType for now) instead of mlir::Value. Additionally, apply
the same rationale to getMemRefType() helper function.
Both changes are prerequisites to enable custom types support in
one-shot bufferization.
Commit: 66580f77b826e71a9727f1d6287bec6a6101f620
https://github.com/llvm/llvm-project/commit/66580f77b826e71a9727f1d6287bec6a6101f620
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms][NFC] Dialect Conversion: Keep `unresolvedMaterializations` up to date (#144254)
`unresolvedMaterializations` is a mapping from
`UnrealizedConversionCastOp` to `UnresolvedMaterializationRewrite`. This
mapping is needed to find the correct type converter for an unresolved
materialization.
With this commit, `unresolvedMaterializations` is updated immediately
when an op is being erased. This also cleans up the code base a bit:
`SingleEraseRewriter` is now used only during the "cleanup" phase and no
longer needed as a field of `ConversionRewriterImpl`.
This commit is in preparation of the One-Shot Dialect Conversion
refactoring: `allowPatternRollback = false` will in the future trigger
immediate materialization of all IR changes.
Commit: 4b2ab1494bc07493087252dff4e5e19808703048
https://github.com/llvm/llvm-project/commit/4b2ab1494bc07493087252dff4e5e19808703048
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
A flang/test/Lower/OpenMP/Todo/declare-mapper-iterator.f90
Log Message:
-----------
[flang][OpenMP] Don't crash on iterator modifier in declare mapper (#144359)
Both the declare mapper directive argument, and the iterator modifier
can contain declaration-type-spec, so make sure that the processing of
one ends before processing of the other begins in semantic analysis.
Commit: a83d3362f686725bac76bfb9562663908de25f15
https://github.com/llvm/llvm-project/commit/a83d3362f686725bac76bfb9562663908de25f15
Author: Tom Eccles <tom.eccles at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
R flang/test/Lower/OpenMP/Todo/omp-doconcurrent.f90
A flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
Log Message:
-----------
[flang][OpenMP] Don't allow DO CONCURRENT inside of a loop nest (#144506)
I don't think DO CONCURRENT fits the definition of a Canonical Loop Nest
(OpenMP 6.0 section 6.4.1).
It is however explicitly allowed for the LOOP construct (6.0 section
13.8).
There's some obscure language in OpenMP 6.0 for the LOOP construct:
> If the collapsed loop is a DO CONCURRENT loop, neither the
> data-sharing attribute clauses nor the collapse clause may be
specified.
>From the surrounding context, I think "collapsed loop" just means the
loop that the LOOP construct applies to. So I will interpret this to
mean that DO CONCURRENT can only be used with the LOOP construct if it
does not contain the COLLAPSE clause.
This also fixes a bug where the associated clause was never cleared
after it was set.
Fixes #144178
Commit: 8584abb05a84d3bf4e84cdfe4154d7ade8bdfd04
https://github.com/llvm/llvm-project/commit/8584abb05a84d3bf4e84cdfe4154d7ade8bdfd04
Author: Frank Schlimbach <frank.schlimbach at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A mlir/test/Target/SPIRV/lit.local.cfg
R mlir/test/lit.local.cfg
Log Message:
-----------
[mlir] mlir/test/lit.local.cfg -> mlir/test/Target/SPIRV/lit.local.cfg (#144685)
renamed: mlir/test/lit.local.cfg -> mlir/test/Target/SPIRV/lit.local.cfg
Commit: 68471d29eed2c49f9b439e505b3f24d387d54f97
https://github.com/llvm/llvm-project/commit/68471d29eed2c49f9b439e505b3f24d387d54f97
Author: Timm Bäder <tbaeder at redhat.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Compiler.h
M clang/lib/AST/ByteCode/Descriptor.cpp
M clang/lib/AST/ByteCode/Disasm.cpp
M clang/lib/AST/ByteCode/Floating.h
M clang/lib/AST/ByteCode/Integral.h
M clang/lib/AST/ByteCode/IntegralAP.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/Interp.h
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpBuiltinBitCast.cpp
M clang/lib/AST/ByteCode/InterpState.h
M clang/lib/AST/ByteCode/Opcodes.td
M clang/lib/AST/ByteCode/PrimType.h
M clang/lib/AST/ByteCode/Program.h
M clang/test/AST/ByteCode/builtin-bit-cast-long-double.cpp
M clang/test/AST/ByteCode/builtin-functions.cpp
Log Message:
-----------
Revert "Reapply "[clang][bytecode] Allocate IntegralAP and Floating types usi… (#144676)"
This reverts commit 7c15edb306932e41c159f3d69c161ed0d89d47b7.
This still breaks clang-armv8-quick:
https://lab.llvm.org/buildbot/#/builders/154/builds/17587
Commit: 6729da647afa2b0ee040ccd4f06153e45d6ca738
https://github.com/llvm/llvm-project/commit/6729da647afa2b0ee040ccd4f06153e45d6ca738
Author: Kunwar Grover <groverkss at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/AMDGPU/Transforms/Passes.h
M mlir/lib/Dialect/AMDGPU/Transforms/EmulateAtomics.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/ResolveStridedMetadata.cpp
M mlir/lib/Dialect/AMDGPU/Transforms/TransferReadToLoad.cpp
Log Message:
-----------
[mlir][amdgpu][nfc] Add PatternBenefit to populate methods (#144663)
Commit: c4d99704e22097703c57ee67baea96fdabfd68ab
https://github.com/llvm/llvm-project/commit/c4d99704e22097703c57ee67baea96fdabfd68ab
Author: Garvit Gupta <quic_garvgupt at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/docs/Toolchain.rst
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/BareMetal.h
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/include/c++/8.2.1/.keep
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/.keep
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/aarch64-none-elf/lib/crt0.o
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/bin/aarch64-none-elf-ld
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtbegin.o
R clang/test/Driver/Inputs/basic_aarch64_gcc_tree/lib/gcc/aarch64-none-elf/8.2.1/crtend.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crt0.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtbegin.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/aarch64-none-elf/lib/crtend.o
R clang/test/Driver/Inputs/basic_aarch64_nogcc_tree/bin/aarch64-none-elf-ld
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/include/c++/8.2.1/.keep
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/.keep
R clang/test/Driver/Inputs/basic_arm_gcc_tree/armv6m-none-eabi/lib/crt0.o
R clang/test/Driver/Inputs/basic_arm_gcc_tree/bin/armv6m-none-eabi-ld
R clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtbegin.o
R clang/test/Driver/Inputs/basic_arm_gcc_tree/lib/gcc/armv6m-none-eabi/8.2.1/crtend.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crt0.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtbegin.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/armv6m-none-eabi/lib/crtend.o
R clang/test/Driver/Inputs/basic_arm_nogcc_tree/bin/armv6m-none-eabi-ld
R clang/test/Driver/aarch64-gnutools.c
R clang/test/Driver/aarch64-toolchain-extra.c
R clang/test/Driver/aarch64-toolchain.c
R clang/test/Driver/arm-gnutools.c
R clang/test/Driver/arm-toolchain-extra.c
R clang/test/Driver/arm-toolchain.c
M clang/test/Driver/baremetal.cpp
R clang/test/Driver/check-no-multlib-warning.c
Log Message:
-----------
Revert "Reland [Driver] Add support for GCC installation detection in… (#144684)
… Baremetal toolchain (#144640)"
This reverts commit 45ea46c44636094e9fcdbbeabfd11f9d0fad5e38.
Commit: 1f34d68c4f086e7ea6ef9a529f9606476b38bbbb
https://github.com/llvm/llvm-project/commit/1f34d68c4f086e7ea6ef9a529f9606476b38bbbb
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/docs/CommandGuide/llvm-opt-report.rst
M llvm/docs/Remarks.rst
M llvm/include/llvm/Remarks/RemarkFormat.h
M llvm/include/llvm/Remarks/RemarkParser.h
M llvm/include/llvm/Remarks/YAMLRemarkSerializer.h
M llvm/lib/Remarks/BitstreamRemarkParser.cpp
M llvm/lib/Remarks/BitstreamRemarkParser.h
M llvm/lib/Remarks/RemarkFormat.cpp
M llvm/lib/Remarks/RemarkLinker.cpp
M llvm/lib/Remarks/RemarkParser.cpp
M llvm/lib/Remarks/RemarkSerializer.cpp
M llvm/lib/Remarks/RemarkStreamer.cpp
M llvm/lib/Remarks/YAMLRemarkParser.cpp
M llvm/lib/Remarks/YAMLRemarkParser.h
M llvm/lib/Remarks/YAMLRemarkSerializer.cpp
M llvm/test/CodeGen/X86/remarks-section.ll
M llvm/unittests/Remarks/RemarksLinkingTest.cpp
M llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp
M llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp
Log Message:
-----------
[Remarks] Remove yaml-strtab format (#144527)
Background: The yaml-strtab format looks just like the yaml format,
except that the values in the key/value pairs of the remarks are
deduplicated and replaced by indices into a string table (see removed
test cases for examples). The motivation behind this format was to
reduce size of the remarks files. However, it was quickly superseded by
the bitstream format.
Therefore, remove the yaml-strtab format, as it doesn't have a good
usecase anymore:
- It isn't particularly efficient
- It isn't human-readable
- It isn't straightforward to parse in external tools that can't use the
remarks library. We don't even support it in opt-viewer.
llvm-remarkutil is also missing options to parse/convert yaml-strtab, so
the chance that anyone is actually using this format is low.
Commit: 671caef379c603d2bcc428a00e3535b230162941
https://github.com/llvm/llvm-project/commit/671caef379c603d2bcc428a00e3535b230162941
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Semantics/resolve-directives.cpp
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/allocate02.f90
M flang/test/Semantics/OpenMP/allocate03.f90
M flang/test/Semantics/OpenMP/allocate05.f90
M flang/test/Semantics/OpenMP/allocate06.f90
M flang/test/Semantics/OpenMP/allocate09.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/deprecation.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
M flang/test/Semantics/OpenMP/parallel-master-goto.f90
Log Message:
-----------
[Flang][OpenMP] Update relevant warnings to emit when OMP >= v5.2 (#144492)
There has been a number of deprecation warnings that have been added to
Flang, however these features are only deprecated when the OpenMP
Version being used is 5.2 or later. Previously, flang did not consider
the version with the warnings so would always be emitted.
Flang now ensures warnings are emitted for the appropriate version of
OpenMP, and tests are updated to reflect this change.
Commit: fda6b751f1b1356e65816f85fbc5b98e78337940
https://github.com/llvm/llvm-project/commit/fda6b751f1b1356e65816f85fbc5b98e78337940
Author: Eric Fiselier <eric at efcs.ca>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M .github/workflows/libcxx-restart-preempted-jobs.yaml
Log Message:
-----------
Fix libc++ restarter job.
A while ago, the test workflow was updated with a new preemption regex,
however it was only applied to the test job, and not the job
that's actually restarting the failed libc++ test runs.
This fix should correct the issue and get the restarter working
again.
Commit: bdac9580f3bc341ccbeeb743ecca656756f5aaec
https://github.com/llvm/llvm-project/commit/bdac9580f3bc341ccbeeb743ecca656756f5aaec
Author: Mircea Trofin <mtrofin at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Scalar/JumpThreading.h
M llvm/lib/Transforms/Scalar/JumpThreading.cpp
Log Message:
-----------
[nfc][jt] Drop `std::optional` pointers (#144548)
The `std::optional` didn't add any semantics that couldn't be modeled with the pointers being `nullptr`.
Commit: c5613dc8635000bc0e8396b8156d5639195776ab
https://github.com/llvm/llvm-project/commit/c5613dc8635000bc0e8396b8156d5639195776ab
Author: lorenzo chelini <l.chelini at icloud.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Conversion/GPUToNVVM/LowerGpuOpsToNVVMOps.cpp
M mlir/test/Conversion/GPUToNVVM/gpu-to-nvvm.mlir
M mlir/test/Integration/GPU/CUDA/dump-ptx.mlir
Log Message:
-----------
[MLIR] Mark LLVM::FMAOp as legal (#144671)
Mark LLVM::FMAOp as legal in configureGpuToNVVMConversionLegality, since
we can handle intrinsic lowering in the NVPTX backend and emit
fma.rn.f32.
Commit: 1d6f1029f7e8cf5468309078da3e85201844b625
https://github.com/llvm/llvm-project/commit/1d6f1029f7e8cf5468309078da3e85201844b625
Author: Sergei Lebedev <185856+superbobry at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/python/mlir/_mlir_libs/_mlir/ir.pyi
Log Message:
-----------
[mlir] [python] Fixed the return type of `MemRefType.get_strides_and_offset` (#144523)
Previously, the return type for `offset` was `list[int]`, which clearly
is not right.
Commit: 9db7502d229b48817521429c2a5d3fb84543fdf9
https://github.com/llvm/llvm-project/commit/9db7502d229b48817521429c2a5d3fb84543fdf9
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/include/__iterator/iterator_traits.h
Log Message:
-----------
[libc++] Move __has_iterator_typedefs to the up-to-C++17 implementation of iterator_traits (#144265)
`__has_iterator_typedefs` is only used in the up-to-C++17 implementation
of `type_traits`. To make that clearer the struct is moved into that
code block.
Commit: 40d2f392106f43a60eea79f433b47a5ce44fc4a4
https://github.com/llvm/llvm-project/commit/40d2f392106f43a60eea79f433b47a5ce44fc4a4
Author: Akira Hatanaka <ahatanak at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Sema/SemaObjC.h
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/test/SemaObjCXX/arc-type-conversion.mm
Log Message:
-----------
[Sema][ObjC] Loosen restrictions on reinterpret_cast involving indirect ARC-managed pointers (#144458)
Allow using reinterpret_cast for conversions between indirect ARC
pointers and other pointer types.
rdar://152905399
Commit: ee070d08163ac09842d9bf0c1315f311df39faf1
https://github.com/llvm/llvm-project/commit/ee070d08163ac09842d9bf0c1315f311df39faf1
Author: Andrei Golubev <andrey.golubev at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizableOpInterface.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationOps.td
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.h
M mlir/include/mlir/Dialect/Bufferization/IR/BufferizationTypeInterfaces.td
M mlir/include/mlir/Dialect/Bufferization/IR/UnstructuredControlFlow.h
M mlir/lib/Dialect/Arith/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizableOpInterface.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationDialect.cpp
M mlir/lib/Dialect/Bufferization/IR/BufferizationOps.cpp
A mlir/lib/Dialect/Bufferization/IR/BufferizationTypeInterfaces.cpp
M mlir/lib/Dialect/Bufferization/IR/CMakeLists.txt
M mlir/lib/Dialect/Bufferization/Transforms/Bufferize.cpp
M mlir/lib/Dialect/Bufferization/Transforms/FuncBufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Linalg/Transforms/ConvertToDestinationStyle.cpp
M mlir/lib/Dialect/SCF/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/Shape/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseGPUCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorCodegen.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/SparseTensorConversion.cpp
M mlir/lib/Dialect/SparseTensor/Transforms/Utils/CodegenUtils.cpp
M mlir/lib/Dialect/Tensor/Transforms/BufferizableOpInterfaceImpl.cpp
M mlir/test/Dialect/Bufferization/Transforms/one-shot-bufferize.mlir
M mlir/test/lib/Dialect/Test/TestOpDefs.cpp
M mlir/test/lib/Dialect/Test/TestOps.h
M mlir/test/lib/Dialect/Test/TestOps.td
M mlir/test/lib/Dialect/Test/TestTypeDefs.td
M mlir/test/lib/Dialect/Test/TestTypes.cpp
Log Message:
-----------
[mlir][bufferization] Support custom types (1/N) (#142986)
Following the addition of TensorLike and BufferLike type interfaces (see
00eaff3e9c897c263a879416d0f151d7ca7eeaff), introduce minimal changes
required to bufferize a custom tensor operation into a custom buffer
operation.
To achieve this, new interface methods are added to TensorLike type
interface that abstract away the differences between existing (tensor ->
memref) and custom conversions.
The scope of the changes is intentionally limited (for example,
BufferizableOpInterface is untouched) in order to first understand the
basics and reach consensus design-wise.
---
Notable changes:
* mlir::bufferization::getBufferType() returns BufferLikeType (instead
of BaseMemRefType)
* ToTensorOp / ToBufferOp operate on TensorLikeType / BufferLikeType.
Operation argument "memref" renamed to "buffer"
* ToTensorOp's tensor type inferring builder is dropped (users now need
to provide the tensor type explicitly)
Commit: 6f4add34801e6ce02a5ebc96df4d1ca479125649
https://github.com/llvm/llvm-project/commit/6f4add34801e6ce02a5ebc96df4d1ca479125649
Author: Omair Javaid <omair.javaid at linaro.org>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
Log Message:
-----------
[compiler-rt] [Fuzzer] Fix ARMv7 test link failure by linking unwinder (#144495)
compiler-rt/lib/fuzzer/tests build was failing on armv7, with undefined
references to unwinder symbols, such as __aeabi_unwind_cpp_pr0.
This occurs because the test is built with `-nostdlib++` but `libunwind`
is not explicitly linked to the final test executable.
This patch resolves the issue by adding CMake logic to explicitly link
the required unwinder to the fuzzer tests, inspired by the same solution
used to fix Scudo build failures by https://reviews.llvm.org/D142888.
Commit: 36038a1048b2aab87ed18f982e960c044ad97670
https://github.com/llvm/llvm-project/commit/36038a1048b2aab87ed18f982e960c044ad97670
Author: Orlando Cazalet-Hyams <orlando.hyams at sony.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/FunctionLoweringInfo.h
M llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
M llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.h
M llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
Log Message:
-----------
[RemoveDIs][NFC] Remove dbg intrinsic handling code from SelectionDAG ISel (#144702)
Commit: 8fc20bffabe7fe6cdc4a9ec1bc79202eba5f1f23
https://github.com/llvm/llvm-project/commit/8fc20bffabe7fe6cdc4a9ec1bc79202eba5f1f23
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Fix bazel build issue caused by 142986 (#144721)
Commit: e4c3b037bc7f5d9a8089de4c509d3e6034735891
https://github.com/llvm/llvm-project/commit/e4c3b037bc7f5d9a8089de4c509d3e6034735891
Author: amordo <iammorjj at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
A llvm/test/Transforms/InstCombine/fmul-tan-cos.ll
Log Message:
-----------
[InstCombine] Fold `tan(x) * cos(x) => sin(x)` (#136319)
This patch enables folding `tan(x) * cos(x) -> sin(x)` under the `contract` flag.
Fixes https://github.com/llvm/llvm-project/issues/34950.
Commit: b53c1e4ee810ac21dab5d27413af1f31a6a4cbfa
https://github.com/llvm/llvm-project/commit/b53c1e4ee810ac21dab5d27413af1f31a6a4cbfa
Author: John Brawn <john.brawn at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelDAGToDAG.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
A llvm/test/CodeGen/AArch64/vector-ldst-offset.ll
M llvm/test/CodeGen/AArch64/zext-to-tbl.ll
Log Message:
-----------
[AArch64] Add ISel for postindex ld1/st1 in big-endian (#144387)
When big-endian we need to use ld1/st1 for vector loads and stores so
that we get the elements in the correct order, but this prevents
postindex addressing from being used. Fix this by adding the appropriate
ISel patterns, plus the relevant changes in ISelLowering and
ISelDAGToDAG to cause postindex addressing to be used.
Commit: 3af4d4e8100fda2a7e1bd0dbbe0914b584ad08d6
https://github.com/llvm/llvm-project/commit/3af4d4e8100fda2a7e1bd0dbbe0914b584ad08d6
Author: Nathan Gauër <brioche at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
A llvm/test/CodeGen/SPIRV/linkage/link-attribute-vk.ll
Log Message:
-----------
[HLSL][SPIR-V] Fix LinkageAttribute emission for BuiltIn (#144701)
BuiltIn variables were missing the visibility attribute, which caused
the Linkage capability to be emitted by the backend.
Commit: 8b8a3699dbdbb5d7865b0fe330d972c3fa380f1e
https://github.com/llvm/llvm-project/commit/8b8a3699dbdbb5d7865b0fe330d972c3fa380f1e
Author: Graham Hunter <graham.hunter at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve2p1-vector-shuffles.ll
Log Message:
-----------
[AArch64] Use dupq (SVE2.1) for segmented lane splats (#144482)
Use the dupq instructions (when available) to represent a splat of the
same lane within each 128b segment of a wider fixed vector.
Commit: 9da9d32670ddbf610f0788236e78b2382037f00b
https://github.com/llvm/llvm-project/commit/9da9d32670ddbf610f0788236e78b2382037f00b
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstructions.td
M llvm/lib/Target/AMDGPU/VOP3Instructions.td
M llvm/test/CodeGen/AMDGPU/idot4s.ll
M llvm/test/CodeGen/AMDGPU/idot4u.ll
M llvm/test/CodeGen/AMDGPU/llvm.frexp.ll
A llvm/test/CodeGen/AMDGPU/sext-in-reg-vector-shuffle.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smax.ll
M llvm/test/CodeGen/AMDGPU/vector-reduce-smin.ll
Log Message:
-----------
[AMDGPU][True16][CodeGen] sext i16 inreg in true16 mode (#144024)
update sext pattern in true16, setting up proper vgpr16 reg use
Commit: 5d502aeddf2a5d93c3fd93103054261acf4d92f3
https://github.com/llvm/llvm-project/commit/5d502aeddf2a5d93c3fd93103054261acf4d92f3
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/lib/Semantics/check-omp-structure.cpp
M flang/test/Semantics/OpenMP/atomic-update-only.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
Log Message:
-----------
[flang][OpenMP] Clarify confusing error message (#144707)
The message "The atomic variable x should occur exactly once among the
arguments of the top-level [...] operator" was intended to convey that
(1) an atomic variable should be an argument, and (2) it should be
exactly one of the arguments. However, the wording turned out to be
sowing confusion instead.
Rework the corresponding check, and emit an individual error message for
each problematic situation:
- "atomic variable cannot be a proper subexpression of an argument",
- "atomic variable should appear as an argument",
- "atomic variable should be exactly one of the arguments".
Fixes https://github.com/llvm/llvm-project/issues/144599
Commit: b5aaf9d988ff2dc652c86271b181bf0497eb97cb
https://github.com/llvm/llvm-project/commit/b5aaf9d988ff2dc652c86271b181bf0497eb97cb
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/InstCombine/InstCombineCalls.cpp
M llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
M llvm/test/Transforms/InstCombine/vp-reverse.ll
Log Message:
-----------
[InstCombine] Implement vp.reverse reordering/elimination through binop/unop (#143963)
This simply copies the structure of the vector.reverse patterns from
just above, and reimplements them for the vp.reverse intrinsics when the
mask is all ones and the EVLs exactly match.
Its unfortunate that we have three different ways to represent a reverse
(shuffle, vector.reverse, and vp.reverse) but I don't see an obvious way
to remove any them because the semantics are slightly different.
This significantly improves vectorization in TSVC_2's s112 and s1112
loops when using EVL tail folding.
Commit: 0fa373c77ded203eddb973c79244c75ee5957eaf
https://github.com/llvm/llvm-project/commit/0fa373c77ded203eddb973c79244c75ee5957eaf
Author: Jon Roelofs <jonathan_roelofs at apple.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
A llvm/test/Transforms/LowerMatrixIntrinsics/phi.ll
M llvm/test/Transforms/LowerMatrixIntrinsics/propagate-backwards-unsupported.ll
Log Message:
-----------
[Matrix] Propagate shape information through PHI insts (#141681)
... and split them as we lower them, avoiding several shuffles in the
process.
Commit: a2cee05449636c8e0d630b2ccdc71f2d422227a9
https://github.com/llvm/llvm-project/commit/a2cee05449636c8e0d630b2ccdc71f2d422227a9
Author: Christopher Ferris <cferris1000 at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M compiler-rt/lib/scudo/standalone/chunk.h
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
Log Message:
-----------
[scudo] Make report pointers const. (#144624)
Mark as many of the reportXX functions that take pointers const. This
avoid the need to use const_cast when calling these functions on an
already const pointer.
Fix reportHeaderCorruption calls where an argument was passed into an
append call that didn't use them.
Commit: 13510c07364dc3ac30f34e73c98ac8dc75e7efc7
https://github.com/llvm/llvm-project/commit/13510c07364dc3ac30f34e73c98ac8dc75e7efc7
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/include/list
M libcxx/include/version
M libcxx/test/std/containers/sequences/list/compare.pass.cpp
M libcxx/test/std/containers/sequences/list/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/list/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/list/incomplete_type.pass.cpp
M libcxx/test/std/containers/sequences/list/iterators.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/support/min_allocator.h
M libcxx/utils/generate_feature_test_macro_components.py
Log Message:
-----------
[libc++] Make list constexpr as part of P3372R3 (#129799)
This patch makes `std::list` constexpr as part of P3372R3.
Fixes #128659.
Commit: 6d785ca4218b18e77e39320bea7f8973c3ea2764
https://github.com/llvm/llvm-project/commit/6d785ca4218b18e77e39320bea7f8973c3ea2764
Author: Ying Yi <ying.yi at sony.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/test/PCH/ignored-pch.c
Log Message:
-----------
[Clang] Fix the clang/test/PCH/ignored-pch.c test. (#144737)
Change the test to check the exit status of the 'ls' command line
(instead of error message) since the error message is different when
running 'ls' command on the different Host machine.
Commit: 2a41350aabd8b7d3e406141a55ce0bb6f5e70a76
https://github.com/llvm/llvm-project/commit/2a41350aabd8b7d3e406141a55ce0bb6f5e70a76
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/mlir/BUILD.bazel
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Fix bazel build issue caused by #142986 second attempt (#144721 didnt… (#144743)
… cover everything)
Commit: dd40c460c42d075c47f0d1a6d83f129655eafe10
https://github.com/llvm/llvm-project/commit/dd40c460c42d075c47f0d1a6d83f129655eafe10
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/include/forward_list
Log Message:
-----------
[libc++] Clean up casts in std::forward_list (#130310)
The patch removes unnecessary casts to `void*` pointers, inline some
casts, and eliminates an identity cast.
Commit: 9827440f1e723423baf4c235e844eb8ac48a8f97
https://github.com/llvm/llvm-project/commit/9827440f1e723423baf4c235e844eb8ac48a8f97
Author: Peng Liu <winner245 at hotmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/experimental/iterator
M libcxx/include/mutex
M libcxx/include/shared_mutex
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each_n.bench.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
Log Message:
-----------
[libc++] Optimize ranges::{for_each, for_each_n} for segmented iterators (#132896)
Previously, the segmented iterator optimization was limited to `std::{for_each, for_each_n}`. This patch
extends the optimization to `std::ranges::for_each` and `std::ranges::for_each_n`, ensuring consistent
optimizations across these algorithms. This patch first generalizes the `std` algorithms by introducing
a `Projection` parameter, which is set to `__identity` for the `std` algorithms. Then we let the `ranges`
algorithms to directly call their `std` counterparts with a general `__proj` argument. Benchmarks
demonstrate performance improvements of up to 21.4x for ``std::deque::iterator`` and 22.3x for
``join_view`` of ``vector<vector<char>>``.
Addresses a subtask of #102817.
Commit: 00189211486d052b25429f11790ef5486cf9d3ce
https://github.com/llvm/llvm-project/commit/00189211486d052b25429f11790ef5486cf9d3ce
Author: woruyu <99597449+woruyu at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
A llvm/test/CodeGen/X86/fold-masked-merge-demorgan.ll
Log Message:
-----------
[DAG] add (~a | x) & (a | y) -> (a & (x ^ y)) ^y for foldMaskedMerge (#144342)
### Summary
This PR resolves https://github.com/llvm/llvm-project/issues/143864
Add (~a | x) & (a | y) -> (a & (x ^ y)) ^y for foldMaskedMerge func
using SDPatternMatch
aftering adding this pattern, run ```ninja check-llvm-codegen```, all
other cases remain unchanged, so I add a
testcase(fold-masked-merge-demorgan.ll) for it
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: fe3933da15b5bc635bce156f1f8d11a784316a07
https://github.com/llvm/llvm-project/commit/fe3933da15b5bc635bce156f1f8d11a784316a07
Author: Yang Bai <baiyang0132 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Vector/IR/VectorOps.cpp
M mlir/test/Dialect/Affine/constant-fold.mlir
M mlir/test/Dialect/Linalg/mesh-spmdization.mlir
M mlir/test/Dialect/Mesh/spmdization.mlir
M mlir/test/Dialect/Tensor/mesh-spmdization.mlir
M mlir/test/Dialect/Tosa/constant_folding.mlir
M mlir/test/Dialect/Vector/constant-fold.mlir
A mlir/test/Dialect/Vector/single-fold.mlir
M mlir/test/Transforms/constant-fold-debuginfo.mlir
M mlir/test/Transforms/constant-fold.mlir
M mlir/test/lib/Transforms/CMakeLists.txt
R mlir/test/lib/Transforms/TestConstantFold.cpp
A mlir/test/lib/Transforms/TestSingleFold.cpp
M mlir/tools/mlir-opt/mlir-opt.cpp
Log Message:
-----------
[mlir][vector] Support complete folding in single pass for vector.insert/vector.extract (#142124)
### Description
This patch improves the folding efficiency of `vector.insert` and
`vector.extract` operations by not returning early after successfully
converting dynamic indices to static indices.
This PR also renames the test pass `TestConstantFold` to
`TestSingleFold` and adds comprehensive documentation explaining the
single-pass folding behavior.
### Motivation
Since the `OpBuilder::createOrFold` function only calls `fold` **once**,
the current `fold` methods of `vector.insert` and `vector.extract` may
leave the op in a state that can be folded further. For example,
consider the following un-folded IR:
```
%v1 = vector.insert %e1, %v0 [0] : f32 into vector<128xf32>
%c0 = arith.constant 0 : index
%e2 = vector.extract %v1[%c0] : f32 from vector<128xf32>
```
If we use `createOrFold` to create the `vector.extract` op, then the
result will be:
```
%v1 = vector.insert %e1, %v0 [127] : f32 into vector<128xf32>
%e2 = vector.extract %v1[0] : f32 from vector<128xf32>
```
But this is not the optimal result. `createOrFold` should have returned
`%e1`.
The reason is that the execution of fold returns immediately after
`extractInsertFoldConstantOp`, causing subsequent folding logics to be
skipped.
---------
Co-authored-by: Yang Bai <yangb at nvidia.com>
Commit: 4084ffcf1e69b962e864aa138bb54dabbcec912f
https://github.com/llvm/llvm-project/commit/4084ffcf1e69b962e864aa138bb54dabbcec912f
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/include/flang/Semantics/dump-expr.h
M flang/lib/Semantics/dump-expr.cpp
Log Message:
-----------
[flang] Show types in DumpEvExpr (#143743)
When dumping evaluate::Expr, show type names which contain a lot of
useful information.
For example show
```
expr <Fortran::evaluate::SomeType> {
expr <Fortran::evaluate::SomeKind<Fortran::common::TypeCategory::Integer>> {
expr <Fortran::evaluate::Type<Fortran::common::TypeCategory::Integer, 4>> {
...
```
instead of
```
expr T {
expr T {
expr T {
...
```
Commit: 2a8c65e983b3f4e1c83d8028d354f7bacc149015
https://github.com/llvm/llvm-project/commit/2a8c65e983b3f4e1c83d8028d354f7bacc149015
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/MachineFunction.cpp
Log Message:
-----------
[CodeGen][NFC] Fix quadratic c-t for large jump tables
Deleting a basic block removes all references from jump tables, which
is O(n). When freeing a MachineFunction, all basic blocks are deleted
before the jump tables, causing O(n^2) runtime. Fix this by deallocating
the jump table first.
Test case generator:
import sys
n = int(sys.argv[1])
print("define void @f(i64 %c, ptr %p) {")
print(" switch i64 %c, label %d [")
for i in range(n):
print(f" i64 {i}, label %h{i}")
print(f" ]")
for i in range(n):
print(f'h{i}:')
print(f' store i64 {i*i}, ptr %p')
print(f' ret void')
print('d:')
print(' ret void')
print('}')
Improvement at 5000 entries:
Benchmark 1: ./llc.pre -filetype=obj -O0 <switch5k.bc
Time (mean ± σ): 49.7 ms ± 1.0 ms
Range (min … max): 48.0 ms … 52.1 ms 57 runs
Benchmark 2: ./llc.post -filetype=obj -O0 <switch5k.bc
Time (mean ± σ): 39.4 ms ± 0.8 ms
Range (min … max): 37.1 ms … 41.1 ms 72 runs
Summary
./llc.post -filetype=obj -O0 <switch5k.bc ran
1.26 ± 0.04 times faster than ./llc.pre -filetype=obj -O0 <switch5k.bc
Improvement at 20000 entries:
Benchmark 1: ./llc.pre -filetype=obj -O0 <switch20k.bc
Time (mean ± σ): 281.7 ms ± 1.0 ms
Range (min … max): 280.2 ms … 283.0 ms 10 runs
Benchmark 2: ./llc.post -filetype=obj -O0 <switch20k.bc
Time (mean ± σ): 123.9 ms ± 1.5 ms
Range (min … max): 121.4 ms … 129.2 ms 23 runs
Summary
./llc.post -filetype=obj -O0 <switch20k.bc ran
2.27 ± 0.03 times faster than ./llc.pre -filetype=obj -O0 <switch20k.bc
Pull Request: https://github.com/llvm/llvm-project/pull/144108
Commit: 77bc25485135b8a8cb2427910a8850fbc4e4be09
https://github.com/llvm/llvm-project/commit/77bc25485135b8a8cb2427910a8850fbc4e4be09
Author: John Brawn <john.brawn at arm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
Log Message:
-----------
[AArch64] Fix build failure with -Werror (#144749)
PR#144387 caused buildbot failures with -Werror due to a comparison
between signed and unsigned types. Fix this with an explicit cast.
Commit: 298f1c276f4f9c18b25a79ffe6e619e89c5fbf7e
https://github.com/llvm/llvm-project/commit/298f1c276f4f9c18b25a79ffe6e619e89c5fbf7e
Author: Artem Belevich <tra at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/Headers/__clang_cuda_intrinsics.h
Log Message:
-----------
Revert "Add missing intrinsics to cuda headers" (#144755)
Reverts llvm/llvm-project#143664
as it breaks CUDA compilation.
Commit: d9f7979a63ceac88727632ecfd522c073288b6c1
https://github.com/llvm/llvm-project/commit/d9f7979a63ceac88727632ecfd522c073288b6c1
Author: Justin King <jcking at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
Log Message:
-----------
sanitizer_common: add unsupported test for free_sized and free_aligned_sized from C23 (#144727)
Signed-off-by: Justin King <jcking at google.com>
Commit: 82acd8c377e9ed267195afdbde16eedebabc648c
https://github.com/llvm/llvm-project/commit/82acd8c377e9ed267195afdbde16eedebabc648c
Author: Lei Huang <lei at ca.ibm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/PowerPC/PPCInstrInfo.cpp
M llvm/lib/Target/PowerPC/PPCInstrInfo.h
M llvm/lib/Target/PowerPC/PPCInstrMMA.td
M llvm/lib/Target/PowerPC/PPCRegisterInfo.cpp
M llvm/test/CodeGen/PowerPC/dmr-spill.ll
A llvm/test/CodeGen/PowerPC/dmrp-spill.ll
Log Message:
-----------
[PowerPC] Add code to spill and restore DMRp registers (#142443)
Commit: 835d3034fe96931cf907537b51b9cdd87b59d3ad
https://github.com/llvm/llvm-project/commit/835d3034fe96931cf907537b51b9cdd87b59d3ad
Author: Tomer Shafir <tomer.shafir8 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
A llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmov-gpr32.ll
R llvm/test/CodeGen/AArch64/arm64-zero-cycle-regmov.ll
Log Message:
-----------
[AArch64] improve zero-cycle regmov test (#143680)
- Add a `gpr32` suffix to test name to denote the specific register
class being checked
- Expand `-mtriple=arm64-apple-ios` to `-march=arm64` to broaden the
test context to the generic architecture, as the specific triple is not
required
- Port `bl` match to Linux too via the regex: `{{_?foo}}`
- Advance `-mcpu=cyclone` to the newer M series major `-mcpu=apple-m1`
- Use `-mcpu` so that `-mattr=-zcm` has a real effect
- Add a test that generic arm64 doesn't optimize for ZCM
- Distinguish 4 different assembly layouts: NOTCPU, CPU, NOTATTR, ATTR
- Fix broken test logic, for example: `; NOT: mov [[REG2:w[0-9]+]], w3`
matched `mov w1, w3` then `REG2` captured `w1` but then `; NOT: mov w1,
[[REG2]]` matched by prefix `mov, w1, w19` even though it should have
matched `mov w1, w1`. This change adds explicit matches for all of the
generated copies.
Commit: 6f4e4ea17745d1414519651eb4067ce14031ea93
https://github.com/llvm/llvm-project/commit/6f4e4ea17745d1414519651eb4067ce14031ea93
Author: sribee8 <sriya.pratipati at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
A libc/src/__support/OSUtil/linux/getrandom.h
M libc/src/sys/random/linux/getrandom.cpp
Log Message:
-----------
[libc] Internal getrandom implementation (#144427)
Implemented an internal getrandom to avoid calls to the public one in
table.h
---------
Co-authored-by: Sriya Pratipati <sriyap at google.com>
Commit: dfe4d44d8de645d151d3483272c1c1f80c27ab31
https://github.com/llvm/llvm-project/commit/dfe4d44d8de645d151d3483272c1c1f80c27ab31
Author: Arthur Eubanks <aeubanks at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.cpp
Log Message:
-----------
Revert "[VPlan] Remove unnecessary DomTreeUpdater flush (NFC)." (#144758)
This reverts commit 2e337349f436d75af112c081df5ec683871cbcc8.
Causes breakages internally, will post reproducer later.
Commit: 071a6feabd7aeec2c1239719f50f6912cf94d00a
https://github.com/llvm/llvm-project/commit/071a6feabd7aeec2c1239719f50f6912cf94d00a
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[TTI] Remove PPC hasActiveVectorLength impl, simplify interface (NFC). (#142310)
PPCTTIImpl defines hasActiveVectorLength and also getVPMemoryOpCost, but
they appear unused (i.e. no changes to tests).
Remove them, as they complicate the interface for hasActiveVectorLength.
This simplifies the only use in LV as now no placeholder values need to
be passed.
PR: https://github.com/llvm/llvm-project/pull/142310
Commit: 3f3526f36d23eac8d099e8e887a924c94000bbfa
https://github.com/llvm/llvm-project/commit/3f3526f36d23eac8d099e8e887a924c94000bbfa
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/test/CodeGen/PowerPC/PR35812-neg-cmpxchg.ll
M llvm/test/CodeGen/PowerPC/all-atomics.ll
M llvm/test/CodeGen/PowerPC/loop-comment.ll
Log Message:
-----------
[NFC][PowerPC] pre-commit running the update_llc_test_checks.py for all-atomics.ll,loop-comment.ll etc (#144411)
Run the update_llc_test_checks.py for all-atomics.ll,loop-comment.ll
,PR35812-neg-cmpxchg.ll (Pre-commit patch for the
https://github.com/llvm/llvm-project/pull/144089)
Commit: 17f5b8b52a3552de1143efb42af6a94d47d8c7fd
https://github.com/llvm/llvm-project/commit/17f5b8b52a3552de1143efb42af6a94d47d8c7fd
Author: Andre Kuhlenschmidt <andre.kuhlenschmidt at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M flang/include/flang/Support/Fortran-features.h
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Support/Fortran-features.cpp
Log Message:
-----------
[flang][driver] add ability to look up feature flags without setting them (#144559)
This just adds some convenience methods to feature control and rewrites
old code in terms of those methods. Also cleans up some names that I
just realize were overloads of another method.
Commit: 8c3fbaf0ee7322e948403d2234a7230bd6137c98
https://github.com/llvm/llvm-project/commit/8c3fbaf0ee7322e948403d2234a7230bd6137c98
Author: Walter J.T.V <81811777+eZWALT at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/include/clang/AST/StmtOpenMP.h
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
Log Message:
-----------
[Clang][OpenMP][LoopTransformations] Fix incorrect number of generated loops for Tile and Reverse directives (#140532)
This patch is closely related to #139293 and addresses an existing issue
in the loop transformation codebase. Specifically, it corrects the
handling of the `NumGeneratedLoops` variable in
`OMPLoopTransformationDirective` AST nodes and its inheritors (such as
OMPUnrollDirective, OMPTileDirective, etc.).
Previously, this variable was inaccurately set for certain
transformations like reverse or tile. While this did not lead to
functional bugs, since the value was only checked to determine whether
it was greater than zero or equal to zero, the inconsistency could
introduce problems when supporting more complex directives in the
future.
Commit: ab6beeca9ccc1968661eea27c1a55e8734f7437b
https://github.com/llvm/llvm-project/commit/ab6beeca9ccc1968661eea27c1a55e8734f7437b
Author: uthmanna <114300283+uthmanna at users.noreply.github.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/tools/llvm-cov/CoverageExporterJson.cpp
Log Message:
-----------
[llvm-cov] Export decision coverage to output json (#144335)
This commit adds decision coverage counts derived from MC/DC test vector execution to the JSON output of llvm-cov, as
discussed here: [Missing Decision Coverage (DC) in output
json](https://discourse.llvm.org/t/missing-decision-coverage-dc-in-output-json/86783)
with @evodius96
---------
Co-authored-by: uthmanna <andre.uthmann at vector.com>
Commit: ca9a09dbe679dbdd4d47cb7894977e04c3bb914e
https://github.com/llvm/llvm-project/commit/ca9a09dbe679dbdd4d47cb7894977e04c3bb914e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M libcxx/docs/ABIGuarantees.rst
Log Message:
-----------
[libc++] Fix a typo in documentation (#144763)
Commit: a94eb27a29ef3aee5ccafc1d7bebee1c8efbaf38
https://github.com/llvm/llvm-project/commit/a94eb27a29ef3aee5ccafc1d7bebee1c8efbaf38
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
Log Message:
-----------
[HashRecognize] Fix big-endian CRC tables (#144754)
Big-endian CRC tables are incorrect due to the initial value of CRC in
genSarwateTable being hard-coded for CRC-8. 128 is the signed-min value
for CRC-8, but it should be generalized to APInt::getSignedMinValue. The
issue was found when writing CRC verification tests for llvm-test-suite.
Commit: f13b9e3643661ea2cda252c7e2c59ace036407c7
https://github.com/llvm/llvm-project/commit/f13b9e3643661ea2cda252c7e2c59ace036407c7
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/HashRecognize.h
M llvm/lib/Analysis/HashRecognize.cpp
Log Message:
-----------
[HashRecognize] Don't const-qualify Values in result (#144752)
Const-qualifying Values in the analysis result makes them unusable with
IRBuilder. The issue was discovered when attempting to use the result of
the analysis for a transform.
Commit: 156a64c585faf0870936b62ec85fae19ceb9ad3f
https://github.com/llvm/llvm-project/commit/156a64c585faf0870936b62ec85fae19ceb9ad3f
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/test/Analysis/HashRecognize/cyclic-redundancy-check.ll
Log Message:
-----------
[HashRecognize] Tighten pre-conditions for analysis (#144757)
Exit early if the TC is not a byte-multiple, as optimization works by
dividing TC by 8. Also delay the SCEV TC query.
Commit: 88d250729eb00842a41c946632bcacf1af106f64
https://github.com/llvm/llvm-project/commit/88d250729eb00842a41c946632bcacf1af106f64
Author: Alan Phipps <a-phipps at ti.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/ProfileData/Coverage/CoverageMapping.h
M llvm/tools/llvm-cov/CoverageExporterJson.cpp
Log Message:
-----------
Revert "[llvm-cov] Export decision coverage to output json" (#144783)
Reverts llvm/llvm-project#144335
Need to resolve test failures
Commit: fb0651959b1b6ae64f84cf5840adc95923af991f
https://github.com/llvm/llvm-project/commit/fb0651959b1b6ae64f84cf5840adc95923af991f
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/trampoline.ll
Log Message:
-----------
[AArch64] fix trampoline implementation: actually use X15 (#143892)
A incorrect switch statement caused it to try to use X4 instead of X15
in #126743, which would have not worked.
Commit: c04fc5596ec8c197c75b92a086c31438bfb08faf
https://github.com/llvm/llvm-project/commit/c04fc5596ec8c197c75b92a086c31438bfb08faf
Author: Jameson Nash <vtjnash at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/MemCpyOptimizer.cpp
M llvm/test/Transforms/MemCpyOpt/memcpy-memcpy-offset.ll
M llvm/test/Transforms/MemCpyOpt/variable-sized-memcpy-memcpy.ll
Log Message:
-----------
[MemCpyOpt] allow some undef contents overread in processMemCpyMemCpyDependence (#143745)
Allows memcpy to memcpy forwarding in cases where the second memcpy is
larger, but the overread is known to be undef, by shrinking the memcpy
size.
Refs https://github.com/llvm/llvm-project/pull/140954 which laid some of
the groundwork for this.
Commit: 67c52aacae2aa698eb1d31d81d2376bd77723d3a
https://github.com/llvm/llvm-project/commit/67c52aacae2aa698eb1d31d81d2376bd77723d3a
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/test/CIR/CodeGen/struct.c
Log Message:
-----------
[CIR] Upstream support for IncompleteArrayType (#144138)
This change adds the basic support for IncompleteArray
Issue https://github.com/llvm/llvm-project/issues/130197
Commit: d4b7c0d8b437f50ea254d814a1aeecf87a17be91
https://github.com/llvm/llvm-project/commit/d4b7c0d8b437f50ea254d814a1aeecf87a17be91
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/Remarks/RemarkFormat.h
M llvm/include/llvm/Remarks/RemarkLinker.h
M llvm/lib/Remarks/RemarkFormat.cpp
M llvm/lib/Remarks/RemarkLinker.cpp
M llvm/lib/Remarks/RemarkParser.cpp
M llvm/lib/Remarks/RemarkSerializer.cpp
A llvm/test/tools/llvm-remarkutil/Inputs/broken-remark-magic.bitstream
M llvm/test/tools/llvm-remarkutil/annotation-count.test
A llvm/test/tools/llvm-remarkutil/broken-bitstream-remark-magic.test
M llvm/test/tools/llvm-remarkutil/empty-file.test
M llvm/test/tools/llvm-remarkutil/instruction-count.test
M llvm/test/tools/llvm-remarkutil/instruction-mix.test
M llvm/test/tools/llvm-remarkutil/size-diff/no-difference.test
M llvm/tools/llvm-remarkutil/RemarkUtilHelpers.h
M llvm/unittests/Remarks/RemarksLinkingTest.cpp
Log Message:
-----------
[Remarks] Auto-detect remark parser format (#144554)
Add remark format 'Auto', which performs automatic detection of the
remark format using the magic numbers at the beginning of the remarks
files.
The RemarkLinker already did something similar, so we streamlined this
and exposed this to llvm-remarkutil.
Commit: 22a69a266d8206b1585dd82d466cd96d01725a65
https://github.com/llvm/llvm-project/commit/22a69a266d8206b1585dd82d466cd96d01725a65
Author: Justin King <jcking at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/lsan/lsan_allocator.h
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/lsan/lsan_malloc_mac.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
M compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
Log Message:
-----------
lsan: Support free_sized and free_aligned_sized from C23 (#144604)
Adds support to LSan for `free_sized` and `free_aligned_sized` from C23.
Other sanitizers will be handled with their own separate PRs.
For https://github.com/llvm/llvm-project/issues/144435
This is attempt number 2.
Signed-off-by: Justin King <jcking at google.com>
Commit: 23b8f11b27f1345cfdd9d03c9ebaccaf81897764
https://github.com/llvm/llvm-project/commit/23b8f11b27f1345cfdd9d03c9ebaccaf81897764
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlan.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[VPlan] Remove redundant VPWidenRecipe constructors (NFC)
Since the removal of VPWidenEVLRecipe, the constructors taking a
VPDefOpcode are not needed any more. Remove them.
Commit: a630ca6f6c4727d852d60076d1179c3e9830ca2f
https://github.com/llvm/llvm-project/commit/a630ca6f6c4727d852d60076d1179c3e9830ca2f
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/Debugger.h
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
A lldb/test/API/terminal/TestDisabledBreakpoints.py
Log Message:
-----------
[lldb][breakpoint] Grey out disabled breakpoints (#91404)
This commit adds colour settings to the list of breakpoints in order to
grey out breakpoints that have been disabled.
Commit: a88e655809655eec8fa85366318fb3c4a0baa113
https://github.com/llvm/llvm-project/commit/a88e655809655eec8fa85366318fb3c4a0baa113
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Support/BLAKE3/CMakeLists.txt
Log Message:
-----------
[llvm] build Blake3 source with LLVM_EXPORTS defined (#144753)
## Purpose
This patch ensures that the BLAKE3 implementation in the LLVM Support
library exports its public interface with `__declspec(dllexport)` when
building LLVM as a Windows DLL.
## Background
The effort to support building LLVM as a Windows DLL is tracked in
#109483. Additional context is provided in [this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307).
## Overview
Replicate [this
logic](https://github.com/llvm/llvm-project/blob/main/llvm/cmake/modules/AddLLVM.cmake#L662-L664)
from `llvm_add_library()` for the `LLVMSupportBlake3` target. Without
this change, the `llvm_blake_` functions will only be annotated with
`__declspec(dllimport)` when building LLVM as a Windows DLL which leads
to inconsistent DLL linkage warnings from MSVC and `clang-cl`.
Commit: 96bbe472ef01e5f34bfeabedceea397889ff1119
https://github.com/llvm/llvm-project/commit/96bbe472ef01e5f34bfeabedceea397889ff1119
Author: Jakub Kuderski <jakub at nod-labs.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Target/SPIRV/Serialization/Serializer.cpp
M mlir/test/CMakeLists.txt
M mlir/test/Target/SPIRV/constant.mlir
R mlir/test/Target/SPIRV/lit.local.cfg
M mlir/test/lit.cfg.py
M mlir/test/lit.site.cfg.py.in
M utils/bazel/llvm-project-overlay/mlir/test/BUILD.bazel
Log Message:
-----------
Revert "[mlir][spirv] Fix int type declaration duplication when serializing" and follow up commits (#144773)
This reverts the following PRs:
* https://github.com/llvm/llvm-project/pull/143108
* https://github.com/llvm/llvm-project/pull/144538
* https://github.com/llvm/llvm-project/pull/144685
Reverting because this disabled tests when building without the llvm
spirv backend enabled.
Commit: b85e92990fdec32ec7512dec7bd36d945f8e0144
https://github.com/llvm/llvm-project/commit/b85e92990fdec32ec7512dec7bd36d945f8e0144
Author: Alexey Karyakin <akaryaki at quicinc.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELF.h
Log Message:
-----------
Hexagon v87 v89 elf flags (#144584)
Commit: 7aecd7ecacb4b305b94149f3cfcef306a9da6beb
https://github.com/llvm/llvm-project/commit/7aecd7ecacb4b305b94149f3cfcef306a9da6beb
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
M mlir/include/mlir/IR/OpBase.td
M mlir/lib/TableGen/Operator.cpp
M mlir/test/Dialect/Vector/invalid.mlir
M mlir/test/Dialect/Vector/ops.mlir
M mlir/tools/mlir-tblgen/OpFormatGen.cpp
Log Message:
-----------
[mlir][Vector] Add `vector.to_elements` op (#141457)
This PR introduces the `vector.to_elements` op, which decomposes a
vector into its scalar elements. This operation is symmetrical to the
existing `vector.from_elements`.
Examples:
```
// Decompose a 0-D vector.
%0 = vector.to_elements %v0 : vector<f32>
// %0 = %v0[0]
// Decompose a 1-D vector.
%0:2 = vector.to_elements %v1 : vector<2xf32>
// %0#0 = %v1[0]
// %0#1 = %v1[1]
// Decompose a 2-D.
%0:6 = vector.to_elements %v2 : vector<2x3xf32>
// %0#0 = %v2[0, 0]
// %0#1 = %v2[0, 1]
// %0#2 = %v2[0, 2]
// %0#3 = %v2[1, 0]
// %0#4 = %v2[1, 1]
// %0#5 = %v2[1, 2]
```
This op is aimed at reducing code size when modeling "structured" vector
extractions and simplifying canonicalizations of large sequences of
`vector.extract` and `vector.insert` ops into `vector.shuffle` and other
sophisticated ops that can re-arrange vector elements.
Commit: 86d1d6b2c0c1f03e82cb8e360f2672c6f0ea39d5
https://github.com/llvm/llvm-project/commit/86d1d6b2c0c1f03e82cb8e360f2672c6f0ea39d5
Author: Nick Sarnie <nick.sarnie at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
Log Message:
-----------
[clang] Use TargetInfo to determine device kernel calling convention (#144728)
We should abstract this logic away to `TargetInfo`. See
https://github.com/llvm/llvm-project/pull/137882 for more information.
---------
Signed-off-by: Sarnie, Nick <nick.sarnie at intel.com>
Commit: 03bdc0a1f68adcddef80a4e7931dbfae914e5652
https://github.com/llvm/llvm-project/commit/03bdc0a1f68adcddef80a4e7931dbfae914e5652
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M lldb/source/Target/Target.cpp
M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
Log Message:
-----------
[lldb][target] Add progress report for wait-attaching to process (#144768)
This commit adds a progress report when wait-attaching to a process as
well as a test for this.
Commit: 4dca4459a328b8d589d81cd1f203b798c36ebf35
https://github.com/llvm/llvm-project/commit/4dca4459a328b8d589d81cd1f203b798c36ebf35
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
M clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/test/CIR/CodeGen/complex.cpp
Log Message:
-----------
[CIR] Upstream ComplexType builtin_complex (#144225)
This change adds support for builtin_complex
https://github.com/llvm/llvm-project/issues/141365
Commit: ac37a0df949afc31d12de75f85306db32dd50713
https://github.com/llvm/llvm-project/commit/ac37a0df949afc31d12de75f85306db32dd50713
Author: Diego Caballero <dieg0ca6aller0 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/IR/OpBase.td
Log Message:
-----------
[mlir] Fix integer comparison warning (#144794)
Introduced by https://github.com/llvm/llvm-project/pull/141457
Commit: d10079e305acae58b44dc773cb94f7127de197ef
https://github.com/llvm/llvm-project/commit/d10079e305acae58b44dc773cb94f7127de197ef
Author: Min-Yih Hsu <min.hsu at sifive.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVVectorPeephole.cpp
M llvm/test/CodeGen/RISCV/rvv/masked-load-int.ll
M llvm/test/CodeGen/RISCV/rvv/vl-opt-instrs.ll
Log Message:
-----------
[RISCV] Reduce the VL of both operands in VMERGE_VVM (#144759)
The `tryToReduceVL` function in RISCVVectorPeephole currently only
reduces the VL of the instruction that defines the true operand in
VMERGE_VVM. We should be able to reduce VL of both operands. This patch
generalizes this function to support multiple operands from a single
instruction.
Commit: c4d7ea8049688a1d6d6d93129893fd1700a9f7e5
https://github.com/llvm/llvm-project/commit/c4d7ea8049688a1d6d6d93129893fd1700a9f7e5
Author: Javier Lopez-Gomez <javier.lopez.gomez at proton.me>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVElement.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVScope.h
M llvm/include/llvm/DebugInfo/LogicalView/Core/LVSupport.h
Log Message:
-----------
[llvm-debuginfo-analyzer] Apply various memory savings in Core/LVxxx base classes (#144399)
This small changelist reduces memory footprint of instances of the Core
classes. Specifically,
- For `LVProperties`, use underlying type of `uint32_t` if there are at
most 32 properties to keep track of. Otherwise, fallback to the generic
`std::bitset<N>`.
The use of `llvm::SmallBitVector` is disregarded in this case, as the
upper bound on the size of the bitset can be determined statically (no
heap alloc ever needed).
- Reorder members in `LVElement` s.t. padding between members is
reduced.
- `LVScopeCompileUnit`: fix a couple of members which should be `static
constexpr` instead.
Commit: 51aa6a4993ea18c968a087352d1cf569c840c41f
https://github.com/llvm/llvm-project/commit/51aa6a4993ea18c968a087352d1cf569c840c41f
Author: Ebuka Ezike <yerimyah1 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M lldb/test/API/tools/lldb-dap/memory/TestDAP_memory.py
M lldb/tools/lldb-dap/Handler/ReadMemoryRequestHandler.cpp
M lldb/tools/lldb-dap/Handler/RequestHandler.h
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.cpp
M lldb/tools/lldb-dap/Protocol/ProtocolRequests.h
M lldb/unittests/DAP/ProtocolTypesTest.cpp
Log Message:
-----------
[lldb-dap] Use protocol types for ReadMemory request (#144552)
Read memory from process instead of target.
Commit: 118bfcda46c17349575217bc901e8e5942521955
https://github.com/llvm/llvm-project/commit/118bfcda46c17349575217bc901e8e5942521955
Author: Jianhui Li <jian.hui.li at intel.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/lib/Dialect/XeGPU/Transforms/XeGPUBlocking.cpp
M mlir/test/Dialect/XeGPU/xegpu-blocking.mlir
M mlir/test/lib/Dialect/XeGPU/TestXeGPUTransforms.cpp
Log Message:
-----------
[MLIR][XEGPU] Add blocking support for scatter ops (#144766)
Add blocking support for scatter ops: Create_tdesc, update, prefetch,
load and store. It also enables the load/store with chunk size.
Commit: 7b6963ea672f8fedbbaefd15eaca943495709d37
https://github.com/llvm/llvm-project/commit/7b6963ea672f8fedbbaefd15eaca943495709d37
Author: Muhammad Omair Javaid <omair.javaid at linaro.org>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
Log Message:
-----------
[compiler-rt] [Fuzzer] Fix tests linking buildbot failure (#144495)
Fix for #144495 by 6f4add3 broke sanitizer-aarch64-linux buildbot.
compiler-rt/lib/fuzzer/tests build failed because the linker was
looking gcc_s without '-l' appended.
The CMake script was adding the library name without the required
'-l' prefix. This patch adds the -l prefix changing gcc_s to -lgcc_s
and gcc to -lgcc.
https://lab.llvm.org/buildbot/#/builders/51/builds/18170
Commit: 00ae89a1cbece94412cf832e47fdf449a611ad24
https://github.com/llvm/llvm-project/commit/00ae89a1cbece94412cf832e47fdf449a611ad24
Author: zGoldthorpe <Zach.Goldthorpe at amd.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/IPO/Attributor.h
M llvm/lib/Transforms/IPO/Attributor.cpp
M llvm/lib/Transforms/IPO/AttributorAttributes.cpp
R llvm/test/Transforms/Attributor/AMDGPU/tag-invariant-loads.ll
M llvm/test/Transforms/Attributor/dereferenceable-1.ll
M llvm/test/Transforms/Attributor/value-simplify-local-remote.ll
Log Message:
-----------
Revert "[IPO] Added attributor for identifying invariant loads" (#144808)
Reverts llvm/llvm-project#141800
The implementation critically misunderstands the `AAMemoryBehavior`
attributor, which it relies on heavily.
@shiltian, since I do not have commit permissions.
Commit: e0933ab5ae4856c4aa188a5ea16716b3a8d0840b
https://github.com/llvm/llvm-project/commit/e0933ab5ae4856c4aa188a5ea16716b3a8d0840b
Author: Chelsea Cassanova <chelsea_cassanova at apple.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M lldb/source/Target/Target.cpp
M lldb/test/API/functionalities/progress_reporting/TestProgressReporting.py
Log Message:
-----------
Revert "[lldb][target] Add progress report for wait-attaching to process" (#144810)
This is breaking TestCreateAfterAttach.py on Ubuntu:
```
======================================================================
FAIL: test_create_after_attach_dwo (TestCreateAfterAttach.CreateAfterAttachTestCase.test_create_after_attach_dwo)
Test thread creation after process attach.
----------------------------------------------------------------------
Traceback (most recent call last):
File "/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1804, in test_method
return attrvalue(self)
^^^^^^^^^^^^^^^
File "/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/decorators.py", line 149, in wrapper
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/test/API/functionalities/thread/create_after_attach/TestCreateAfterAttach.py", line 36, in test_create_after_attach
self.runCmd("process attach -p " + str(pid))
File "/home/buildbot/worker/as-builder-9/lldb-remote-linux-ubuntu/llvm-project/lldb/packages/Python/lldbsuite/test/lldbtest.py", line 1005, in runCmd
self.assertTrue(self.res.Succeeded(), msg + output)
AssertionError: False is not true : Command 'process attach -p 1474309' did not return successfully
Error output:
error: attach failed: lost connection
```
on the buildbots for lldb-remote-linux-ubuntu, lldb-arm-ubuntu,
lldb-aarch64-ubuntu, lldb-arm-ubuntu.
Commit: 780c0ef7fb97027aa21c2ee6b02282693f908a20
https://github.com/llvm/llvm-project/commit/780c0ef7fb97027aa21c2ee6b02282693f908a20
Author: Andrew Rogers <andrurogerz at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/tools/llvm-jitlink/llvm-jitlink-executor/CMakeLists.txt
Log Message:
-----------
[llvm] explicitly link llvm-jitlink-executor with ExecutionEngine (#144778)
## Overview
Explicitly link `llvm-jitlink-executor` with `ExecutionEngine` to avoid
link failures when building LLVM as a Windows DLL. This link dependency
should probably have always been declared here, but didn't matter when
building against an LLVM static library because it was (presumably)
picked up as a transitive dependency.
This change is required to enable the Windows DLL build because
`llvm-jitlink-executor` is declared using `add_llvm_utility` which
invokes `add_llvm_executable` with
[`DISABLE_LLVM_LINK_LLVM_DYLIB`](https://github.com/llvm/llvm-project/blob/main/llvm/cmake/modules/AddLLVM.cmake#L500-L502)
so it links statically against its dependencies instead of against the
main LLVM library.
## Background
The effort to support building LLVM as a Windows DLL is tracked in
#109483. Additional context is provided in [this
discourse](https://discourse.llvm.org/t/psa-annotating-llvm-public-interface/85307).
Commit: bb1f5c3189c4d8d30e3b1273e0b774a7ccdbd86a
https://github.com/llvm/llvm-project/commit/bb1f5c3189c4d8d30e3b1273e0b774a7ccdbd86a
Author: Guy David <49722543+guy-david at users.noreply.github.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64Subtarget.cpp
M llvm/test/CodeGen/AArch64/min-jump-table.ll
Log Message:
-----------
[AArch64] Lower jump table cases threshold to 10 (#143632)
Previous stabs at this setting
(https://github.com/llvm/llvm-project/pull/71166) hypertuned it for
SPEC2017, but Clang's own compilation can benefit from a slightly lower
threshold, yielding a 0.3% improvement in compile time, while still not
regressing SPEC.
Most notable beneficiaries of this change are:
- `llvm::Instruction::getNumSuccessors` (11 cases)
- `llvm::Instruction::getSuccessor` (11 cases)
Test Suite with a bootstrapped build:
```
Tests: 4316
Metric: compile_time
Program compile_time
lhs rhs diff
SingleSour...ce/UnitTests/SignlessTypes/div 0.02 0.02 3.0%
SingleSour.../UnitTests/SignlessTypes/cast2 0.02 0.02 2.8%
SingleSource/Benchmarks/Misc/flops-4 0.02 0.02 1.9%
SingleSour...ebra/solvers/cholesky/cholesky 0.05 0.05 1.8%
SingleSour...tTests/2020-01-06-coverage-006 0.02 0.02 1.7%
SingleSour...ce/Benchmarks/Stanford/FloatMM 0.03 0.03 1.7%
SingleSour...9-04-16-BitfieldInitialization 0.02 0.02 1.7%
SingleSour...nitTests/2003-07-08-BitOpsTest 0.02 0.02 1.7%
MultiSourc...marks/Prolangs-C++/vcirc/vcirc 0.02 0.02 1.6%
MultiSourc...Prolangs-C/fixoutput/fixoutput 0.05 0.05 1.5%
SingleSour...h/stencils/jacobi-1d/jacobi-1d 0.04 0.04 1.4%
MultiSourc...rks/Prolangs-C++/office/office 0.28 0.28 1.4%
SingleSour...arks/Adobe-C++/functionobjects 0.39 0.40 1.3%
SingleSour...Tests/2003-10-29-ScalarReplBug 0.02 0.02 1.2%
SingleSour...arks/Adobe-C++/stepanov_vector 0.41 0.42 1.2%
Geomean difference -0.3%
compile_time
l/r lhs rhs diff
count 4316.000000 4316.000000 469.000000
mean 0.057747 0.057595 -0.003034
std 0.544528 0.543139 0.007625
min 0.000000 0.000000 -0.035294
25% 0.000000 0.000000 -0.007006
50% 0.000000 0.000000 -0.003257
75% 0.000000 0.000000 0.000000
max 18.295300 18.252500 0.030151
```
Commit: 5f69d680e2cc94dcb30a7f29e8144725530a6da4
https://github.com/llvm/llvm-project/commit/5f69d680e2cc94dcb30a7f29e8144725530a6da4
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
R clang/test/AST/HLSL/vk.spec-constant.usage.hlsl
A clang/test/CodeGenHLSL/inline-spirv/SpirvType.alignment.hlsl
A clang/test/CodeGenHLSL/inline-spirv/SpirvType.hlsl
R clang/test/CodeGenHLSL/vk-features/SpirvType.alignment.hlsl
R clang/test/CodeGenHLSL/vk-features/SpirvType.hlsl
R clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
R clang/test/SemaHLSL/vk.spec-constant.error.hlsl
Log Message:
-----------
Revert "[HLSL][SPIRV] Add vk::constant_id attribute." (#144812)
Reverts llvm/llvm-project#143544
Commit: d265105b8f50718a684d792d3ca957231d668533
https://github.com/llvm/llvm-project/commit/d265105b8f50718a684d792d3ca957231d668533
Author: David Justo <david.justo.1996 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M compiler-rt/test/fuzzer/uncaught-exception.test
Log Message:
-----------
Augment `uncaught-exception.test` fuzzer test to be msvc-compatible (#125924)
Today, the `uncaught-exception.test` fuzzer test checks for the string
"libFuzzer: deadly signal" in the program output as the result of an
uncaught exception.
Although this is correct for `clang`, `msvc` reports a different error
message: "libFuzzer: uncaught C++ exception". Since `msvc` reuses the
`libFuzzer` infrastructure for ASan regression testing, it would help us
greatly if the test handled the `msvc` divergence more gracefully.
**This PR:** augments this test so check for a different string (namely
"libFuzzer: uncaught C++ exception") if the compiler target matches the
`msvc` naming scheme.
I understand if this is outside the scope of support for LLVM as well,
and I'm also open for different approaches here. Thanks!
Commit: bc8908a4e93b0641e1c17f408885c8aebb308bbe
https://github.com/llvm/llvm-project/commit/bc8908a4e93b0641e1c17f408885c8aebb308bbe
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.h
Log Message:
-----------
ARM: Move declaration of supportSplitCSR to be public (#144679)
This is an implementation of a public method from the base
class, so it should also be public. Avoids unrelated diff
in a future patch.
Commit: 874a02f05b6ebb4b5dbe0ab09beb9c3d5b36e237
https://github.com/llvm/llvm-project/commit/874a02f05b6ebb4b5dbe0ab09beb9c3d5b36e237
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMAsmPrinter.cpp
M llvm/lib/Target/ARM/ARMAsmPrinter.h
M llvm/lib/Target/ARM/ARMFastISel.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMISelLowering.h
M llvm/lib/Target/ARM/ARMSubtarget.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
M llvm/lib/Target/ARM/ARMTargetMachine.cpp
M llvm/lib/Target/ARM/ARMTargetMachine.h
Log Message:
-----------
ARM: Move ABI helpers from Subtarget to TargetMachine (#144680)
These are module level concepts, and attaching them to the
function level subtarget is confusing. Similarly these other
helpers that only operate on the triple should also be removed
from the subtarget.
Commit: 6e5ee4aa98f1dc16e6a75a7fd298a59f1edd1c6e
https://github.com/llvm/llvm-project/commit/6e5ee4aa98f1dc16e6a75a7fd298a59f1edd1c6e
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVCallingConv.td
M llvm/lib/Target/RISCV/RISCVRegisterInfo.cpp
M llvm/test/CodeGen/RISCV/interrupt-attr.ll
A llvm/test/CodeGen/RISCV/rvv/interrupt-attr-nocall.ll
Log Message:
-----------
[RISCV] Save vector registers in interrupt handler. (#143808)
Corresponding gcc bug report
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110665
The generated code is pretty awful.
Commit: 2bcdfa198aa511479c46144c5cf95c7c685384ef
https://github.com/llvm/llvm-project/commit/2bcdfa198aa511479c46144c5cf95c7c685384ef
Author: Sirui Mu <msrlancern at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/test/CIR/CodeGen/call.c
M clang/test/CIR/IR/call.cir
Log Message:
-----------
[CIR] Add side effect attribute to call operations (#144201)
This patch adds `side_effect` attribute to `cir.call` operation.
Other function call attributes will be added in later patches.
Commit: faf9295f4e3a23a972d29e2be85052beef409d08
https://github.com/llvm/llvm-project/commit/faf9295f4e3a23a972d29e2be85052beef409d08
Author: MingYan <99472920+NexMing at users.noreply.github.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInsertVSETVLI.cpp
M llvm/test/CodeGen/RISCV/rvv/vsetvli-insert-crossbb.mir
Log Message:
-----------
[RISCV] Fix a bug where AVL is the last MI in MBB. (#144668)
When `AVL` is the last MI, `std::next(II)` equals `MBB.end()`, and
calling `II->getParent()` at that point will cause an error.
---------
Co-authored-by: yanming <ming.yan at terapines.com>
Commit: bfee625821c07d9a05b48e4a8b0f3d73c1233107
https://github.com/llvm/llvm-project/commit/bfee625821c07d9a05b48e4a8b0f3d73c1233107
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicsNVVM.td
M llvm/lib/IR/Verifier.cpp
A llvm/test/Verifier/NVPTX/fence-proxy.tensormap.ll
M llvm/test/Verifier/NVPTX/setmaxnreg.ll
Log Message:
-----------
[NVPTX] Attach Range attr to setmaxnreg and fence intrinsics (#144120)
This patch attaches the range attribute to the setmaxnreg
and fence.proxy.tensormap.* intrinsics. The range checks
are now handled generically in the Verifier. So, this patch
removes the per-intrinsic error-handling for range-checks
from the Verifier.
This patch also adds more coverage tests for these cases.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 5875fafdc547889fb089c943a881a9ab6d8a23c0
https://github.com/llvm/llvm-project/commit/5875fafdc547889fb089c943a881a9ab6d8a23c0
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Remove CLDEMOTE from Alderlake and later hybrid processors (#144662)
SDM doesn't list any hybrid processors in this feature. Besides,
physical machine also reports not supported.
Commit: 351303c28e8feb85c93d8e9480f534653b032735
https://github.com/llvm/llvm-project/commit/351303c28e8feb85c93d8e9480f534653b032735
Author: Han-Chung Wang <hanhan0912 at gmail.com>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/include/mlir/IR/BuiltinOps.td
Log Message:
-----------
[mlir][docs] Fix broken links to Traits documentation. (#144820)
Commit: 7b989ade35a43357f9152198ee2c76899df9a56d
https://github.com/llvm/llvm-project/commit/7b989ade35a43357f9152198ee2c76899df9a56d
Author: Med Ismail Bennani <ismail at bennani.ma>
Date: 2025-06-18 (Wed, 18 Jun 2025)
Changed paths:
M lldb/examples/python/crashlog.py
M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/altered_threadState.test
M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/json.test
M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/no_threadState.test
M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/skipped_status_interactive_crashlog.test
M lldb/test/Shell/ScriptInterpreter/Python/Crashlog/text.test
Log Message:
-----------
[lldb/crashlog] Make interactive mode the new default (#144839)
This patch makes interactive mode as the default when using the crashlog
command. It replaces the existing `-i|--interactive` flag with a new
`-m|--mode` option, that can either be `interactive` or `batch`.
By default, when the option is not explicitely set by the user, the
interactive mode is selected, however, lldb will fallback to batch mode
if the command interpreter is not interactive or if stdout is not a tty.
This also adds some railguards to prevent users from using interactive
only options with the batch mode and updates the tests accordingly.
rdar://97801509
Differential Revision: https://reviews.llvm.org/D141658
Signed-off-by: Med Ismail Bennani <ismail at bennani.ma>
Commit: 590066bee70db37636311881c5b232464d6d4aec
https://github.com/llvm/llvm-project/commit/590066bee70db37636311881c5b232464d6d4aec
Author: Rajat Bajpai <rbajpai at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/docs/NVPTXUsage.rst
M llvm/lib/Target/NVPTX/NVPTX.td
M llvm/lib/Target/NVPTX/NVPTXInstrInfo.td
M llvm/lib/Target/NVPTX/NVPTXSubtarget.h
M llvm/test/CodeGen/NVPTX/sm-version.ll
Log Message:
-----------
[NVPTX] Add family-specific architectures support (#141899)
This change adds family-specific architecture variants support added in [PTX ISA
8.8](https://docs.nvidia.com/cuda/parallel-thread-execution/#ptx-isa-version-8-8).
These architecture variants have "f" suffix. For example, sm_100f.
This change doesn't promote existing features to family-specific
architecture.
Commit: 03461c9c6e21e43a6e1c699bfb254ddb3d575c93
https://github.com/llvm/llvm-project/commit/03461c9c6e21e43a6e1c699bfb254ddb3d575c93
Author: Hsiangkai Wang <hsiangkai.wang at arm.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/GPU/IR/GPUOps.td
M mlir/lib/Conversion/GPUToSPIRV/GPUToSPIRV.cpp
M mlir/test/Conversion/GPUToSPIRV/shuffle.mlir
Log Message:
-----------
[mlir][gpu][spirv] Remove rotation semantics of gpu.shuffle up/down (#139105)
>From the description of gpu.shuffle operation, shuffle up/down rotates
values in the subgroup because it applies modulo on the shifted value to
calculate the result lane ID. It is inconsistent with the definition of
SPIR-V shuffle up/down and NVVM data movement definitions within
subgroup.
In NVVM, it says
"If the computed source lane index j is in range, the returned i32 value
will be the value of %a from lane j; otherwise, it will be the the value
of %a from the current thread."
It will keep the original value if the result land ID is out of range.
In SPIR-V OpGroupNonUniformShuffleUp and OpGroupNonUniformShuffleDown,
it says
"The resulting value is undefined if Delta is greater than the current
invocation’s id within the scope or if the identified invocation is not
in scope restricted tangle."
It's an undefined value if the result land ID is out of range.
Anyway, there is no circular movement in shuffle up/down from these 2
specifications. This patch removes the circular movement in gpu.shuffle
up/down and lower gpu.shuffle up/down to SPIR-V
OpGroupNonUniformShuffleUp and OpGroupNonUniformShuffleDown directly.
Reference:
https://docs.nvidia.com/cuda/archive/12.2.1/nvvm-ir-spec/index.html#data-movement
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpGroupNonUniformShuffleUp
https://registry.khronos.org/SPIR-V/specs/unified1/SPIRV.html#OpGroupNonUniformShuffleDown
Commit: 2c2ad9a096e78e9129f8cb2d4ee260eb7e67473f
https://github.com/llvm/llvm-project/commit/2c2ad9a096e78e9129f8cb2d4ee260eb7e67473f
Author: Younan Zhang <zyn7109 at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/lib/AST/StmtProfile.cpp
M clang/test/SemaCXX/exception-spec.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
Log Message:
-----------
Reapply "[Clang] Profile singly-resolved UnresolvedLookupExpr with the declaration" (#140680)
For a dependent variable template specialization, we don't build a
dependent Decl node or a DeclRefExpr to represent it. Instead, we
preserve the UnresolvedLookupExpr until instantiation.
However, this approach isn't ideal for constraint normalization. We
consider the qualifier during profiling, but since that's based on the
written code, it can introduce confusing differences, even when the
expressions resolve to the same declaration.
This change profiles the underlying VarTemplateDecl if
UnresolvedLookupExpr is used to model a dependent use of it.
Fixes https://github.com/llvm/llvm-project/issues/139476
Commit: 9ee55e717308757b580dff182fc23b40d1c18a56
https://github.com/llvm/llvm-project/commit/9ee55e717308757b580dff182fc23b40d1c18a56
Author: Amr Hesham <amr96 at programmer.net>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
A clang/test/CIR/Transforms/vector-splat.cir
Log Message:
-----------
[CIR] Implement folder for VecSplatOp (#143771)
This change adds a folder for the VecSplatOp
Issue https://github.com/llvm/llvm-project/issues/136487
Commit: 408e55098d7d8f7064d7a288b5e3fe6fdbbc2ad4
https://github.com/llvm/llvm-project/commit/408e55098d7d8f7064d7a288b5e3fe6fdbbc2ad4
Author: quic_hchandel <quic_hchandel at quicinc.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/MC/RISCV/xqciac-valid.s
M llvm/utils/TableGen/CompressInstEmitter.cpp
Log Message:
-----------
[RISCV] Add support for handling one tied operand in the source instruction for compress patterns (#143660)
This update enables compress patterns to handle one tied operand in
source instructions, which was previously unsupported. Qualcomm's uC
extension Xqci includes several instructions with tied operands that can
be compressed into smaller forms. This change adds the necessary support
to enable such compression. Additionally, a compress pattern for the
qc.muliadd instruction has been implemented.
Commit: 3e795c60c73e990fbbf254715cb47855c32bcfae
https://github.com/llvm/llvm-project/commit/3e795c60c73e990fbbf254715cb47855c32bcfae
Author: Dmitry Vasilyev <dvassiliev at accesssoftek.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M lldb/test/API/python_api/watchpoint/watchlocation/TestTargetWatchAddress.py
Log Message:
-----------
[lldb] Disable TestTargetWatchAddress on Windows x86_64 (#144779)
See #144777 for details.
Commit: a9a71b6d311892d6add6aab3790b20fe945cca38
https://github.com/llvm/llvm-project/commit/a9a71b6d311892d6add6aab3790b20fe945cca38
Author: S. B. Tam <cpplearner at outlook.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
M libcxx/test/std/utilities/format/format.functions/fill.unicode.pass.cpp
Log Message:
-----------
[libc++][test] Don't pass ill-formed UTF-8 to MAKE_STRING_VIEW (#136403)
Commit: 50a7511138a42d2c7a69b68237ce88cc027b91bc
https://github.com/llvm/llvm-project/commit/50a7511138a42d2c7a69b68237ce88cc027b91bc
Author: Paschalis Mpeis <paschalis.mpeis at arm.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M bolt/test/AArch64/r_aarch64_prelxx.s
Log Message:
-----------
[BOLT][AArch64] Fix PREL Relocs on RHEL8 (#144505)
Commit: e73bff89ef8e3c8cdd8895cdc3d021fc4dcabd76
https://github.com/llvm/llvm-project/commit/e73bff89ef8e3c8cdd8895cdc3d021fc4dcabd76
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-select.mir
Log Message:
-----------
[AMDGPU] New RegBankSelect: Handle all 32/64 bit pointer types for B32/B64 rule (#142560)
The previous system explicitly enumerated the types. P0 was missing and thus we couldn't handle a select of P0s for example.
Generalize the logic to simply check the width of the pointer for 32/64 bit pointers, this should handle all common address spaces
Commit: db8e6fc64534e986f5bf96cceaa76cc5007ac1c7
https://github.com/llvm/llvm-project/commit/db8e6fc64534e986f5bf96cceaa76cc5007ac1c7
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
Log Message:
-----------
[AMDGPU] New RegBanKSelect: Add S128 types (#142601)
Commit: 26d4b3cb4ca2f882384d940f3dad28f8d79451eb
https://github.com/llvm/llvm-project/commit/26d4b3cb4ca2f882384d940f3dad28f8d79451eb
Author: Sudharsan Veeravalli <quic_svs at quicinc.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVInstrInfoXqci.td
M llvm/test/CodeGen/RISCV/xqcibm-extract.ll
Log Message:
-----------
[RISCV] Don't prefer QC_EXT for SEXT_INREG patterns when Zbb is enabled (#144837)
`Zbb` has the `sext.b` and `sext.h` instructions that are compressible.
Commit: 7ceea22a7adad5d21328839facbc6a6d0151e056
https://github.com/llvm/llvm-project/commit/7ceea22a7adad5d21328839facbc6a6d0151e056
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeHelper.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.h
Log Message:
-----------
[AMDGPU] New RegBankSelect: Add Ptr32/Ptr64/Ptr128 (#142602)
There's quite a few opcodes that do not care about the exact AS of the pointer, just its size.
Adding generic types for these will help reduce duplication in the rule definitions.
I also moved the usual B types to use the new `isAnyPtr` helper I added to make sure they're supersets of the `Ptr` cases
Commit: 52ff58c3300338876ae63126ce0d33331000f1ba
https://github.com/llvm/llvm-project/commit/52ff58c3300338876ae63126ce0d33331000f1ba
Author: Juan Manuel Martinez Caamaño <jmartinezcaamao at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/lib/Headers/CMakeLists.txt
R clang/lib/Headers/cuda_wrappers/bits/c++config.h
Log Message:
-----------
Revert "[CUDA][HIP] Add a __device__ version of std::__glibcxx_assert_fail()" (#144850)
Reverts llvm/llvm-project#136133
Commit: 650b451d0065c8ea6a1f87e7fdc6d07648729549
https://github.com/llvm/llvm-project/commit/650b451d0065c8ea6a1f87e7fdc6d07648729549
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M libcxx/include/__memory/pointer_traits.h
Log Message:
-----------
[libc++] Simplify the implementation of pointer_traits a bit (#142260)
Commit: 1ab0e7dd60e26ac7c7fc64a273485522f5c5ba02
https://github.com/llvm/llvm-project/commit/1ab0e7dd60e26ac7c7fc64a273485522f5c5ba02
Author: Jiachen (Yangyang) Wang <130888597+WanderingAura at users.noreply.github.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LICM.cpp
M llvm/test/CodeGen/AMDGPU/loop_exit_with_xor.ll
M llvm/test/Transforms/LICM/call-hoisting.ll
Log Message:
-----------
[LICM] Hoisting writeonly calls (#143799)
Adds support for hoisting `writeonly` calls in LICM.
This patch adds a missing optimization that allows hoisting of
`writeonly` function calls out of loops when it is safe to do so.
Previously, such calls were conservatively retained inside the loop
body, and the redundant calls were only reduced through unrolling,
relying on target-dependent heuristics.
Closes #143267
Testing:
- Modified previously negative tests for hoisting writeonly calls to be
instead positive
- Added test cases for hoisting of two writeonly calls where the
pointers do/do not alias
- Added a test case for not argmemonly writeonly calls.
Commit: 0e1aab1ec833d7f8e9897b0940c634385036fdee
https://github.com/llvm/llvm-project/commit/0e1aab1ec833d7f8e9897b0940c634385036fdee
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-inttoptr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ptrtoint.mir
Log Message:
-----------
[AMDGPU] Improve test coverage for G_INTTOPTR and G_PTRTOINT (#142603)
Test P0 through P6 + P8 for both S/VGPRs.
Commit: 62fe5e428acc2c5ef9b144c5737d55b17b55feac
https://github.com/llvm/llvm-project/commit/62fe5e428acc2c5ef9b144c5737d55b17b55feac
Author: Sameer Sahasrabuddhe <sameer.sahasrabuddhe at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp
Log Message:
-----------
[NFC][AMDGPU] print more info when debugging SIInsertWaitcnts pass (#144629)
Commit: 8f82c027c8969d965c43909da639e7790af19956
https://github.com/llvm/llvm-project/commit/8f82c027c8969d965c43909da639e7790af19956
Author: Pierre van Houtryve <pierre.vanhoutryve at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-inttoptr.mir
M llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-ptrtoint.mir
Log Message:
-----------
[AMDGPU] New RegBankSelect: Add rules for `G_PTRTOINT` and `G_INTTOPTR` (#142604)
Commit: 681db064d221e9eef024ce0aef6165caa37fbfd2
https://github.com/llvm/llvm-project/commit/681db064d221e9eef024ce0aef6165caa37fbfd2
Author: Kunqiu Chen <camsyn at foxmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M compiler-rt/lib/tsan/rtl/tsan_platform.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
Log Message:
-----------
[TSan] Make Shadow/Meta region inclusive-exclusive (#144647)
This commit changes the interval shadow/meta address check from
inclusive-inclusive ( $[\mathrm{start}, \mathrm{end}]$ ) to
inclusive-exclusive ( $[\mathrm{start}, \mathrm{end})$ ), to resolve the
ambiguity of the end point address. This also aligns the logic with the
check for `isAppMem` (i.e., inclusive-exclusive), ensuring consistent
behavior across all memory classifications.
1. The `isShadowMem` and `isMetaMem` checks previously used an
inclusive-inclusive interval, i.e., $[\mathrm{start}, \mathrm{end}]$,
which could lead to a boundary address being incorrectly classified as
both Shadow and Meta memory, e.g., 0x3000_0000_0000 in
`Mapping48AddressSpace`.
- What's more, even when Shadow doesn't border Meta, `ShadowMem::end`
cannot be considered a legal shadow address, as TSan protects the gap,
i.e., `ProtectRange(ShadowEnd(), MetaShadowBeg());`
2. `ShadowMem`/`MetaMem` addresses are derived from `AppMem` using an
affine-like transformation (`* factor + bias`). This transformation
includes two extra modifications: high- and low-order bits are masked
out, and for Shadow Memory, an optional XOR operation may be applied to
prevent conflicts with certain AppMem regions.
- Given that all AppMem regions are defined as inclusive-exclusive
intervals, $[\mathrm{start}, \mathrm{end})$, the resulting Shadow/Meta
regions should logically also be inclusive-exclusive.
Note: This change is purely for improving code consistency and should
have no functional impact. In practice, the exact endpoint addresses of
the Shadow/Meta regions are generally not reached.
Commit: 584cc376870505821b5ff0b0e80be85ee563ff0c
https://github.com/llvm/llvm-project/commit/584cc376870505821b5ff0b0e80be85ee563ff0c
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M libcxx/include/__math/abs.h
M libcxx/include/math.h
M libcxx/include/stdlib.h
M libcxx/test/std/numerics/c.math/abs.verify.cpp
Log Message:
-----------
[libc++] Move std::abs into __math/abs.h (#139586)
`template <class = int>` is also added to our implementations to avoid
an ambiguity between the libc's version and our version when both are
visible.
This avoids including `<stdlib.h>` in `<math.h>`.
Commit: 20245bbf66977ca9de5a2b6e29e8617a3a5d9fb5
https://github.com/llvm/llvm-project/commit/20245bbf66977ca9de5a2b6e29e8617a3a5d9fb5
Author: Nikolas Klauser <nikolasklauser at berlin.de>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M libcxx/test/std/numerics/c.math/abs.pass.cpp
Log Message:
-----------
[libc++][NFC] Format abs.pass.cpp test
I will modify the test in an upcoming PR. I'm formatting it now to avoid
a bunch of whitespace changes in that PR.
Commit: 6273c5d4d3540204cb0d298cf1cf74ba94ed2a6c
https://github.com/llvm/llvm-project/commit/6273c5d4d3540204cb0d298cf1cf74ba94ed2a6c
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M lldb/source/Plugins/Process/Utility/RegisterInfoPOSIX_arm64.cpp
Log Message:
-----------
[lldb][AArch64] Correctly invalidate svg when vg is written (#140875)
Recently the Linux Kernel has fixed a bunch of issues in SME support and
while testing that, I found two tests failing:
FAIL: test_za_register_dynamic_config_main_disabled
(TestZAThreadedDynamic.AArch64ZAThreadedTestCase)
FAIL: test_za_register_dynamic_config_main_enabled
(TestZAThreadedDynamic.AArch64ZAThreadedTestCase)
These tests write to vg during streaming mode from lldb and expect to
see that za has been resized to match it. Instead, it was unavailable.
lldb-server was sending the correct amount of data but lldb client was
expecting the old size.
Turns out that instead of a write to vg invalidating svg, it was
invalidating... something else. I'm still not sure how these tests ever
worked but with this one line fix, they pass again.
I did not see this issue with SVE or streaming SVE Z registers because
those always resize using the value of vg, and vg always has the value
we just wrote.
(remember that vg is the vector length of the **current** mode, not of
non-streaming mode, whereas svg is the vector length of streaming mode,
even if you are currently in non-streaming mode)
Commit: c0a9c908a697a150f797d0dff7f0bcd3782abed9
https://github.com/llvm/llvm-project/commit/c0a9c908a697a150f797d0dff7f0bcd3782abed9
Author: Durgadoss R <durgadossr at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/LLVMIR/NVVMOps.td
Log Message:
-----------
[MLIR][NVVM-Docs] Fix rendering of a few tables in NVVM Docs (#144764)
This patch corrects the formatting of tables
in the tcgen05 ld/st and smem_descriptor Ops.
Signed-off-by: Durgadoss R <durgadossr at nvidia.com>
Commit: 97c1a2444574b32dd7a283c53be248c5dbbf62e9
https://github.com/llvm/llvm-project/commit/97c1a2444574b32dd7a283c53be248c5dbbf62e9
Author: Fabian Mora <fmora.dev at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Linalg/TransformOps/LinalgTransformOps.td
M mlir/include/mlir/Dialect/Linalg/Transforms/Transforms.h
M mlir/include/mlir/Dialect/Linalg/Utils/Utils.h
M mlir/lib/Dialect/Linalg/TransformOps/LinalgTransformOps.cpp
M mlir/lib/Dialect/Linalg/Transforms/Padding.cpp
M mlir/lib/Dialect/Linalg/Utils/Utils.cpp
M mlir/test/Dialect/Linalg/transform-op-pad.mlir
Log Message:
-----------
[mlir][linalg] Add option to pad dynamic dims to `linalg::rewriteAsPaddedOp` (#144354)
This patch makes the following changes:
- Add a `ValueRange typeDynDims` argument to
`linalg::makeComposedPadHighOp`, allowing to pad a tensor with dynamic
dimensions using `tensor::createPadHighOp`.
- Add a `DenseMap<std::pair<unsigned, unsigned>, OpFoldResult>
sizeToPadTo;` option to `LinalgPaddingOptions`. This option allows
setting the size to use when padding a dimension of an operand, allowing
to pad operands even in the case they don't have a constant upper
bounding box. If the value is not provided, then the constant upper
bound is used by default.
- Add a `use_prescribed_tensor_shapes` option to
`transform.structured.pad`. If set to true then `tensor.dim` will be
used as dimensions to compute the size of the padded dim instead of
computing the constant upper bound.
- This patch also changes the behavior for computing the padded shape
`linalg::rewriteAsPaddedOp`, by using the newly added options in
`LinalgPaddingOptions`.
- Finally it adds tests verifying the behavior.
Commit: af51c9d9df9d482503fe30c80dd788a02161cea6
https://github.com/llvm/llvm-project/commit/af51c9d9df9d482503fe30c80dd788a02161cea6
Author: David Sherwood <david.sherwood at arm.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Transforms/LoopVectorize/branch-weights.ll
Log Message:
-----------
[LV][NFC] Add branch weight test showing incorrect behaviour (#144682)
This patch adds a test that shows incorrect branch weights being set in
function
EpilogueVectorizerEpilogueLoop::emitMinimumVectorEpilogueIterCountCheck
Commit: 0fe78c4a290517925acc03d59f235926f440f155
https://github.com/llvm/llvm-project/commit/0fe78c4a290517925acc03d59f235926f440f155
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
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] Some Code Cleanups for Name lookup table things
Commit: 5bee2c34bde1aa8b0fb5aed7d5ce330f094f6436
https://github.com/llvm/llvm-project/commit/5bee2c34bde1aa8b0fb5aed7d5ce330f094f6436
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Object/IRSymtab.cpp
M llvm/lib/Target/ARM/ARMISelLowering.cpp
Log Message:
-----------
RuntimeLibcalls: Pass in FloatABI and EABI type (#144691)
We need the full set of ABI options to accurately compute
the full set of libcalls. This partially resolves missing
information required to compute the set of ARM calls.
Commit: 305953a32ded8a43b22f65cf73d9214729feb1fc
https://github.com/llvm/llvm-project/commit/305953a32ded8a43b22f65cf73d9214729feb1fc
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/MC/MCTargetOptions.h
M llvm/include/llvm/Support/CodeGen.h
Log Message:
-----------
MC: Move ExceptionHandling enum to Support (#144692)
Similar to b5967264b0fbfd502b3a7edec27409e966fb68be, we need
to use this in RuntimeLibcalls to compute the set of library
calls.
Commit: 1c35fe4e6b2596d153da82b23d04a3779fb12730
https://github.com/llvm/llvm-project/commit/1c35fe4e6b2596d153da82b23d04a3779fb12730
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/RuntimeLibcalls.h
M llvm/lib/CodeGen/TargetLoweringBase.cpp
M llvm/lib/IR/RuntimeLibcalls.cpp
M llvm/lib/Target/VE/VEISelLowering.cpp
M llvm/lib/Target/X86/X86ISelLowering.cpp
Log Message:
-----------
RuntimeLibcalls: Pass in exception handling type (#144696)
All of the ABI options that influence libcall decisions need
to be passed in.
Commit: 74054cab7a3e04b323828850409343932e975737
https://github.com/llvm/llvm-project/commit/74054cab7a3e04b323828850409343932e975737
Author: Ramkumar Ramachandra <ramkumar.ramachandra at codasip.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/HashRecognize.h
M llvm/lib/Analysis/HashRecognize.cpp
M llvm/lib/Passes/PassRegistry.def
Log Message:
-----------
[HashRecognize] Make it a non-PM analysis (#144742)
Make HashRecognize a non-PassManager analysis that can be called to get
the result on-demand, creating a new getResult() entry-point. The issue
was discovered when attempting to use the analysis to perform a
transform in LoopIdiomRecognize.
Commit: 30824c449a893771c3f25f0eb29cfa9d2cfd4f15
https://github.com/llvm/llvm-project/commit/30824c449a893771c3f25f0eb29cfa9d2cfd4f15
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
Log Message:
-----------
[lldb][DWARFASTParserClang] GetCXXObjectParameter to take DeclContext DIE parameter (#144876)
I'm trying to call `GetCXXObjectParameter` from unit-tests in a
follow-up patch and taking a `DWARFDIE` instead of `clang::DeclContext`
makes that much simpler. These should be equivalent, since all we're
trying to check is that the parent context is a record type.
Commit: 046e2f545ef568b2ce577c9172a0f147dc376071
https://github.com/llvm/llvm-project/commit/046e2f545ef568b2ce577c9172a0f147dc376071
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-interleave.ll
Log Message:
-----------
[LV] Add interleaving test with partial reductions and non-const start.
Add test coverage for mis-compile after
https://github.com/llvm/llvm-project/pull/142290.
Commit: e33f13ba4824d807e846e7783a48efd6c0bf58ee
https://github.com/llvm/llvm-project/commit/e33f13ba4824d807e846e7783a48efd6c0bf58ee
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
M mlir/lib/Conversion/ArithToLLVM/ArithToLLVM.cpp
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/test/Conversion/ArithToLLVM/arith-to-llvm.mlir
M mlir/test/Dialect/Arith/ops.mlir
Log Message:
-----------
[mlir][arith] Add overflow flags to `arith.trunci` (#144863)
LLVM already supports overflow flags on `llvm.trunc` for a while. This
commit adds support for these flags to `arith.trunci`.
Commit: b73720cf6c5380854bf27d4453abf21cc87ae642
https://github.com/llvm/llvm-project/commit/b73720cf6c5380854bf27d4453abf21cc87ae642
Author: Donát Nagy <donat.nagy at ericsson.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
Log Message:
-----------
[analyzer] Conversion to CheckerFamily: DynamicTypePropagation (#144735)
This commit converts the class DynamicTypePropagation to a very simple
checker family, which has only one checker frontend -- but also supports
enabling the backend ("modeling checker") without the frontend.
As a tangentially related change, this commit adds the backend of
DynamicTypePropagation as a dependency of alpha.core.DynamicTypeChecker
in Checkers.td, because the header comment of DynamicTypeChecker.cpp
claims that it depends on DynamicTypePropagation and the source code
seems to confirm this.
(The lack of this dependency relationship didn't cause problems, because
'core.DynamicTypePropagation' is in the group 'core', so it is
practically always active. However, explicitly declaring the dependency
clarifies the fact that the separate existence of the modeling checker
is warranted.)
Commit: 2b4d757290226e0185e17294339aae1588efd07e
https://github.com/llvm/llvm-project/commit/2b4d757290226e0185e17294339aae1588efd07e
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/lib/Passes/PAuthGadgetScanner.cpp
A bolt/test/binary-analysis/AArch64/gs-pauth-authentication-oracles.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: detect authentication oracles (#135663)
Implement the detection of authentication instructions whose results can
be inspected by an attacker to know whether authentication succeeded.
As the properties of output registers of authentication instructions are
inspected, add a second set of analysis-related classes to iterate over
the instructions in reverse order.
Commit: 936c5566db013225dc098ff961395bb19e1bf2a4
https://github.com/llvm/llvm-project/commit/936c5566db013225dc098ff961395bb19e1bf2a4
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/check-omp-structure.h
R flang/lib/Semantics/rewrite-directives.cpp
R flang/lib/Semantics/rewrite-directives.h
M flang/lib/Semantics/rewrite-parse-tree.cpp
A flang/test/Lower/OpenMP/requires-admo-acqrel.f90
A flang/test/Lower/OpenMP/requires-admo-invalid1.f90
A flang/test/Lower/OpenMP/requires-admo-invalid2.f90
R flang/test/Semantics/OpenMP/requires-atomic01.f90
R flang/test/Semantics/OpenMP/requires-atomic02.f90
Log Message:
-----------
[flang][OpenMP] Handle REQUIRES ADMO in lowering (#144362)
The previous approach rewrote the atomic constructs in the AST based on
the REQUIRES ATOMIC_DEFAULT_MEM_ORDER directives. The new approach
checks for incorrect uses of REQUIRED ADMO in the semantic analysis, and
applies it in lowering, eliminating the need for a separate
tree-rewriting procedure.
Commit: e478a22d540d336632fb3c110c5377447cd7f3b2
https://github.com/llvm/llvm-project/commit/e478a22d540d336632fb3c110c5377447cd7f3b2
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/test/CodeGen/builtin_vectorelements.c
M llvm/include/llvm/IR/IRBuilder.h
M llvm/lib/IR/IRBuilder.cpp
M llvm/test/Analysis/ValueTracking/phi-known-bits.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-masked-load-store.ll
M llvm/test/Instrumentation/AddressSanitizer/asan-vp-load-store.ll
M llvm/test/Instrumentation/AddressSanitizer/vector-load-store.ll
M llvm/test/Instrumentation/BoundsChecking/simple.ll
M llvm/test/Instrumentation/HWAddressSanitizer/vector-load-store.ll
M llvm/test/Instrumentation/MemorySanitizer/vector-load-store.ll
M llvm/test/Instrumentation/MemorySanitizer/vscale.ll
M llvm/test/Transforms/InstCombine/AArch64/sve-intrinsic-opts-counting-elems.ll
M llvm/test/Transforms/InstCombine/gep-vector.ll
M llvm/test/Transforms/InstCombine/gepofconstgepi8.ll
M llvm/test/Transforms/InstCombine/getelementptr.ll
M llvm/test/Transforms/InstCombine/icmp-gep.ll
M llvm/test/Transforms/InstCombine/masked_intrinsics.ll
M llvm/test/Transforms/InstCombine/opaque-ptr.ll
M llvm/test/Transforms/InstCombine/scalable-vector-array.ll
M llvm/test/Transforms/InstCombine/scalable-vector-struct.ll
M llvm/test/Transforms/InstCombine/sub-gep.ll
M llvm/test/Transforms/InstCombine/vscale_gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/clamped-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/conditional-branches-cost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/divs-with-scalable-vfs.ll
M llvm/test/Transforms/LoopVectorize/AArch64/eliminate-tail-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/gather-do-not-vectorize-addressing.ll
M llvm/test/Transforms/LoopVectorize/AArch64/induction-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/low_trip_count_predicates.ll
M llvm/test/Transforms/LoopVectorize/AArch64/masked-call.ll
M llvm/test/Transforms/LoopVectorize/AArch64/optsize_minsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/outer_loop_prefer_scalable.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-chained.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product-mixed.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-sub.ll
M llvm/test/Transforms/LoopVectorize/AArch64/pr60831-sve-inv-store-crash.ll
M llvm/test/Transforms/LoopVectorize/AArch64/reduction-recurrence-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-avoid-scalarization.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-reduction-inloop-cond.ll
M llvm/test/Transforms/LoopVectorize/AArch64/scalable-strict-fadd.ll
M llvm/test/Transforms/LoopVectorize/AArch64/simple_early_exit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/store-costs-sve.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-inloop-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-no-remaining-iterations.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect-strict-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-epilog-vect.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-extract-last-veclane.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-fneg.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions-unusual-types.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-inductions.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-inv-store.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-live-out-pointer-induction.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-multiexit.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-runtime-check-size-based-threshold.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-forced.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-optsize.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-reductions.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding-unroll.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-tail-folding.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-vscale-based-trip-counts.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve-widen-gep.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-epilogue.ll
M llvm/test/Transforms/LoopVectorize/AArch64/sve2-histcnt-too-many-deps.ll
M llvm/test/Transforms/LoopVectorize/AArch64/tail-folding-styles.ll
M llvm/test/Transforms/LoopVectorize/AArch64/uniform-args-call-variants.ll
M llvm/test/Transforms/LoopVectorize/AArch64/wider-VF-for-callinst.ll
M llvm/test/Transforms/LoopVectorize/RISCV/bf16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blend-any-of-reduction-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/blocks-with-dead-instructions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/dead-ops-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/defaults.ll
M llvm/test/Transforms/LoopVectorize/RISCV/divrem.ll
M llvm/test/Transforms/LoopVectorize/RISCV/f16.ll
M llvm/test/Transforms/LoopVectorize/RISCV/fminimumnum.ll
M llvm/test/Transforms/LoopVectorize/RISCV/induction-costs.ll
M llvm/test/Transforms/LoopVectorize/RISCV/inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/interleaved-masked-access.ll
M llvm/test/Transforms/LoopVectorize/RISCV/lmul.ll
M llvm/test/Transforms/LoopVectorize/RISCV/low-trip-count.ll
M llvm/test/Transforms/LoopVectorize/RISCV/mask-index-type.ll
M llvm/test/Transforms/LoopVectorize/RISCV/masked_gather_scatter.ll
M llvm/test/Transforms/LoopVectorize/RISCV/partial-reduce-dot-product.ll
M llvm/test/Transforms/LoopVectorize/RISCV/pr87378-vpinstruction-or-drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/RISCV/remark-reductions.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse-output.ll
M llvm/test/Transforms/LoopVectorize/RISCV/riscv-vector-reverse.ll
M llvm/test/Transforms/LoopVectorize/RISCV/safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-basics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/scalable-tailfold.ll
M llvm/test/Transforms/LoopVectorize/RISCV/select-cmp-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/strided-accesses.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-cost.ll
M llvm/test/Transforms/LoopVectorize/RISCV/truncate-to-minimal-bitwidth-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/type-info-cache-evl-crash.ll
M llvm/test/Transforms/LoopVectorize/RISCV/uniform-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-bin-unary-ops-args.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-call-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cast-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-cond-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-div.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-fixed-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-inloop-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-interleave.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-intermediate-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-iv32.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-known-no-overflow.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-masked-loadstore.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-ordered-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reduction.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-reverse-load-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-safe-dep-distance.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-force-tail-with-evl-uniform-store.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vectorize-vp-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/RISCV/vplan-vp-select-intrinsics.ll
M llvm/test/Transforms/LoopVectorize/outer_loop_scalable.ll
M llvm/test/Transforms/LoopVectorize/scalable-first-order-recurrence.ll
M llvm/test/Transforms/LoopVectorize/scalable-inductions.ll
M llvm/test/Transforms/LoopVectorize/scalable-iv-outside-user.ll
M llvm/test/Transforms/LoopVectorize/scalable-lifetime.ll
M llvm/test/Transforms/LoopVectorize/scalable-loop-unpredicated-body-scalar-tail.ll
M llvm/test/Transforms/LoopVectorize/scalable-reduction-inloop.ll
M llvm/test/Transforms/LoopVectorize/scalable-trunc-min-bitwidth.ll
M llvm/test/Transforms/LoopVectorize/vectorize-force-tail-with-evl.ll
M llvm/test/Transforms/MemCpyOpt/vscale-crashes.ll
M llvm/test/Transforms/PhaseOrdering/AArch64/sve-interleave-vectorization.ll
M llvm/test/Transforms/PreISelIntrinsicLowering/AArch64/expand-exp.ll
Log Message:
-----------
[LLVM][IRBuilder] Use NUW arithmetic for Create{ElementCount,TypeSize}. (#143532)
This put the onus on the caller to ensure the result type is big enough.
In the unlikely event a cropped result is required then explicitly
truncate a safe value.
Commit: c4c2d777f4aea07c59ff85ade75816df24b05389
https://github.com/llvm/llvm-project/commit/c4c2d777f4aea07c59ff85ade75816df24b05389
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/partial-reduce-interleave.ll
Log Message:
-----------
[VPlan] Fix handling of ReductionStartVector for rdxs when unrolling.
Update handling of ReductionStartVector in VPlanUnroll for partial
reductions. The new code makes sure all parts are properly set to the
cloned ReductionStartVector.
Fixes a mis-compile reported for
https://github.com/llvm/llvm-project/pull/142290.
Commit: 5148e085386fb1808fba055e170d88e3344220ca
https://github.com/llvm/llvm-project/commit/5148e085386fb1808fba055e170d88e3344220ca
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/include/clang/Serialization/ASTRecordWriter.h
Log Message:
-----------
Fix build issue caused by commit #0fe78c4 (#144888)
Noticed internally in blaze build.
Commit: dae5104eed451fdd0354ff9639feba10f9dc5440
https://github.com/llvm/llvm-project/commit/dae5104eed451fdd0354ff9639feba10f9dc5440
Author: Michael Buch <michaelbuch12 at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
M lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.h
M lldb/unittests/SymbolFile/DWARF/DWARFASTParserClangTests.cpp
Log Message:
-----------
[lldb][DWARFASTParserClang] Make GetCXXObjectParameter public and call it from unit-tests (#144879)
My goal is to remove the `object_pointer` member on
`ParsedDWARFTypeAttributes` since it's duplicating information that we
retrieve with `GetCXXObjectParameter` anyway. To continue having
coverage for the `DW_AT_object_pointer` code-paths, instead of checking
the
`attrs.object_pointer` I'm now calling `GetCXXObjectParameter` directly.
We could find some very roundabout way to go via the Clang AST to check
that the object parameter was parsed correctly, but that quickly became
quite painful.
Depends on https://github.com/llvm/llvm-project/pull/144876
Commit: c079040eea5ce75a97285003948d141ebaac69e6
https://github.com/llvm/llvm-project/commit/c079040eea5ce75a97285003948d141ebaac69e6
Author: Charles Zablit <c_zablit at apple.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/unittests/Core/MangledTest.cpp
Log Message:
-----------
[lldb] add has methods to all DemangledNameInfo attributes (#144549)
Add `hasX` methods to all the attributes of `DemangledNameInfo`.
Commit: 09e794c4bb138e14b3156d7dbdac0164d9c0327b
https://github.com/llvm/llvm-project/commit/09e794c4bb138e14b3156d7dbdac0164d9c0327b
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CodeGenModule.cpp
Log Message:
-----------
[HIP] Emit the CUID value in the module with the new driver (#144570)
Summary:
This is a weird point of divergence that was not updated when the new
driver
switched to using the CUID method, which is also apparently critical
for SPIR-V compilation not failing? Somehow if we don't emit this global
than the `llvm.compiler.used` global uses AS(0) which makes SPIR-V
unhappy, but with this global it's AS(4) which makes it happy. Either
way, this should be fixed.
Commit: e873fd157eda617ffd42edad3c4a6ab495e6e375
https://github.com/llvm/llvm-project/commit/e873fd157eda617ffd42edad3c4a6ab495e6e375
Author: Anatoly Trosinenko <atrosinenko at accesssoftek.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
Log Message:
-----------
[BOLT] Gadget scanner: do not crash on debug-printing CFI instructions (#136151)
Some instruction-printing code used under LLVM_DEBUG does not handle CFI
instructions well. While CFI instructions seem to be harmless for the
correctness of the analysis results, they do not convey any useful
information to the analysis either, so skip them early.
Commit: 493a359237e824216d5c572656481c42165a2cb7
https://github.com/llvm/llvm-project/commit/493a359237e824216d5c572656481c42165a2cb7
Author: David Spickett <david.spickett at linaro.org>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M lldb/test/API/commands/register/register/aarch64_mte_ctrl_register/TestMTECtrlRegister.py
Log Message:
-----------
[lldb][AArch64] Fix live process test for Linux's mte_ctrl register
I forgot to update this when I changed the presentation of the
"TCF" field.
Commit: 83381ba832a5cf34b09e27a6154c7179fed2fc80
https://github.com/llvm/llvm-project/commit/83381ba832a5cf34b09e27a6154c7179fed2fc80
Author: Ilia Kuklin <ikuklin at accesssoftek.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M lldb/source/ValueObject/DILParser.cpp
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/TestFrameVarDILArraySubscript.py
M lldb/test/API/commands/frame/var-dil/basics/ArraySubscript/main.cpp
Log Message:
-----------
[LLDB] Add negative number parsing to DIL (#144557)
Commit: 5645d6710904107d66a45f1c3ee0ee25924ff08a
https://github.com/llvm/llvm-project/commit/5645d6710904107d66a45f1c3ee0ee25924ff08a
Author: Aly ElAshram <71949028+AlyElashram at users.noreply.github.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
A libc/config/darwin/aarch64/config.json
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/aarch64/headers.txt
M libc/src/setjmp/CMakeLists.txt
A libc/src/setjmp/darwin/CMakeLists.txt
A libc/src/setjmp/darwin/sigsetjmp_epilogue.cpp
M libc/test/src/CMakeLists.txt
Log Message:
-----------
Implement `sigsetjmp` and `siglongjmp` for darwin/aarch64 (#139555)
Commit: bf79d4819edeb54c6cf528db63676110992908a8
https://github.com/llvm/llvm-project/commit/bf79d4819edeb54c6cf528db63676110992908a8
Author: zhijian lin <zhijian at ca.ibm.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets/PPC.cpp
M clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
M clang/test/Driver/aix-shared-lib-tls-model-opt.c
M clang/test/Driver/aix-small-local-exec-dynamic-tls.c
M clang/test/Driver/ppc-crbits.cpp
M clang/test/Driver/ppc-isa-features.cpp
M llvm/include/llvm/TargetParser/CMakeLists.txt
M llvm/include/llvm/TargetParser/PPCTargetParser.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Target/PowerPC/PPC.td
M llvm/lib/TargetParser/PPCTargetParser.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/utils/TableGen/Basic/CMakeLists.txt
A llvm/utils/TableGen/Basic/TargetFeaturesEmitter.cpp
A llvm/utils/TableGen/Basic/TargetFeaturesEmitter.h
M llvm/utils/TableGen/SubtargetEmitter.cpp
Log Message:
-----------
[Reland] [PowerPC] frontend get target feature from backend with cpu name (#144594)
1. The PR proceeds with a backend target hook to allow front-ends to
determine what target features are available in a compilation based on
the CPU name.
2. Fix a backend target feature bug that supports HTM for
Power8/9/10/11. However, HTM is only supported on Power8/9 according to
the ISA.
3. All target features that are hardcoded in PPC.cpp can be retrieved
from the backend target feature. I have double-checked that the
hardcoded logic for inferring target features from the CPU in the
frontend(PPC.cpp) is the same as in PPC.td.
The reland patch addressed the comment
https://github.com/llvm/llvm-project/pull/137670#discussion_r2143541120
Commit: f87b6625d64c4ba95cf26b249ce6bdbcb31d65c9
https://github.com/llvm/llvm-project/commit/f87b6625d64c4ba95cf26b249ce6bdbcb31d65c9
Author: Abdul Raheem <abdulraheembeigh at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/include/mlir/IR/Operation.h
Log Message:
-----------
[MLIR][NFC] Fixed some Typos (#144263)
-- Fixed some typos in Operation.h
Signed-off: Abdul Raheem Beigh abdulraheembeigh at gmail.com
Commit: e75e2485f2e5e627d0bdf0306df4672f69ddd6eb
https://github.com/llvm/llvm-project/commit/e75e2485f2e5e627d0bdf0306df4672f69ddd6eb
Author: Brox Chen <guochen2 at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/SIInstrInfo.cpp
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-gfx12-fake16.mir
A llvm/test/CodeGen/AMDGPU/fix-sgpr-copies-f16-gfx12-true16.mir
M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans-f16-fake16.ll
M llvm/test/CodeGen/AMDGPU/move-to-valu-pseudo-scalar-trans-f16-true16.ll
Log Message:
-----------
[AMDGPU][True16][Codegen] keep srcmod/clamp/omod from v_s_xxx_f16 when moved to VALU (#144781)
https://github.com/llvm/llvm-project/pull/141152 causes an issue in
v_s_xxx_f16 lowering in both true16/fake16 flow.
V_S_XXX_F16 are special insts which has scalar input/output but in VALU
VOP3 format. Need to keep the srcmod/clamp/omod when lower it to its
corresponding VALU inst with vector input/output.
Commit: 278ece7c80d36bb1074fa53e655a5ca8f31145dd
https://github.com/llvm/llvm-project/commit/278ece7c80d36bb1074fa53e655a5ca8f31145dd
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
A llvm/test/Transforms/InstCombine/bitcast-known-bits.ll
Log Message:
-----------
[InstCombine][NFC] Pre-commit tests for #125935 (#144111)
Pre-commit tests for #125935
---------
Co-authored-by: Simon Pilgrim <llvm-dev at redking.me.uk>
Commit: a4e4527c4b44be9a88168c0a4758de58fd1a770d
https://github.com/llvm/llvm-project/commit/a4e4527c4b44be9a88168c0a4758de58fd1a770d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
M mlir/lib/Transforms/Utils/DialectConversion.cpp
Log Message:
-----------
[mlir][Transforms] Fix replaceUsesOfBlockArgument API (#144706)
Before this PR, users had to pass the "old" block argument when
replacing the uses of a block argument in a newly converted block. Users
can now pass the actual block argument that should be replaced.
Note for LLVM integration: Make sure to pass the current block argument
instead of the old one.
Commit: 802fa92aee3565768887615108aa3e924d4e0fc7
https://github.com/llvm/llvm-project/commit/802fa92aee3565768887615108aa3e924d4e0fc7
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
Log Message:
-----------
[PredicateInfo] Avoid duplicate hash lookup (NFC)
Use try_emplace to either look up the existing entry or insert it.
Commit: 7e8f1f5f72753a1d9d3ae2810da52b82a787600b
https://github.com/llvm/llvm-project/commit/7e8f1f5f72753a1d9d3ae2810da52b82a787600b
Author: Siu Chi Chan <siuchi.chan at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/test/Driver/hip-runtime-libs-linux.hip
Log Message:
-----------
[HIP] Remove dots in HIP runtime path (#143792)
Remove the dots in the HIP path before passing to the rpath flag
Commit: 4c6f398b866030c17fd94dcdca04f4df03c5214c
https://github.com/llvm/llvm-project/commit/4c6f398b866030c17fd94dcdca04f4df03c5214c
Author: Joseph Huber <huberjn at outlook.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
A clang/test/Driver/spirv-amd-toolchain.c
Log Message:
-----------
[Clang] Add standalone AMDGPU SPIR-V toolchain (#144576)
Summary:
The AMDGPU toolchain uses a different set of tools than the standard
SPIR-V toolchain. The linker wrapper prefers to invoke a linker via a
clang toolchain. To make that work we introduce
`--target=spirv64-amd-amdhsa` so that it creates the linking phases that
HIP prefers. Additionally, this can be used to make LLVM-IR / SPIR-V
from C/C++ that can be linked with the HIP output.
Commit: 19360e62d0d1a1dabf9f01736927ab8f1b72c7df
https://github.com/llvm/llvm-project/commit/19360e62d0d1a1dabf9f01736927ab8f1b72c7df
Author: Nico Weber <thakis at chromium.org>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/llvm/include/llvm/TargetParser/BUILD.gn
M llvm/utils/gn/secondary/llvm/utils/TableGen/Basic/BUILD.gn
Log Message:
-----------
[gn build] port bf79d4819ede (ppc -gen-target-features)
Commit: 89efae916a5de0387710b7dc06938423817e1503
https://github.com/llvm/llvm-project/commit/89efae916a5de0387710b7dc06938423817e1503
Author: Jack Styles <jack.styles at arm.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
A flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
Log Message:
-----------
[Flang][OpenMP] Update default MapType for Map Clauses and OpenMP 5.2 (#144715)
In OpenMP 5.2, the `target enter data` and `target exit data` constructs
now have default map types if the user does not define them in the Map
clause. For `target enter data`, this is `to` and `target exit data`
this is `from`. This behaviour is now enabled when OpenMP 5.2 or greater
is used when compiling. To enable this, the default value is now set in
the `processMap` clause, with any previous behaviour being maintained
for either older versions of OpenMP or other directives.
See also #110008
Commit: eb694b28461fdbd5e347fca59829e8a9ad021773
https://github.com/llvm/llvm-project/commit/eb694b28461fdbd5e347fca59829e8a9ad021773
Author: Tobias Gysi <tobias.gysi at nextsilicon.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/lib/Dialect/Arith/IR/ArithCanonicalization.td
M mlir/lib/Dialect/Arith/IR/ArithOps.cpp
M mlir/test/Dialect/Arith/canonicalize.mlir
Log Message:
-----------
[mlir][arith] Delete mul ext canonicalizations (#144844)
The Arith dialect includes patterns that canonicalize a sequence of:
- trunci(shrui(mul(sext(x), sext(y)), c)) -> mulsi_extended(x, y)
- trunci(shrui(mul(zext(x), zext(y)), c)) -> mului_extended(x, y)
These patterns return the high word of an extended multiplication, which
assumes that the shift amount is equal to the bit width of the original
operands. This check was missing, leading to incorrect canonicalizations
when the shift amount was less than the bit width.
For example, the following code:
```
%x = arith.extui %a: i32 to i33
%y = arith.extui %b: i32 to i33
%m = arith.muli %x, %y: i33
%c1 = arith.constant 1: i33
%sh = arith.shrui %m, %c1 : i33
%hi = arith.trunci %sh: i33 to i32
```
would incorrectly be canonicalized to:
```
_, %hi = arith.mului_extended %a, %b : i32
```
This commit removes the faulty canonicalizations since they are not
believed to be generally beneficial (c.f., the discussion of the
alternative https://github.com/llvm/llvm-project/pull/144787 which fixes
the canonicalizations).
Commit: 3516ad05dfd674d731487cb67bbfe48f7e1fda9c
https://github.com/llvm/llvm-project/commit/3516ad05dfd674d731487cb67bbfe48f7e1fda9c
Author: Mikhail R. Gadelha <mikhail at igalia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/RISCV/RISCVSchedSpacemitX60.td
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/atomic.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/floating-point.s
M llvm/test/tools/llvm-mca/RISCV/SpacemitX60/integer.s
Log Message:
-----------
[RISCV] Update SpacemiT X60 scheduling latencies based on hardware measurements (#144730)
This patch updates the RISC-V SpacemiT X60 scheduling model with latency
values collected from the X60 hardware. The previous values were
empirically derived but were slightly off.
Changes:
- LoadLatency (baseline for load instructions): 5 --> 3 cycles
- Memory operations: unified at 4 cycles
- Atomic loads/stores: 5 --> 8 cycles
- Atomic RMW operations: 5 --> 12 cycles
Hardware-measured values provide more accurate instruction scheduling
for the in-order X60 core. Testing shows NFC across benchmarks except
for 523.xalancbmk_r (known to be noisy).
https://lnt.lukelau.me/db_default/v4/nts/663?compare_to=657
Commit: fdb572681de7e12b7cd03fd33478022272eb1bae
https://github.com/llvm/llvm-project/commit/fdb572681de7e12b7cd03fd33478022272eb1bae
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M utils/bazel/llvm-project-overlay/llvm/BUILD.bazel
Log Message:
-----------
Fix bazel build after #144594 (#144904)
Commit: 5eb24fde11cd82a08f208509f80f428da90c89c9
https://github.com/llvm/llvm-project/commit/5eb24fde11cd82a08f208509f80f428da90c89c9
Author: Craig Topper <craig.topper at sifive.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
M llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
M llvm/test/CodeGen/RISCV/shifts.ll
Log Message:
-----------
[SelectionDAG][RISCV] Preserve nneg flag when folding (trunc (zext X))->(zext X). (#144807)
If X is known non-negative, that's still true if we fold the truncate
to create a smaller zext.
In the i128 tests, SelectionDAGBuilder aggressively truncates the
`zext nneg` to i64 to match `getShiftAmountTy`. If we don't preserve
the `nneg` we can't see that the shift amount argument being `signext`
means we don't need to do any extension
Commit: 3de01d07c33c10dfefc753c87c0a926fd512425b
https://github.com/llvm/llvm-project/commit/3de01d07c33c10dfefc753c87c0a926fd512425b
Author: Karlo Basioli <k.basioli at gmail.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/TargetParser/TargetParser.cpp
Log Message:
-----------
Fix bazel build after #144594, mark variable as potentially unused (#144910)
Commit: 36af7345dfb8e84a1f2971db34089b63321e8467
https://github.com/llvm/llvm-project/commit/36af7345dfb8e84a1f2971db34089b63321e8467
Author: Stephen Tozer <stephen.tozer at sony.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/docs/CommandGuide/clang.rst
M clang/docs/ReleaseNotes.rst
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/test/Driver/extend-variable-liveness.c
Log Message:
-----------
Reapply "[Clang] Enable -fextend-variable-liveness at -Og (#118026)"
Relands this feature after several fixes:
* Force fake uses to be emitted before musttail calls (#136867)
* Added soften-float legalization for fake uses (#142714)
* Treat fake uses as size-less instructions in a SystemZ assert (#144390)
If further issues with fake uses are found then this may be reverted again,
but all currently-known issues are resolved.
This reverts commit 2dc6e98169baeb1f73036da0ea50fd828d8323d0.
Commit: f4db14229cd975822c41376afda9d56a29f9396c
https://github.com/llvm/llvm-project/commit/f4db14229cd975822c41376afda9d56a29f9396c
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/Transforms/Utils/SCCPSolver.h
M llvm/lib/Transforms/IPO/SCCP.cpp
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[SCCP] Move logic for removing ssa.copy into Solver (NFC)
So it can be reused between IPSCCP and SCCP.
Make the implementation a bit more efficient by only lookup the
PredicateInfo once.
Commit: 01d648a42939c834b6b45677e540882222b01c11
https://github.com/llvm/llvm-project/commit/01d648a42939c834b6b45677e540882222b01c11
Author: Steven Perron <stevenperron at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Sema/SemaHLSL.h
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaHLSL.cpp
A clang/test/AST/HLSL/vk.spec-constant.usage.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.alignment.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.alignment.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.hlsl
A clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
A clang/test/SemaHLSL/vk.spec-constant.error.hlsl
Log Message:
-----------
[HLSL][SPIRV] Reapply "[HLSL][SPIRV] Add vk::constant_id attribute." (#144902)
- **Reapply "[HLSL][SPIRV] Add vk::constant_id attribute." (#144812)**
- **Fix memory leak.**
Commit: c1ac87b327861a7387c1ab9e1ffb1c002acbcd6a
https://github.com/llvm/llvm-project/commit/c1ac87b327861a7387c1ab9e1ffb1c002acbcd6a
Author: lntue <lntue at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M libc/src/setjmp/CMakeLists.txt
Log Message:
-----------
[libc] Fix setjmp build order. (#144917)
Fix build order issue from
https://github.com/llvm/llvm-project/pull/139555.
Commit: b8337349d9b6143669e8bfa6776926a708cacf99
https://github.com/llvm/llvm-project/commit/b8337349d9b6143669e8bfa6776926a708cacf99
Author: lntue <lntue at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/macros/optimization.h
Log Message:
-----------
[libc][math] Skip setting errno and floating point exception for math functions when LIBC_MATH flag has LIBC_MATH_NO_ERRNO and LIBC_MATH_NO_EXCEPT. (#144920)
Commit: 5cf7d871b030212d021ffc9356620551f09ad402
https://github.com/llvm/llvm-project/commit/5cf7d871b030212d021ffc9356620551f09ad402
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/Type.h
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/Type.cpp
Log Message:
-----------
[NFC][Clang][AST] Adopt simplified `getTrailingObjects` in AST (#144432)
Adopt simplified `getTrailingObjects` API in several places in clag/AST
that were missed by earlier changes.
Commit: c0cc81cdc03c97473ba771bbc3a2330bd22396bc
https://github.com/llvm/llvm-project/commit/c0cc81cdc03c97473ba771bbc3a2330bd22396bc
Author: Rahul Joshi <rjoshi at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/lib/Serialization/ASTReaderDecl.cpp
M clang/lib/Serialization/ASTReaderStmt.cpp
Log Message:
-----------
[NFC][Clang] Adopt simplified `getTrailingObjects` in ASTReader (#144438)
Commit: 3fe62682ef9ca514b899d0cecaebb8f1fd97baef
https://github.com/llvm/llvm-project/commit/3fe62682ef9ca514b899d0cecaebb8f1fd97baef
Author: Andrzej Warzyński <andrzej.warzynski at arm.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Vector/IR/VectorOps.td
Log Message:
-----------
[mlir][vector] Use `result` consistently as the result argument name (#144739)
This patch updates the following ops to use `result` (instead of `res`)
as the name for their result argument:
* `vector.scalable.insert`
* `vector.scalable.extract`
* `vector.insert_strided_slice`
This change ensures naming consistency with other ops in the `vector`
dialect. It addresses part of:
* https://github.com/llvm/llvm-project/issues/131602
Commit: 0816bb32ac37b24d2f895f0c0464b7659fffd4fc
https://github.com/llvm/llvm-project/commit/0816bb32ac37b24d2f895f0c0464b7659fffd4fc
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
Log Message:
-----------
[Matrix] Fix heap-use-after-free after 0fa373c77ded203eddb.
We need to skip instructions in FusedInsts, as they may have been
deleted. Fixes a heap-use-after-free after #141681.
Commit: 6ce86538c11b3ef93a2a8df3bd4f817a724f42bd
https://github.com/llvm/llvm-project/commit/6ce86538c11b3ef93a2a8df3bd4f817a724f42bd
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/ControlFlow/IR/ControlFlowOps.td
M mlir/lib/Dialect/ControlFlow/IR/ControlFlowOps.cpp
M mlir/test/Dialect/ControlFlow/canonicalize.mlir
Log Message:
-----------
[mlir][cf] Preserve branch weights during cf.cond_br canonicalization. (#144822)
Commit: c0c71463f6bca05eb4540b68cdcbd17c916562c9
https://github.com/llvm/llvm-project/commit/c0c71463f6bca05eb4540b68cdcbd17c916562c9
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/PatternMatch.h
M llvm/lib/Transforms/InstCombine/InstCombineAddSub.cpp
M llvm/lib/Transforms/InstCombine/InstCombineMulDivRem.cpp
M llvm/lib/Transforms/InstCombine/InstCombineNegator.cpp
A llvm/test/Transforms/InstCombine/sub-sext-add.ll
Log Message:
-----------
[InstCombine] Optimize sub(sext(add(x,y)),sext(add(x,z))). (#144174)
This pattern can be often met in Flang generated LLVM IR,
for example, for the counts of the loops generated for array
expressions like: `a(x:x+y)` or `a(x+z:x+z)` or their variations.
In order to compute the loop count, Flang needs to subtract
the lower bound of the array slice from the upper bound
of the array slice. To avoid the sign wraps, it sign extends
the original values (that may be of any user data type)
to `i64`.
This peephole is really helpful in CPU2017/548.exchange2,
where we have multiple following statements like this:
```
block(row+1:row+2, 7:9, i7) = block(row+1:row+2, 7:9, i7) - 10
```
While this is just a 2x3 iterations loop nest, LLVM cannot
figure it out, ending up vectorizing the inner loop really
hard (with a vector epilog and scalar remainder). This, in turn,
causes problems for LSR that ends up creating too many loop-carried
values in the loop containing the above statement, which are then
causing too many spills/reloads.
Alive2: https://alive2.llvm.org/ce/z/gLgfYX
Related to #143219.
Commit: 0b8179b2adbc821324c425d7cafd269f84e72d5e
https://github.com/llvm/llvm-project/commit/0b8179b2adbc821324c425d7cafd269f84e72d5e
Author: Abhishek Kaushik <abhishek.kaushik at intel.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Analysis/ValueTracking.cpp
M llvm/test/Transforms/InstCombine/X86/x86-vector-shifts.ll
M llvm/test/Transforms/InstCombine/bitcast-known-bits.ll
Log Message:
-----------
[ValueTracking] Improve `Bitcast` handling to match SDAG (#125935)
Closes #125228
Commit: f780955e1df9105e9c4e67ebd16efded7dd279e2
https://github.com/llvm/llvm-project/commit/f780955e1df9105e9c4e67ebd16efded7dd279e2
Author: Justin King <jcking at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M compiler-rt/lib/lsan/lsan_interceptors.cpp
Log Message:
-----------
lsan: fix macos build after #144604 (#144818)
Fixes build failures on macOS, including
https://green.lab.llvm.org/job/llvm.org/job/clang-stage1-RA/
llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp:579:3: error: use of undeclared identifier 'LSAN_MAYBE_INTERCEPT_FREE_SIZED'
13:23:58 579 | LSAN_MAYBE_INTERCEPT_FREE_SIZED;
13:23:58 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13:23:58 /Users/ec2-user/jenkins/workspace/llvm.org/as-lldb-cmake/llvm-project/compiler-rt/lib/lsan/lsan_interceptors.cpp:580:3: error: use of undeclared identifier 'LSAN_MAYBE_INTERCEPT_FREE_ALIGNED_SIZED'
13:23:58 580 | LSAN_MAYBE_INTERCEPT_FREE_ALIGNED_SIZED;
13:23:58 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
13:23:58 2 errors generated.
Commit: 836201f1177c38f3ca0457de019bb179a04afe3c
https://github.com/llvm/llvm-project/commit/836201f1177c38f3ca0457de019bb179a04afe3c
Author: Umang Yadav <29876643+umangyadav at users.noreply.github.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M mlir/lib/Conversion/AMDGPUToROCDL/AMDGPUToROCDL.cpp
M mlir/test/Conversion/AMDGPUToROCDL/mfma-gfx950.mlir
Log Message:
-----------
Allow bf16 operands on new MFMAs (#144925)
New gfx950 MFMA allows bf16 operands.
https://github.com/llvm/llvm-project/blob/c0cc81cdc03c97473ba771bbc3a2330bd22396bc/llvm/include/llvm/IR/IntrinsicsAMDGPU.td#L3434
When running `amdgpu-to-rocdl`, Current logic converts bf16 to i16
always which fails to compile for newer bf16 MFMA e.g.
`v_mfma_f32_16x16x32bf16`.
Backend expects bf16 type for the operands for those newer MFMAs. This
patch fixes it.
CC: @krzysz00 @dhernandez0 @giuseros @antiagainst @kuhar
Commit: 74ec1c287a88dffc232c38e0fdd3251f6b167d15
https://github.com/llvm/llvm-project/commit/74ec1c287a88dffc232c38e0fdd3251f6b167d15
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
A llvm/test/Transforms/LoopVectorize/ARM/mve-reductions-interleave.ll
Log Message:
-----------
[LV] Add tests interleaving extended and multiply/accumulate reductions.
Add missing test coverage for interleaving with
VPExtendedReduction/VPMulAccumulateReduction recipes.
Adds missing test coverage in preparation for
https://github.com/llvm/llvm-project/pull/144281.
Commit: 3bee9ba0156ee130fa88379a5a89de0812936a3d
https://github.com/llvm/llvm-project/commit/3bee9ba0156ee130fa88379a5a89de0812936a3d
Author: Nicolai Hähnle <nicolai.haehnle at amd.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/docs/AMDGPUUsage.rst
M llvm/lib/Target/AMDGPU/AMDGPUInstructionSelector.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
M llvm/lib/Target/AMDGPU/SOPInstructions.td
M llvm/test/CodeGen/AMDGPU/insert-skips-gfx12.mir
A llvm/test/CodeGen/AMDGPU/llvm.amdgcn.s.barrier.signal.isfirst.ll
Log Message:
-----------
AMDGPU/GFX12: Fix s_barrier_signal_isfirst for single-wave workgroups (#143634)
Barrier instructions are no-ops in single-wave workgroups. This includes
s_barrier_signal_isfirst, which will leave SCC unmodified.
Model this correctly (via an implicit use of SCC) and ensure SCC==1
before the barrier instruction (if the wave is the only one of the
workgroup, then it is the first).
---------
Co-authored-by: Matt Arsenault <arsenm2 at gmail.com>
Commit: 633e740e3453bab06bf535830174c759100257f9
https://github.com/llvm/llvm-project/commit/633e740e3453bab06bf535830174c759100257f9
Author: Shilei Tian <i at tianshilei.me>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/test/Driver/hip-thinlto.hip
M clang/test/Driver/openmp-offload-gpu.c
Log Message:
-----------
[Clang][AMDGPU][Driver] Add `avail-extern-gv-in-addrspace-to-local` option when ThinTLO is enabled (#144914)
On AMDGPU, we need an extra argument
`-avail-extern-gv-in-addrspace-to-local=3`
to privatize LDS global variables when ThinLTO is enabled.
Commit: baf35d7a829efb9688dc0aef6d1e161ef6bc5983
https://github.com/llvm/llvm-project/commit/baf35d7a829efb9688dc0aef6d1e161ef6bc5983
Author: William Huynh <William.Huynh at arm.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
Log Message:
-----------
[libc] Fix bug in LIBC_CONF_ERRNO_MODE being undefined (#144896)
A typo, set() instead of list() would cause the build to not define
LIBC_CONF_ERRNO_MODE, which would cause the wrong configuration to be
used.
Commit: 8631b4f1b4f30edd1f26b20e35b7367517aba359
https://github.com/llvm/llvm-project/commit/8631b4f1b4f30edd1f26b20e35b7367517aba359
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
A flang/test/Integration/cold_array_repacking.f90
M flang/test/Transforms/lower-repack-arrays.fir
Log Message:
-----------
[flang] Set low probability for array repacking code. (#144830)
This allows LLVM to place the most probably cold blocks
that do the repacking out of the line of the potentially hot code.
Commit: 28808dda2c53a1dff1076cb83a9b91d0866ebf9a
https://github.com/llvm/llvm-project/commit/28808dda2c53a1dff1076cb83a9b91d0866ebf9a
Author: Slava Zakharin <szakharin at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M flang/test/Integration/cold_array_repacking.f90
Log Message:
-----------
[flang] Fixed test added in #144830.
Commit: dc058a3d84ed1bc4006416023e8b336f3214bdc7
https://github.com/llvm/llvm-project/commit/dc058a3d84ed1bc4006416023e8b336f3214bdc7
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
Log Message:
-----------
[TableGen] Use ListSeparator (NFC) (#144936)
Note that an instance of ListSeparator evaluates to the empty string
for the first time and then ", " for subsequent references.
Commit: 7349864d2c7c874c17ed546791489a46e896f901
https://github.com/llvm/llvm-project/commit/7349864d2c7c874c17ed546791489a46e896f901
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/ADT/PointerIntPair.h
Log Message:
-----------
[ADT] Remove an extraneous variable (NFC) (#144937)
Without this patch, Int and IntWord have the same value and type.
This patch removes the extraneous copy.
Commit: 3b672e1d7b7375ca2a048cfb252d0e8ff35724e2
https://github.com/llvm/llvm-project/commit/3b672e1d7b7375ca2a048cfb252d0e8ff35724e2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/unittests/ADT/TestGraph.h
M llvm/unittests/Support/Casting.cpp
Log Message:
-----------
[llvm] Use "= delete" to delete constructors (NFC) (#144938)
None of the constructors touched in this patch has a corresponding
definition. This patch explicitly deletes them with "= delete" while
moving them to the public section of respective classes. Note that "=
delete" itself serves as documentation.
Identified with modernize-use-equals-delete.
Commit: 03692aa40487d0f4090d329ca2904fb888242c94
https://github.com/llvm/llvm-project/commit/03692aa40487d0f4090d329ca2904fb888242c94
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/ProfileData/MemProfReader.h
Log Message:
-----------
[memprof] Use a lambda instead of std::bind (NFC) (#144940)
A lambda is a lot shorter than std::bind here.
Commit: 9fd22cb56d4c626769afd938e0f9ef6157164394
https://github.com/llvm/llvm-project/commit/9fd22cb56d4c626769afd938e0f9ef6157164394
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Semantics/tools.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Lower/OpenACC.cpp
M flang/lib/Lower/OpenMP/OpenMP.cpp
M flang/lib/Semantics/check-omp-structure.cpp
M flang/lib/Semantics/tools.cpp
Log Message:
-----------
[flang][NFC] Move new code to right place (#144551)
Some new code was added to flang/Semantics that only depends on
facilities in flang/Evaluate. Move it into Evaluate and clean up some
minor stylistic problems.
Commit: 53336ad488c953d41e744d42873d712276be980f
https://github.com/llvm/llvm-project/commit/53336ad488c953d41e744d42873d712276be980f
Author: Ross Brunton <ross at codeplay.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M offload/liboffload/include/OffloadImpl.hpp
M offload/liboffload/src/OffloadImpl.cpp
M offload/liboffload/src/OffloadLib.cpp
M offload/tools/offload-tblgen/EntryPointGen.cpp
Log Message:
-----------
[Offload] Move (most) global state to an `OffloadContext` struct (#144494)
Rather than having a number of static local variables, we now use
a single `OffloadContext` struct to store global state. This is
initialised by `olInit`, but is never deleted (de-initialization of
Offload isn't yet implemented).
The error reporting mechanism has not been moved to the struct, since
that's going to cause issues with teardown (error messages must outlive
liboffload).
Commit: 2f3a8fd0b3322baac25e5595313413ed4cd1158f
https://github.com/llvm/llvm-project/commit/2f3a8fd0b3322baac25e5595313413ed4cd1158f
Author: lntue <lntue at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
Log Message:
-----------
[libc] Skip x87 floating point register and only update mxcsr for x86_64 targets when raising exceptions inside math functions. (#144951)
Updating x87 floating point register significantly affect the
performance of the functions.
All the floating point exception reads will merge the results from both
mxcsr and x87 registers anyway.
Commit: 53ea522d1b87c144a1faeffea62d50a4d9907a38
https://github.com/llvm/llvm-project/commit/53ea522d1b87c144a1faeffea62d50a4d9907a38
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
Log Message:
-----------
[LV] Introduce and use VPBuilder::createScalarZExtOrTrunc [nfc] (#144946)
Reduce redundant code, make the flow slightly easier to read.
Commit: d3a2931d8af87c20aaede991acda0b5f313075c3
https://github.com/llvm/llvm-project/commit/d3a2931d8af87c20aaede991acda0b5f313075c3
Author: lntue <lntue at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M libc/src/math/generic/log2f.cpp
Log Message:
-----------
[libc] Use `raise_except_if_required` for log2f. (#144961)
Commit: a9d175f1735a508ac05ab48d83a99071ba97c10e
https://github.com/llvm/llvm-project/commit/a9d175f1735a508ac05ab48d83a99071ba97c10e
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
Log Message:
-----------
[CodeGen] Use range-based for loops (NFC) (#144939)
Commit: a8edda195c9fe0d48ee7f6f2438c9575ebbad7f2
https://github.com/llvm/llvm-project/commit/a8edda195c9fe0d48ee7f6f2438c9575ebbad7f2
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/ExecutionEngine/JITLink/COFFDirectiveParser.cpp
M llvm/lib/ExecutionEngine/Orc/UnwindInfoRegistrationPlugin.cpp
M llvm/lib/Linker/IRMover.cpp
M llvm/lib/Target/BPF/BPFPreserveStaticOffset.cpp
Log Message:
-----------
[llvm] Remove unused includes (NFC) (#144941)
These are identified by misc-include-cleaner. I've filtered out those
that break builds. Also, I'm staying away from llvm-config.h,
config.h, and Compiler.h, which likely cause platform- or
compiler-specific build failures.
Commit: dfb5cadf5e816e542e46d3f0551b6a148a93ce3d
https://github.com/llvm/llvm-project/commit/dfb5cadf5e816e542e46d3f0551b6a148a93ce3d
Author: Koakuma <koachan at protonmail.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Target/Sparc/Sparc.td
M llvm/lib/Target/Sparc/SparcInstrInfo.td
M llvm/test/CodeGen/SPARC/ctlz.ll
M llvm/test/CodeGen/SPARC/cttz.ll
M llvm/test/CodeGen/SPARC/inlineasm-v9.ll
M llvm/test/CodeGen/SPARC/inlineasm.ll
M llvm/test/MC/Sparc/Relocations/relocation-specifier.s
M llvm/test/MC/Sparc/sparcv9-instructions.s
Log Message:
-----------
[SPARC][IAS] Properly set implied feature sets for ISA levels/extensions (#143232)
Some SPARC ISA levels and/or extensions are defined in a way such that
the availability of it implies the availability of other, more fundamental
ISA features (for example, targeting 64-bit environment implies that
V9 instructions are available).
Properly set those in the TableGen definitions.
Fixes https://github.com/llvm/llvm-project/issues/142388.
Commit: b96370131d1572feb9c51442ac8ba1ccb16d7071
https://github.com/llvm/llvm-project/commit/b96370131d1572feb9c51442ac8ba1ccb16d7071
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfo.h
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/lib/Analysis/TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
M llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.cpp
M llvm/lib/Target/RISCV/RISCVTargetTransformInfo.h
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.cpp
M llvm/lib/Target/WebAssembly/WebAssemblyTargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[TTI] Plumb CostKind through getPartialReductionCost (#144953)
Purely for the sake of being idiomatic with other TTI costing routines,
no direct motivation beyond that.
Commit: d8e6d74c6905b3032a3dc9b686bd80bb3feb9857
https://github.com/llvm/llvm-project/commit/d8e6d74c6905b3032a3dc9b686bd80bb3feb9857
Author: Philip Reames <preames at rivosinc.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Log Message:
-----------
[LV] Consider EVL legality for TTI tail folding preference (#144790)
Commit: dad64877c811dcce7e2c7ebc216161ecf0733fcf
https://github.com/llvm/llvm-project/commit/dad64877c811dcce7e2c7ebc216161ecf0733fcf
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/IR/IntrinsicInst.h
M llvm/lib/CodeGen/GlobalISel/InlineAsmLowering.cpp
M llvm/lib/IR/IntrinsicInst.cpp
Log Message:
-----------
[llvm] Remove an extraneous cast (NFC) (#144955)
llvm::CallBase::getArgOperand returns Value *, so we do not need
const_cast<Value *>.
Commit: 6001a8bb945762fd128f025bb8d7969d92096772
https://github.com/llvm/llvm-project/commit/6001a8bb945762fd128f025bb8d7969d92096772
Author: Tianle Liu <tianle.l.liu at intel.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Transforms/IPO/WholeProgramDevirt.cpp
A llvm/test/Transforms/WholeProgramDevirt/availableexternal-check.ll
Log Message:
-----------
[WholeProgramDevirt] Add check for AvailableExternal and give up icall.branch.funnel (#143468)
When a customer class inherits from a libc++ class, and is built with
"-flto -fwhole-program-vtables -static-libstdc++ \
-Wl,-plugin-opt=-whole-program-visibility", the libc++ class's vtable is
available_externally, meanwhile the customer class vtable is private.
And
both of them are !vcall_visibility == Linkage Unit.
In this case, icall.branch.funnel might be generated.
But the icall.branch.funnel would cause crash in LowerTypeTests because
available_externally Global_Object's GlobalTypeMember would not be
saved and finally leads to a NULL GlobalTypeMember which causes a crash.
Even saving the available_externally GO's GlobalTypeMember so that it is
not NULL to avoid the crash in LowerTypeTests, it still will crash in
SelectionDAGBuilder or Verifier, because operands linkage type
consistency
check of icall.branch.funnel can not pass.
So any one of available externally vtable would stop to generate
icall.branch.funnel.
This patch fixes FullLTO mode and split-LTO-unit ThinLTO mode.
Commit: 91439817e8d19613ac6e25ca9abd5e7534a9d33b
https://github.com/llvm/llvm-project/commit/91439817e8d19613ac6e25ca9abd5e7534a9d33b
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Target/ARM/ARMISelLowering.cpp
M llvm/lib/Target/ARM/ARMSubtarget.h
Log Message:
-----------
ARM: Avoid using isTarget wrappers around Triple predicates (#144705)
These are module level properties, and querying them through
a function-level subtarget context is confusing. Plus we don't
need an aliased name. This doesn't avoid all the uses, just the
ones in the TargetLowering constructor.
Commit: efd42b9b1d655a56abb3e6ce1ed4414e9f882912
https://github.com/llvm/llvm-project/commit/efd42b9b1d655a56abb3e6ce1ed4414e9f882912
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Target/WebAssembly/WebAssemblyRuntimeLibcallSignatures.cpp
Log Message:
-----------
WebAssembly: Stop directly using RuntimeLibcalls.def (#143054)
Construct RuntimeLibcallsInfo instead of manually creating a map.
This was repeating the setting of the RETURN_ADDRESS. This removes
an obstacle to generating libcall information with tablegen.
This is also not great, since it's setting a static map which
would be broken if there were ever a triple with a different libcall
configuration.
Commit: fa7646008ef32b38357189ed5752e1a1b8d6d146
https://github.com/llvm/llvm-project/commit/fa7646008ef32b38357189ed5752e1a1b8d6d146
Author: joaosaffran <126493771+joaosaffran at users.noreply.github.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/lib/Target/DirectX/DXILRootSignature.cpp
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-function.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-is-not-value.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-no-root-element-list.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Error-root-element-not-mdnode.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags-Error.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Flags.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-MultipleEntryFunctions.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-NullFunction-Error.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters-Invalid-ParameterIsNotString.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters-Validation-Error.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-Parameters.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-Num32BitValues.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-RegisterSpace.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants-Invalid-ShaderRegister.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootConstants.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-Flags.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-RegisterKind.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-RegisterSpace.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor-Invalid-RegisterValue.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor.ll
A llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootDescriptor_V1.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootElement-Error.ll
M llvm/test/CodeGen/DirectX/ContainerData/RootSignature-RootFlags-VisibilityValidationError.ll
Log Message:
-----------
[DirectX] Add Root Signature Version Support and Update Test IR Format (#144957)
Updates the Root Signature metadata parser to extract version
information. This requirement was added after the initial parser
implementation.
---------
Co-authored-by: joaosaffran <joao.saffran at microsoft.com>
Commit: 5cbed34404a3862c2d7f18e4b4b24f5ce1516a8d
https://github.com/llvm/llvm-project/commit/5cbed34404a3862c2d7f18e4b4b24f5ce1516a8d
Author: Phoebe Wang <phoebe.wang at intel.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M clang/test/Preprocessor/predefined-arch-macros.c
M llvm/lib/Target/X86/X86.td
M llvm/lib/TargetParser/X86TargetParser.cpp
Log Message:
-----------
[X86] Remove CLDEMOTE from Arrowlake and later hybrid processors (#144833)
Decouple Arrowlake from Sierraforest because the later has CLDEMOTE
feature.
Commit: a05393a879b2950fccca66ff0e1b6c70c39838e4
https://github.com/llvm/llvm-project/commit/a05393a879b2950fccca66ff0e1b6c70c39838e4
Author: Jim Lin <jim at andestech.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/include/llvm/BinaryFormat/ELFRelocs/RISCV_nonstandard.def
M llvm/lib/Target/RISCV/AsmParser/RISCVAsmParser.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVAsmBackend.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVBaseInfo.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVELFObjectWriter.cpp
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVFixupKinds.h
M llvm/lib/Target/RISCV/MCTargetDesc/RISCVMCCodeEmitter.cpp
M llvm/lib/Target/RISCV/RISCVInstrFormats.td
M llvm/lib/Target/RISCV/RISCVInstrInfoXAndes.td
M llvm/test/MC/RISCV/custom_reloc.s
M llvm/test/MC/RISCV/vendor-symbol.s
A llvm/test/MC/RISCV/xandesperf-fixups-diagnostics.s
A llvm/test/MC/RISCV/xandesperf-relocation.s
Log Message:
-----------
[RISCV] Add symbol parsing support for XAndesPerf branch instructions (#137748)
This patch adds support for parsing symbols in the XAndesPerf branch
immediate instructions. The branch immediate instructions use
`R_RISCV_NDS_BRANCH_10` relocation. It uses a 10-bit PC-relative branch
offset.
Commit: 513bcf6d012f7f9483af784de8487ee04cb9971a
https://github.com/llvm/llvm-project/commit/513bcf6d012f7f9483af784de8487ee04cb9971a
Author: Fangrui Song <i at maskray.me>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
A llvm/test/tools/yaml2obj/basic.test
M llvm/tools/yaml2obj/yaml2obj.cpp
Log Message:
-----------
[yaml2obj] Report error when the input filename does not exist
I invoked yaml2obj with a mistyped filename and received no error
message. I nearly thought the program had succeeded, but the shell's
exit code prompt tipped me off.
Pull Request: https://github.com/llvm/llvm-project/pull/144835
Commit: 4f991cc99523e4bb7a0d96cee9f5c3a64bf2bc8e
https://github.com/llvm/llvm-project/commit/4f991cc99523e4bb7a0d96cee9f5c3a64bf2bc8e
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M lldb/include/lldb/Host/Socket.h
M lldb/source/Host/common/Socket.cpp
M lldb/test/API/tools/lldb-dap/server/TestDAP_server.py
M lldb/tools/lldb-dap/Options.td
M lldb/tools/lldb-dap/src-ts/lldb-dap-server.ts
M lldb/tools/lldb-dap/tool/lldb-dap.cpp
Log Message:
-----------
[lldb-dap] Make connection URLs match lldb (#144770)
Use the same scheme as ConnectionFileDescriptor::Connect and use
"listen" and "accept". Addresses feedback from a Pavel in a different PR
[1].
[1] https://github.com/llvm/llvm-project/pull/143628#discussion_r2152225200
Commit: 50c5ecd35402dc734f2a462df5532e77a5ce12b2
https://github.com/llvm/llvm-project/commit/50c5ecd35402dc734f2a462df5532e77a5ce12b2
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M clang/include/clang/Serialization/ASTReader.h
Log Message:
-----------
[NFC] [Serialization] Remove a useless comment
The comments belongs to other WIP patches.
Commit: bb51c5d4b85a655e8c90247a6678e507402703a4
https://github.com/llvm/llvm-project/commit/bb51c5d4b85a655e8c90247a6678e507402703a4
Author: Ming Yan <99472920+NexMing at users.noreply.github.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/SDPatternMatch.h
M llvm/unittests/CodeGen/SelectionDAGPatternMatchTest.cpp
Log Message:
-----------
[SDPatternMatch] Add m_Poison matcher (#144860)
Add SDPatternMatch matcher and unit test coverage for ISD::POISON opcode
e.g.
```
m_InsertElt(m_Poison(), m_Value(), m_Zero())
```
Commit: 64fe3236476a9a85977abf5489414bbb2de2109c
https://github.com/llvm/llvm-project/commit/64fe3236476a9a85977abf5489414bbb2de2109c
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
M llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Log Message:
-----------
[llvm] Migrate away from ArrayRef(std::nullopt) (NFC) (#144967)
ArrayRef has a constructor that accepts std::nullopt. This
constructor dates back to the days when we still had llvm::Optional.
Since the use of std::nullopt outside the context of std::optional is
kind of abuse and not intuitive to new comers, I would like to move
away from the constructor and eventually remove it.
This patch takes care of the llvm side of the migration.
Commit: 69974658f079cec82a9fc13dd4993ab1e072c811
https://github.com/llvm/llvm-project/commit/69974658f079cec82a9fc13dd4993ab1e072c811
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/include/clang/Basic/OffloadArch.h
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M llvm/docs/AMDGPUUsage.rst
M llvm/include/llvm/BinaryFormat/ELF.h
M llvm/include/llvm/TargetParser/TargetParser.h
M llvm/lib/Object/ELFObjectFile.cpp
M llvm/lib/ObjectYAML/ELFYAML.cpp
M llvm/lib/Target/AMDGPU/AMDGPU.td
M llvm/lib/Target/AMDGPU/GCNProcessors.td
M llvm/lib/Target/AMDGPU/GCNSubtarget.h
M llvm/lib/Target/AMDGPU/MCTargetDesc/AMDGPUTargetStreamer.cpp
M llvm/lib/TargetParser/TargetParser.cpp
M llvm/test/CodeGen/AMDGPU/directive-amdgcn-target.ll
M llvm/test/CodeGen/AMDGPU/elf-header-flags-mach.ll
M llvm/test/Object/AMDGPU/elf-header-flags-mach.yaml
M llvm/test/tools/llvm-objdump/ELF/AMDGPU/subtarget.ll
M llvm/test/tools/llvm-readobj/ELF/AMDGPU/elf-headers.test
M llvm/tools/llvm-readobj/ELFDumper.cpp
Log Message:
-----------
[AMDGPU] Initial support for gfx1250 target. (#144965)
This is just a stub for now.
Commit: b8d3efa189620bfd48dab5fb05b923560fb1e2d5
https://github.com/llvm/llvm-project/commit/b8d3efa189620bfd48dab5fb05b923560fb1e2d5
Author: Maksim Panchenko <maks at fb.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/test/X86/linux-version.S
Log Message:
-----------
[BOLT][Linux] Fix linux_banner lookup (#144962)
While detecting the Linux kernel version, look for `linux_banner` symbol
with local visibility if the global one was not found.
Fixes #144847
Commit: 7cbb1411550ef6caab18a9360f1549d6029ffe86
https://github.com/llvm/llvm-project/commit/7cbb1411550ef6caab18a9360f1549d6029ffe86
Author: Kazu Hirata <kazu at google.com>
Date: 2025-06-19 (Thu, 19 Jun 2025)
Changed paths:
M clang/include/clang/AST/TypeProperties.td
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/Basic/Targets/Xtensa.h
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/TreeTransform.h
Log Message:
-----------
[clang] Migrate away from ArrayRef(std::nullopt) (NFC) (#144982)
ArrayRef has a constructor that accepts std::nullopt. This
constructor dates back to the days when we still had llvm::Optional.
Since the use of std::nullopt outside the context of std::optional is
kind of abuse and not intuitive to new comers, I would like to move
away from the constructor and eventually remove it.
This patch takes care of the clang side of the migration.
Commit: 0f302f38b0014a0018031ffb3cb898fdc7d90880
https://github.com/llvm/llvm-project/commit/0f302f38b0014a0018031ffb3cb898fdc7d90880
Author: no92 <no92 at users.noreply.github.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
A clang/lib/Driver/ToolChains/Managarm.cpp
A clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Lex/InitHeaderSearch.cpp
A clang/test/Driver/Inputs/basic_managarm_tree/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/aarch64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/v1/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/riscv64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/x86_64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib64/.keep
A clang/test/Driver/managarm.cpp
M clang/test/Preprocessor/init.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
Log Message:
-----------
[clang] Add managarm support (#144791)
This is a repost of the quickly reverted #139271. The failing buildbot
tests have been fixed and pass on my machine now.
Commit: 06e08f38e1ec57bf3cb5e08569b52eb6a3c3e166
https://github.com/llvm/llvm-project/commit/06e08f38e1ec57bf3cb5e08569b52eb6a3c3e166
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/unsupported-cc-call.ll
A llvm/test/CodeGen/AArch64/unsupported-cc-func.ll
M llvm/test/MC/AArch64/coff-function-type-info.ll
Log Message:
-----------
AArch64: Use reportFatalUsageError for unsupported calling conv (#144840)
This probably should emit a DiagnosticInfoUnsupported and use the
default calling convention instead, but then we would need to pass
in the context.
Also move where CCAssignFnForCall is called. It was unnecessarily
called for each argument, so the error wouldn't trigger for functions
with 0 arguments.
This only ensures the error occurs for functions defined with the
calling convention. The error is still missed for outgoing calls
with no arguments. The lowering logic here is convoluted, calling
CCAssignFnForCall for each argument and it does not mirror
LowerFormalArguments so I'm not sure what's going on here.
Commit: 090f409538d2b426f11ce5aa22af8c243099aecf
https://github.com/llvm/llvm-project/commit/090f409538d2b426f11ce5aa22af8c243099aecf
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/clang/lib/Driver/BUILD.gn
Log Message:
-----------
[gn build] Port 0f302f38b001
Commit: d196124dd22391f6c967ed569b34632840536c45
https://github.com/llvm/llvm-project/commit/d196124dd22391f6c967ed569b34632840536c45
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
Log Message:
-----------
[PredicateInfo] Remove unnecessary EdgeUsesOnly set (NFC) (#144912)
As far as I can tell, this set is pointless: It just represents whether
the target block has multiple predecessors, and the way it is
constructed and queried, we're not even reducing the number of
getSinglePredecessor() calls or something like that.
Commit: cbb5e244f7564091f9169f525fd8456e68bc028a
https://github.com/llvm/llvm-project/commit/cbb5e244f7564091f9169f525fd8456e68bc028a
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
Log Message:
-----------
[PredicateInfo] Remove redundant EdgeOnly member (NFC)
EdgeOnly indicates a phi def, which can already be identified by
LN_Last with non-null PInfo. Most of the code already reasons in
terms of LN_Last instead of EdgeOnly.
Commit: 1cae21da47b1f53c3946534b12507a035fb283d2
https://github.com/llvm/llvm-project/commit/1cae21da47b1f53c3946534b12507a035fb283d2
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUPromoteAlloca.cpp
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
Log Message:
-----------
AMDGPU: Remove legacy PM version of AMDGPUPromoteAllocaToVector (#144986)
This is only run in the middle end with the new pass manager now,
so garbage collect the old PM version.
Commit: c361bffa50f1ed790c393ffbab39c2e07dfcb242
https://github.com/llvm/llvm-project/commit/c361bffa50f1ed790c393ffbab39c2e07dfcb242
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPU.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
M llvm/lib/Target/AMDGPU/AMDGPUUnifyMetadata.cpp
Log Message:
-----------
AMDGPU: Remove legacy pass manager version of AMDGPUUnifyMetadata (#144985)
This is only run in the new pass manager now.
Commit: 8973be462c49a7b0a24c61f41e07a721706b1ad8
https://github.com/llvm/llvm-project/commit/8973be462c49a7b0a24c61f41e07a721706b1ad8
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
Log Message:
-----------
[PredicateInfo] Avoid duplicate stack in scope check (NFC)
popStackUntilDFSScope() is going to check this itself, there is
no need to do it in advance as well.
Commit: bc14e5e5e9c717a7699cf10b13a7661a9e033594
https://github.com/llvm/llvm-project/commit/bc14e5e5e9c717a7699cf10b13a7661a9e033594
Author: Stanislav Mekhanoshin <rampitec at users.noreply.github.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/test/MC/AMDGPU/gfx12_asm_smem.s
M llvm/test/MC/AMDGPU/gfx12_asm_sopk.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop2_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop1_dpp8.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp16.s
M llvm/test/MC/AMDGPU/gfx12_asm_vop3_from_vop2_dpp8.s
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_smem.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop1_dpp8.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp16.txt
M llvm/test/MC/Disassembler/AMDGPU/gfx12_dasm_vop3_from_vop1_dpp8.txt
Log Message:
-----------
[AMDGPU] Add trivial gfx1250 runlines to MC tests. NFC. (#144988)
Commit: b6b8fa3b15d334c51fcf8763ccda0102a01aeb9c
https://github.com/llvm/llvm-project/commit/b6b8fa3b15d334c51fcf8763ccda0102a01aeb9c
Author: int-zjt <zhangjiatong.0 at bytedance.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
A compiler-rt/test/profile/Posix/gcov-file-change-line.cpp
M compiler-rt/test/profile/Posix/gcov-file-change.cpp
M llvm/include/llvm/ProfileData/GCOV.h
M llvm/lib/ProfileData/GCOV.cpp
M llvm/lib/Transforms/Instrumentation/GCOVProfiling.cpp
Log Message:
-----------
[llvm-cov][gcov] Support multi-files coverage in one basic block (#144504)
In the current gcov implementation, all lines within a basic block are
attributed to the source file of the block's containing function. This
is inaccurate when a block contains lines from other files (e.g., via
#include "foo.inc").
Commit
[406e81b](https://github.com/llvm/llvm-project/commit/406e81b79d26dae6838cc69d10a3e22635da09ef)
attempted to address this by filtering lines based on debug info types,
but this approach has two limitations:
* **Over-filtering**: Some valid lines belonging to the function are
incorrectly excluded.
* **Under-counting**: Lines not belonging to the function are filtered
out and omitted from coverage statistics.
**GCC Reference Behavior**
GCC's gcov implementation handles this case correctly.This change aligns
the LLVM behavior with GCC.
**Proposed Solution**
1. **GCNO Generation**:
* **Current**: Each block stores a single GCOVLines record (filename +
lines).
* **New**: Dynamically create new GCOVLines records whenever consecutive
lines in a block originate from different source files. Group subsequent
lines from the same file under one record.
2. **GCNO Parsing**:
* **Current**: Lines are directly attributed to the function's source
file.
* **New**: Introduce a GCOVLocation type to track filename/line mappings
within blocks. Statistics will reflect the actual source file for each
line.
Commit: 874773635d31501ab21812c05c44caf281c1acc7
https://github.com/llvm/llvm-project/commit/874773635d31501ab21812c05c44caf281c1acc7
Author: Sander de Smalen <sander.desmalen at arm.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
Log Message:
-----------
[SLP] NFC: Simplify CandidateVFs initialization (#144882)
Also adds a comment to clarify the meaning of MaxRegVF.
Commit: 14e89b061fdecedcec4bb035060a56588610cb5c
https://github.com/llvm/llvm-project/commit/14e89b061fdecedcec4bb035060a56588610cb5c
Author: Chuanqi Xu <yedeng.yd at linux.alibaba.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M clang/lib/Sema/SemaModule.cpp
A clang/test/Modules/pr144230.cppm
Log Message:
-----------
[C++20] [Modules] Add exported modules as transitive imported modules
Close https://github.com/llvm/llvm-project/issues/144230
The root cause of the problem is, when we decide the transitive imports,
we didn't deal with exported imports.
Commit: f704782c63ac1d567422f66072bebd49c41723f9
https://github.com/llvm/llvm-project/commit/f704782c63ac1d567422f66072bebd49c41723f9
Author: Matthew Devereau <matthew.devereau at arm.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/test/CodeGen/AArch64/neon-partial-reduce-dot-product.ll
Log Message:
-----------
[AArch64][SelectionDAG] Fix UDOT regression (#144907)
Fix broken check in AArch64ISelLowering for bailing from ZExt
optimizations when there is a partial reduction intrinsic.
Commit: b85387dfe8e67ee8a142a1faf25325761c343577
https://github.com/llvm/llvm-project/commit/b85387dfe8e67ee8a142a1faf25325761c343577
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/SCCPSolver.cpp
Log Message:
-----------
[SCCP] Check instruction type before querying PredicateInfo (NFC)
Do the cheap intrinsic check before the hash lookup for the
PredicateInfo.
Commit: eb0f1dc00e5d0e591fe912c1aaf9dd9d01d94b8d
https://github.com/llvm/llvm-project/commit/eb0f1dc00e5d0e591fe912c1aaf9dd9d01d94b8d
Author: Peter Smith <peter.smith at arm.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M lld/ELF/Thunks.cpp
M lld/test/ELF/aarch64-thunk-bti-multipass.s
Log Message:
-----------
[LLD][ELF] Include offset when adding Thunk symbols (#144995)
Include the offset of a thunk in the ThunkSection when adding symbols.
At Thunk creation time the offset is set to 0 as we don't know where in
the ThunkSection the Thunk will end up. The symbol values are updated by
the setOffset() call in assignOffsets().
When we transform a thunk from a short to a long, we sometimes add a
mapping symbol. At this point the offset of the thunk is non zero and we
need to account for that when defining the symbol, as the setOffset()
call subtracts the offset before adding the new one back in.
To test; added a second thunk that is converted to a long thunk to
aarch64-thunk-bit-multipass. This second thunk is given a non zero
offset from the start of the Thunk Section so we can observe the mapping
symbol being put in the wrong place without accounting for the offset.
fixes: https://github.com/llvm/llvm-project/issues/142326
Commit: 61972054f3fcaf59096799342bac9c93dd9aa432
https://github.com/llvm/llvm-project/commit/61972054f3fcaf59096799342bac9c93dd9aa432
Author: Alexis Engelke <engelke at in.tum.de>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/MachineBlockPlacement.cpp
M llvm/test/CodeGen/RISCV/branch.ll
Log Message:
-----------
[CodeGen] Limit number of analyzed predecessors
MachineBlockPlacement has quadratic runtime in the number of
predecessors: in some situation, for an edge, all predecessors of the
successor are considered.
Limit the number of considered predecessors to bound compile time for
large functions.
Pull Request: https://github.com/llvm/llvm-project/pull/142584
Commit: f577516d91dc1ae5b9c8a3bcad81558bc19ccf65
https://github.com/llvm/llvm-project/commit/f577516d91dc1ae5b9c8a3bcad81558bc19ccf65
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
Log Message:
-----------
[mlir][arith] Add back ElementwiseMappable to `arith.trunci` (#145000)
This trait was accidentally dropped in #144863.
Commit: dd4776d429bd20050c80749f669367a0574520c8
https://github.com/llvm/llvm-project/commit/dd4776d429bd20050c80749f669367a0574520c8
Author: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
M llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.cpp
M llvm/lib/Target/AMDGPU/AMDGPUInstrInfo.h
M llvm/lib/Target/AMDGPU/AMDGPURegBankLegalizeRules.cpp
M llvm/lib/Target/AMDGPU/AMDGPURegisterBankInfo.cpp
M llvm/lib/Target/AMDGPU/SIISelLowering.cpp
Log Message:
-----------
AMDGPU: Remove AMDGPUInstrInfo class (#144984)
This was never constructed and only provided one static helper
function.
Commit: f75973949b0e51eb4b3852c903d08bc72bf5d459
https://github.com/llvm/llvm-project/commit/f75973949b0e51eb4b3852c903d08bc72bf5d459
Author: Ádám Kallai <kadam at inf.u-szeged.hu>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Profile/DataAggregator.cpp
A bolt/test/perf2bolt/AArch64/perf2bolt-spe.test
A bolt/test/perf2bolt/X86/perf2bolt-spe.test
M bolt/tools/driver/llvm-bolt.cpp
M bolt/unittests/Profile/CMakeLists.txt
A bolt/unittests/Profile/PerfSpeEvents.cpp
Log Message:
-----------
[BOLT][AArch64] Add support for SPE brstack format (#129231)
Since Linux 6.14, Perf gained the ability to report SPE branch events
using the `brstack` format, which matches the layout of LBR/BRBE.
This patch reuses the existing LBR parsing logic to support SPE.
Example SPE brstack format:
```bash
perf script -i perf.data -F pid,brstack --itrace=bl
```
```
PID FROM / TO / PREDICTED
16984 0x72e342e5f4/0x72e36192d0/M/-/-/11/RET/-
16984 0x72e7b8b3b4/0x72e7b8b3b8/PN/-/-/11/COND/-
16984 0x72e7b92b48/0x72e7b92b4c/PN/-/-/8/COND/-
16984 0x72eacc6b7c/0x760cc94b00/P/-/-/9/RET/-
16984 0x72e3f210fc/0x72e3f21068/P/-/-/4//-
16984 0x72e39b8c5c/0x72e3627b24/P/-/-/4//-
16984 0x72e7b89d20/0x72e7b92bbc/P/-/-/4/RET/-
```
SPE brstack flags can be two characters long: `PN` or `MN`:
- `P` = predicted branch
- `M` = mispredicted branch
- `N` = optionally appears when the branch is NOT-TAKEN
- flag is relevant only to conditional branches
Example of usage with BOLT:
1. Capture SPE branch events:
```bash
perf record -e 'arm_spe_0/branch_filter=1/u' -- binary
```
2. Convert profile for BOLT:
```bash
perf2bolt -p perf.data -o perf.fdata --spe binary
```
3. Run BOLT Optimization:
```bash
llvm-bolt binary -o binary.bolted --data perf.fdata ...
```
A unit test verifies the parsing of the 'SPE brstack format'.
---------
Co-authored-by: Paschalis Mpeis <paschalis.mpeis at arm.com>
Commit: 238abf8ba8233ec0f2dab57a3bacbd192e78f8b6
https://github.com/llvm/llvm-project/commit/238abf8ba8233ec0f2dab57a3bacbd192e78f8b6
Author: LLVM GN Syncbot <llvmgnsyncbot at gmail.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/utils/gn/secondary/bolt/unittests/Profile/BUILD.gn
Log Message:
-----------
[gn build] Port f75973949b0e
Commit: 95bd05d7cae327e431ccdaf0a452a0573ade5357
https://github.com/llvm/llvm-project/commit/95bd05d7cae327e431ccdaf0a452a0573ade5357
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M mlir/lib/Conversion/FuncToLLVM/FuncToLLVM.cpp
Log Message:
-----------
[mlir][Func][NFC] Simplify implementation after #144706 (#145006)
Commit: a5fa5bd2a890c588b99b07fc0f3fcef236888609
https://github.com/llvm/llvm-project/commit/a5fa5bd2a890c588b99b07fc0f3fcef236888609
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/ptest.ll
Log Message:
-----------
[X86] ptest.ll - add test coverage for #144861 load chains
Commit: 7085065c02da6091dca91be201160912e43a63ec
https://github.com/llvm/llvm-project/commit/7085065c02da6091dca91be201160912e43a63ec
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/lib/Profile/DataAggregator.cpp
M bolt/test/X86/callcont-fallthru.s
M bolt/test/link_fdata.py
Log Message:
-----------
[BOLT] Support pre-aggregated returns (#143296)
Intel's Architectural LBR supports capturing branch type information
as part of LBR stack (SDM Vol 3B, part 2, October 2024):
```
20.1.3.2 Branch Types
The IA32_LBR_x_INFO.BR_TYPE and IA32_LER_INFO.BR_TYPE fields encode
the branch types as shown in Table 20-3.
Table 20-3. IA32_LBR_x_INFO and IA32_LER_INFO Branch Type Encodings
Encoding | Branch Type
0000B | COND
0001B | NEAR_IND_JMP
0010B | NEAR_REL_JMP
0011B | NEAR_IND_CALL
0100B | NEAR_REL_CALL
0101B | NEAR_RET
011xB | Reserved
1xxxB | OTHER_BRANCH
For a list of branch operations that fall into the categories above,
see Table 20-2.
Table 20-2. Branch Type Filtering Details
Branch Type | Operations Recorded
COND | Jcc, J*CXZ, and LOOP*
NEAR_IND_JMP | JMP r/m*
NEAR_REL_JMP | JMP rel*
NEAR_IND_CALL | CALL r/m*
NEAR_REL_CALL | CALL rel* (excluding CALLs to the next sequential IP)
NEAR_RET | RET (0C3H)
OTHER_BRANCH | JMP/CALL ptr*, JMP/CALL m*, RET (0C8H), SYS*,
interrupts, exceptions (other than debug exceptions), IRET, INT3,
INTn, INTO, TSX Abort, EENTER, ERESUME, EEXIT, AEX, INIT, SIPI, RSM
```
Linux kernel can preserve branch type when `save_type` is enabled,
even if CPU does not support Architectural LBR:
https://github.com/torvalds/linux/blob/f09079bd04a924c72d555cd97942d5f8d7eca98c/tools/perf/Documentation/perf-record.txt#L457-L460
> - save_type: save branch type during sampling in case binary is not
available later.
For the platforms with Intel Arch LBR support (12th-Gen+ client or
4th-Gen Xeon+ server), the save branch type is unconditionally enabled
when the taken branch stack sampling is enabled.
Kernel-reported branch type values:
https://github.com/torvalds/linux/blob/8c6bc74c7f8910ed4c969ccec52e98716f98700a/include/uapi/linux/perf_event.h#L251-L269
This information is needed to disambiguate external returns (from
DSO/JIT) to an entry point or a landing pad, when BOLT can't
disassemble the branch source.
This patch adds new pre-aggregated types:
- return trace (R),
- external return fall-through (r).
For such types, the checks for fall-through start (not an entry or
a landing pad) are relaxed.
Depends on #143295.
Test Plan: updated callcont-fallthru.s
Commit: 00c18d04ab6341022867d3b6674ec3ab30e5de2c
https://github.com/llvm/llvm-project/commit/00c18d04ab6341022867d3b6674ec3ab30e5de2c
Author: Nicolas Vasilache <Nico.Vasilache at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
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/CMakeLists.txt
A mlir/lib/Dialect/Linalg/Transforms/PadTilingInterface.cpp
A mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface-multiple-of.mlir
A mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir
Log Message:
-----------
[mlir][Transforms] Add a PadTilingInterface transformation and hook i… (#144991)
…t up to the transform dialect
This revision revisits the padding transformation from first principles
and prepares it to work more generally with TilingInterface.
Compared to structured.transform.pad it has the following differences:
- no support for nofold, copy-back, transpose and hoisting: these have
been carried by the padding op in the very early days of StructuredOps
and have since then been separated out as independent transformations
that compose.
- no conflated static bounding box derivation attempts:
pad_tiling_interface composes more naturally with or without tiling.
- properly derives padding size on outputs where multiple dimensions
contribute: this is not supported in structured.transform.pad
- geared towards supporting TilingInterface once the proper control
mechanisms are supported through a PadSizeComputationFunction (supports
LinalgOp by default)
This will gradually replace structured.transform.pad as it is fleshed
out and tested more comprehensively.
In the future this should be moved out of a specific Linalg
implementation file and into a more general "Structured" file.
Commit: 7af545237f8509d40b9ab1dd6526210e09bc76bf
https://github.com/llvm/llvm-project/commit/7af545237f8509d40b9ab1dd6526210e09bc76bf
Author: Nicolas Vasilache <Nico.Vasilache at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface-multiple-of.mlir
Log Message:
-----------
[NFC] Update transform-op-pad-tiling-interface-multiple-of.mlir
Missing NL
Commit: 227cd56e1330e51bc48f4fd71fabfc203b7ca31d
https://github.com/llvm/llvm-project/commit/227cd56e1330e51bc48f4fd71fabfc203b7ca31d
Author: Nicolas Vasilache <Nico.Vasilache at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M mlir/test/Dialect/Linalg/transform-op-pad-tiling-interface.mlir
Log Message:
-----------
[NFC] Update transform-op-pad-tiling-interface.mlir
Missing NL
Commit: 68732ce8e01938227378b4e6f7850ba85c978726
https://github.com/llvm/llvm-project/commit/68732ce8e01938227378b4e6f7850ba85c978726
Author: Paul Walker <paul.walker at arm.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
M llvm/lib/CodeGen/SelectionDAG/TargetLowering.cpp
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
A llvm/test/CodeGen/AArch64/sve-bf16-reductions.ll
Log Message:
-----------
[LLVM][CodeGen][SVE] Add isel for bfloat unordered reductions. (#143540)
The omissions are VECREDUCE_SEQ_* and MUL. The former goes down a
different code path and the latter is unsupported across all element types.
Commit: 4ec6d127c1857e77d70236b15b03d23ba1283a3d
https://github.com/llvm/llvm-project/commit/4ec6d127c1857e77d70236b15b03d23ba1283a3d
Author: Simon Pilgrim <llvm-dev at redking.me.uk>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/test/CodeGen/X86/movmsk-cmp.ll
Log Message:
-----------
[X86] movmsk-cmp.ll - regenerate VPTERNLOG asm comments
Commit: 3e99aa6c0a36ec4d6f126882b1a06436767cbf73
https://github.com/llvm/llvm-project/commit/3e99aa6c0a36ec4d6f126882b1a06436767cbf73
Author: Nikita Popov <npopov at redhat.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Utils/PredicateInfo.cpp
Log Message:
-----------
[PredicateInfo] Clean up DFS sorting (NFC) (#144943)
The comparison function for ValueDFS was confused in a number of ways.
Most significantly, it had a bunch of logic based on Def -- however, Def
is always null during sorting, it only gets set later. At this point
defs only have PInfo set.
Clean up the implementation to remove various dead code.
Commit: cbd496581fb6953a9a8d8387a010cc3a67d4654b
https://github.com/llvm/llvm-project/commit/cbd496581fb6953a9a8d8387a010cc3a67d4654b
Author: Chris Jackson <chris.jackson at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/test/CodeGen/AMDGPU/any_extend_vector_inreg.ll
Log Message:
-----------
[NFC][AMDGPU] Automate any_extend_vector_inreg.ll check line generation (#145013)
Convert the test to use update_llc_test_checks.py.
Commit: e5559ca45f211f2cdd9c81e46935afe1cc2e22ab
https://github.com/llvm/llvm-project/commit/e5559ca45f211f2cdd9c81e46935afe1cc2e22ab
Author: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M flang/lib/Lower/CMakeLists.txt
A flang/lib/Lower/OpenMP/Atomic.cpp
A flang/lib/Lower/OpenMP/Atomic.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
Log Message:
-----------
[flang][OpenMP] Move lowering of ATOMIC to separate file, NFC (#144960)
Commit: 1b83f10072b322a206ffcaf737b42fe5c2d95b89
https://github.com/llvm/llvm-project/commit/1b83f10072b322a206ffcaf737b42fe5c2d95b89
Author: Vigneshwar Jayakumar <vigneshwar.jayakumar at amd.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Target/AMDGPU/VOP1Instructions.td
M llvm/lib/Target/AMDGPU/VOPInstructions.td
M llvm/test/CodeGen/AMDGPU/machine-sink-ignorable-exec-use.mir
Log Message:
-----------
[AMDGPU] Fix to prevent sinking of PERMLANE_SWAP instruction (#144423)
Permlane_swap instruction depends on exec mask, added isConvergent flag
to prevent sinking of instruction.
Fixes: SWDEV-537232
Commit: e8be733a3c3347207c162fc83e8dbe02dad2a952
https://github.com/llvm/llvm-project/commit/e8be733a3c3347207c162fc83e8dbe02dad2a952
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/VPlanPatternMatch.h
M llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp
M llvm/test/Transforms/LoopVectorize/AArch64/vplan-printing.ll
Log Message:
-----------
[VPlan] Remove redundant ExtractLastElement from vector-to-scalar VPI.
Recipes that are vector-to-scalar are guaranteed to generate a scalar
value, so the extract is redundant after VPlan unrolling. Remove it.
This removes unneeded ExtractLastElement VPInstruction of reduction
result computations.
Commit: 8650c801381d5640018a2fab32932ee41ad27797
https://github.com/llvm/llvm-project/commit/8650c801381d5640018a2fab32932ee41ad27797
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
Log Message:
-----------
[flang][OpenMP] Do not skip privatization of linear variable if it is OmpPreDetermined (#144315)
Current implementation of linear clause skips privatisation of all
linear variables during the FIR generation phase, since linear variables
are handled in their entirety by the OpenMP IRBuilder. However,
"implicit" linear variables (like OmpPreDetermined) cannot be skipped,
since FIR generation requires privatized symbols. This patch adds checks
to skip the same.
Fixes https://github.com/llvm/llvm-project/issues/142935
Commit: e970f59e6b20dddc4369735affb79ca9be240c1c
https://github.com/llvm/llvm-project/commit/e970f59e6b20dddc4369735affb79ca9be240c1c
Author: NimishMishra <42909663+NimishMishra at users.noreply.github.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/test/Lower/OpenMP/wsloop-linear.f90
Log Message:
-----------
[flang][OpenMP] Reintroduce TODO for FIR lowering of linear clause (#144883)
Current design of the linear clause lowering and translation shifts all
responsibility for handling the clause (like privatisation, linear
stepping, finalisation, and emission of synchronisation barriers) to the
IRBuilder. However in certain corner cases (like associated loops in or
before OpenMP version 4.5), variables are are implicitly linear. This
currently causes a problem with the existing linear clause
implementation. Hence, re-introduce TODO on the linear clause until the
linear clause lowering/translation are robust enough to handle such
cases as well.
Fixes https://github.com/llvm/llvm-project/issues/142935
Commit: a5b1093f782729014604f3208550de7400c518ac
https://github.com/llvm/llvm-project/commit/a5b1093f782729014604f3208550de7400c518ac
Author: Mehdi Amini <joker.eph at gmail.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/MemRef/IR/MemRefOps.td
M mlir/test/Transforms/remove-dead-values.mlir
Log Message:
-----------
[MLIR] Add ReturnLike trait to memref.atomic_yield (#144932)
Without this, the yield isn't considered as the region terminator and
the dataflow framework does not consider it live.
Commit: 5835f1e0a33afcae46a6ca4854373785eb3e7fd6
https://github.com/llvm/llvm-project/commit/5835f1e0a33afcae46a6ca4854373785eb3e7fd6
Author: Tobias Stadler <mail at stadler-tobias.de>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/CodeGen/AsmPrinter/AsmPrinter.cpp
M llvm/test/CodeGen/X86/remarks-section.ll
Log Message:
-----------
[AsmPrinter] Fix crash when remarks section is unsupported (#144724)
Emit a warning and bail out instead of segfault-ing when the current
object file format does not have support for emitting a remarks section.
Commit: fd97dfbb78e3c9aea16873617b6d61b5b8a64474
https://github.com/llvm/llvm-project/commit/fd97dfbb78e3c9aea16873617b6d61b5b8a64474
Author: Florian Hahn <flo at fhahn.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
M llvm/test/Transforms/LoopVectorize/X86/drop-poison-generating-flags.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-constant-size.ll
M llvm/test/Transforms/LoopVectorize/dereferenceable-info-from-assumption-variable-size.ll
M llvm/test/Transforms/LoopVectorize/load-deref-pred-poison-ub-ops-feeding-pointer.ll
Log Message:
-----------
[LV] Don't mark ptrs as safe to speculate if fed by UB/poison op. (#143204)
Add additional checks before marking pointers safe to load
speculatively. If some computations feeding the pointer may trigger UB,
we cannot load the pointer speculatively, because we cannot compute the
address speculatively. The UB triggering instructions will be
predicated, but if the predicated block does not execute the result is
poison.
Similarly, we also cannot load the pointer speculatively if it may be
poison. The patch also checks if any of the operands defined outside the
loop may be poison when entering the loop. We *don't* need to check if
any operation inside the loop may produce poison due to flags, as those
will be dropped if needed.
There are some types of instructions inside the loop that can produce
poison independent of flags. Currently loads are also checked, not sure
if there's a convenient API to check for all such operands.
Fixes https://github.com/llvm/llvm-project/issues/142957.
PR: https://github.com/llvm/llvm-project/pull/143204
Commit: 6c0ac888c59ca34a7f4e1dc2702b30e0db5cbac3
https://github.com/llvm/llvm-project/commit/6c0ac888c59ca34a7f4e1dc2702b30e0db5cbac3
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M mlir/include/mlir/Dialect/Arith/IR/ArithOps.td
Log Message:
-----------
[mlir][arith][NFC] Remove redundant trait declaration (#145007)
`Arith_Op` already declares the `ElementwiseMappable` traits, so they
don't have to be declared for `arith.select`.
Commit: c6e9e5077d8617b755a14012765da1dac458621d
https://github.com/llvm/llvm-project/commit/c6e9e5077d8617b755a14012765da1dac458621d
Author: Matthias Springer <me at m-sp.org>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .git-blame-ignore-revs
M .github/new-prs-labeler.yml
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Utils/CMakeLists.txt
M bolt/test/AArch64/adr-relaxation.s
M bolt/test/AArch64/r_aarch64_prelxx.s
M bolt/test/X86/callcont-fallthru.s
M bolt/test/X86/entry-point-fallthru.s
M bolt/test/X86/linux-version.S
M bolt/test/X86/pre-aggregated-perf.test
A bolt/test/binary-analysis/AArch64/gs-pauth-authentication-oracles.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/test/link_fdata.py
M bolt/test/lit.local.cfg
A bolt/test/perf2bolt/AArch64/perf2bolt-spe.test
A bolt/test/perf2bolt/X86/perf2bolt-spe.test
M bolt/tools/driver/llvm-bolt.cpp
M bolt/unittests/Profile/CMakeLists.txt
A bolt/unittests/Profile/PerfSpeEvents.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
A clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
M clang-tools-extra/clang-move/Move.h
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.h
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.h
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.h
M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.h
M clang-tools-extra/clang-tidy/altera/AlteraTidyModule.cpp
M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.h
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.cpp
M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.h
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/FuchsiaTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.h
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.h
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.h
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/LLVMLibcTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.h
M clang-tools-extra/clang-tidy/mpi/MPITidyModule.cpp
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.h
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
M clang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.cpp
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/openmp/OpenMPTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.h
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.h
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.h
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp
M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
M clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
M clang-tools-extra/clang-tidy/zircon/ZirconTidyModule.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/IncludeCleaner.cpp
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/refactor/Rename.cpp
A clang-tools-extra/clangd/test/module_dependencies.test
A clang-tools-extra/clangd/test/positionencoding.test
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/namespace-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/enum-size.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-value-param.rst
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/Modularize.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/test/clang-doc/invalid-options.cpp
A clang-tools-extra/test/clang-doc/json/class-template.cpp
A clang-tools-extra/test/clang-doc/json/class.cpp
A clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
A clang-tools-extra/test/clang-doc/json/method-template.cpp
A clang-tools-extra/test/clang-doc/json/namespace.cpp
A clang-tools-extra/test/clang-doc/mustache-index.cpp
A clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-reorder-fields/MacroExpansionField.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.c
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing-nested-namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-wrong-config.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-coroutine.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
A clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
M clang/CMakeLists.txt
M clang/bindings/python/clang/cindex.py
M clang/docs/CommandGuide/clang.rst
M clang/docs/HIPSupport.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibClang.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/UsersManual.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtCXX.h
M clang/include/clang/AST/StmtObjC.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/AArch64ACLETypes.def
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
A clang/include/clang/Basic/AttributeScopeInfo.h
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/ProfileList.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/SemaPseudoObject.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Parser.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
M clang/lib/ASTMatchers/GtestMatchers.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/Formula.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/Xtensa.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
A clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
A clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
A clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/TCE.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/MultilibBuilder.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/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
R clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cygwin.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hurd.cpp
M clang/lib/Driver/ToolChains/InterfaceStubs.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSP430.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
A clang/lib/Driver/ToolChains/Managarm.cpp
A clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NaCl.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/VEToolchain.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/XCore.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/Edit/EditedSource.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/amxmovrstransposeintrin.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_spirv.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/keylockerintrin.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/movrsintrin.h
M clang/lib/Headers/x86gprintrin.h
M clang/lib/Headers/x86intrin.h
M clang/lib/Index/IndexBody.cpp
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/InstallAPI/DirectoryScanner.cpp
M clang/lib/InstallAPI/FileList.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Rewrite/HTMLRewrite.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
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/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/ArgumentsAdjusters.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/HLSL/vk.spec-constant.usage.hlsl
M clang/test/AST/ast-dump-aarch64-neon-types.c
M clang/test/AST/ast-dump-recovery.c
M clang/test/AST/ast-dump-recovery.cpp
R clang/test/AST/ast-dump-recovery.m
A clang/test/AST/ast-dump-type-callingconv.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
A clang/test/Analysis/bitint-z3.c
M clang/test/Analysis/bugfix-124477.m
R clang/test/Analysis/pch_crash.cpp
A clang/test/Analysis/pch_macro.cpp
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/taint-generic.c
A clang/test/C/C23/n3006.c
M clang/test/C/C2y/n3353.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
A clang/test/CIR/CodeGen/builtin_call.cpp
A clang/test/CIR/CodeGen/builtin_printf.cpp
A clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/class.cpp
A clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/CodeGen/ctor.cpp
A clang/test/CIR/CodeGen/deferred-defs.cpp
A clang/test/CIR/CodeGen/deferred-fn-defs.cpp
A clang/test/CIR/CodeGen/dlti.c
A clang/test/CIR/CodeGen/dlti_be.c
A clang/test/CIR/CodeGen/enum.cpp
M clang/test/CIR/CodeGen/forrange.cpp
A clang/test/CIR/CodeGen/forward-decls.cpp
A clang/test/CIR/CodeGen/forward-enum.c
A clang/test/CIR/CodeGen/libc.c
M clang/test/CIR/CodeGen/namespace.cpp
A clang/test/CIR/CodeGen/static-vars.c
A clang/test/CIR/CodeGen/static-vars.cpp
M clang/test/CIR/CodeGen/string-literals.c
A clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
A clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
A clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
A clang/test/CIR/CodeGenOpenACC/host_data.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
M clang/test/CIR/IR/call.cir
A clang/test/CIR/IR/complex.cir
A clang/test/CIR/IR/invalid-complex.cir
A clang/test/CIR/IR/invalid-vector-shuffle-wrong-index.cir
M clang/test/CIR/IR/invalid-vector.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/vector.cir
M clang/test/CIR/Lowering/func-simple.cpp
A clang/test/CIR/Transforms/complex-create-fold.cir
A clang/test/CIR/Transforms/vector-cmp-fold.cir
A clang/test/CIR/Transforms/vector-create-fold.cir
A clang/test/CIR/Transforms/vector-shuffle-dynamic-fold.cir
A clang/test/CIR/Transforms/vector-shuffle-fold.cir
A clang/test/CIR/Transforms/vector-splat.cir
A clang/test/CIR/Transforms/vector-ternary-fold.cir
M clang/test/CXX/class.access/p4.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
M clang/test/CXX/module/basic/basic.link/p2.cppm
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.import/p1.cppm
M clang/test/CodeGen/AArch64/mixed-neon-types.c
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
A clang/test/CodeGen/LoongArch/bfloat-abi.c
A clang/test/CodeGen/LoongArch/bfloat-mangle.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/zvfhmin-error.c
M clang/test/CodeGen/X86/avx-cxx-record.cpp
A clang/test/CodeGen/X86/cygwin-varargs.c
A clang/test/CodeGen/aarch64-always-inline-feature-bug.c
M clang/test/CodeGen/alias.c
A clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
A clang/test/CodeGen/arm-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm-microsoft-intrinsics.c
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
A clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
A clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
A clang/test/CodeGen/attr-availability-aligned-versions.c
M clang/test/CodeGen/builtin_vectorelements.c
M clang/test/CodeGen/builtins-arm-microsoft.c
M clang/test/CodeGen/builtins-nvptx.c
A clang/test/CodeGen/cfi-unchecked-callee-attribute-member-function.cpp
A clang/test/CodeGen/cfi-unchecked-callee-attribute.cpp
A clang/test/CodeGen/debug-info-version-coff.c
M clang/test/CodeGen/debug-info-version.c
A clang/test/CodeGen/distributed-thin-lto/backend-skip.ll
A clang/test/CodeGen/distributed-thin-lto/basic.ll
A clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
A clang/test/CodeGen/distributed-thin-lto/cfi.ll
A clang/test/CodeGen/distributed-thin-lto/cs-irpgo.c
A clang/test/CodeGen/distributed-thin-lto/newpm.ll
A clang/test/CodeGen/distributed-thin-lto/objc-contract-pass.ll
A clang/test/CodeGen/distributed-thin-lto/supports-hot-cold-new.ll
M clang/test/CodeGen/epilog-unwind.c
A clang/test/CodeGen/openmp-prefix-map.c
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGen/tbaa-array.cpp
R clang/test/CodeGen/thinlto-distributed-backend-skip.ll
R clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
R clang/test/CodeGen/thinlto-distributed-cfi.ll
R clang/test/CodeGen/thinlto-distributed-newpm.ll
R clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
R clang/test/CodeGen/thinlto-distributed-supports-hot-cold-new.ll
R clang/test/CodeGen/thinlto-distributed.ll
M clang/test/CodeGen/ubsan-function-debuginfo.c
M clang/test/CodeGen/unique-source-file-names.c
M clang/test/CodeGen/unsigned-promotion-debuginfo.c
A clang/test/CodeGenCXX/builtin-get-vtable-pointer.cpp
M clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
A clang/test/CodeGenCXX/debug-info-coff.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-arm.cpp
M clang/test/CodeGenCXX/dependent-template-alias.cpp
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/Bool.hlsl
M clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/RootSignature.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/CodeGenHLSL/builtins/and.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/clip.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/cross.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
M clang/test/CodeGenHLSL/builtins/firstbithigh.hlsl
M clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
M clang/test/CodeGenHLSL/builtins/or.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
M clang/test/CodeGenHLSL/builtins/sign.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
A clang/test/CodeGenHLSL/builtins/wave_get_lane_count.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/convergence/do.while.hlsl
M clang/test/CodeGenHLSL/convergence/for.hlsl
M clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/export.hlsl
M clang/test/CodeGenHLSL/group_shared.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.alignment.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.hlsl
M clang/test/CodeGenHLSL/no_int_promotion.hlsl
M clang/test/CodeGenHLSL/out-of-line-static.hlsl
A clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
M clang/test/CodeGenHLSL/shift-mask.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.alignment.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.hlsl
A clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
A clang/test/CodeGenHLSL/vk-input-builtin.hlsl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/DebugInfo/KeyInstructions/agg.c
M clang/test/DebugInfo/KeyInstructions/assign-scalar.c
M clang/test/DebugInfo/KeyInstructions/bitfield.cpp
M clang/test/DebugInfo/KeyInstructions/builtin.c
M clang/test/DebugInfo/KeyInstructions/cast.c
M clang/test/DebugInfo/KeyInstructions/coerced-packed.c
M clang/test/DebugInfo/KeyInstructions/coerced-ptr.c
M clang/test/DebugInfo/KeyInstructions/coerced-through-memory.c
M clang/test/DebugInfo/KeyInstructions/coerced.c
M clang/test/DebugInfo/KeyInstructions/complex.c
M clang/test/DebugInfo/KeyInstructions/do.c
A clang/test/DebugInfo/KeyInstructions/for-range.cpp
M clang/test/DebugInfo/KeyInstructions/for.c
M clang/test/DebugInfo/KeyInstructions/if.c
M clang/test/DebugInfo/KeyInstructions/init-agg.c
M clang/test/DebugInfo/KeyInstructions/init-member.cpp
M clang/test/DebugInfo/KeyInstructions/init-scalar.c
M clang/test/DebugInfo/KeyInstructions/init-static.cpp
M clang/test/DebugInfo/KeyInstructions/multi-func.c
M clang/test/DebugInfo/KeyInstructions/new.cpp
A clang/test/DebugInfo/KeyInstructions/return-va-arg.c
A clang/test/DebugInfo/KeyInstructions/return.c
M clang/test/DebugInfo/KeyInstructions/switch.c
M clang/test/DebugInfo/KeyInstructions/try-catch.cpp
M clang/test/DebugInfo/KeyInstructions/while.c
A clang/test/Driver/Inputs/basic_managarm_tree/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/aarch64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/v1/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/riscv64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/x86_64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib64/.keep
M clang/test/Driver/aix-shared-lib-tls-model-opt.c
M clang/test/Driver/aix-small-local-exec-dynamic-tls.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/android-link.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/darwin-debug-flags.c
M clang/test/Driver/darwin-infer-simulator-sdkroot.c
A clang/test/Driver/darwin-invalid-os-versions.c
A clang/test/Driver/darwin-invalid-version-range.c
M clang/test/Driver/darwin-ld-platform-version-macos.c
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/Driver/darwin-ld.c
M clang/test/Driver/darwin-version.c
M clang/test/Driver/dxc_spirv.hlsl
M clang/test/Driver/extend-variable-liveness.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
M clang/test/Driver/hip-thinlto.hip
A clang/test/Driver/ignored-pch.cpp
M clang/test/Driver/linker-wrapper.c
A clang/test/Driver/managarm.cpp
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/ppc-crbits.cpp
M clang/test/Driver/ppc-isa-features.cpp
A clang/test/Driver/print-enabled-extensions/riscv-sifive-x390.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/range.c
M clang/test/Driver/riscv-cpus.c
A clang/test/Driver/spirv-amd-toolchain.c
A clang/test/Driver/stack-alignment.c
M clang/test/Driver/unique-source-file-names.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/inherited_availability.m
A clang/test/FixIt/fixit-punctuator-spelling.cpp
A clang/test/FixIt/fixit-unknown-attributes.cpp
R clang/test/FixIt/typo.cpp
M clang/test/Format/multiple-inputs-error.cpp
M clang/test/Format/ranges.cpp
A clang/test/Frontend/aarch64-print-enabled-extensions-cc1.c
M clang/test/Frontend/ast-main.c
M clang/test/Frontend/ast-main.cpp
A clang/test/Frontend/cfi-unchecked-callee-attribute-n3037.c
A clang/test/Frontend/cfi-unchecked-callee-attribute.c
A clang/test/Frontend/cfi-unchecked-callee-attribute.cpp
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/ms-intrin.cpp
R clang/test/Index/complete-switch.c
M clang/test/Index/fix-its.c
M clang/test/Interpreter/lambda.cpp
M clang/test/Lexer/raw-string-ext.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/avr.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Modules/constexpr-initialization-failure.cpp
M clang/test/Modules/diagnose-missing-import.m
A clang/test/Modules/module-local-declarations-02.cppm
A clang/test/Modules/module-local-declarations.cppm
A clang/test/Modules/pr119947.cppm
A clang/test/Modules/pr143788.cppm
A clang/test/Modules/pr144230.cppm
A clang/test/Modules/pr61360.cppm
A clang/test/Modules/preferred_name_header_unit.cpp
M clang/test/OpenMP/begin_declare_variant_messages.c
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
M clang/test/OpenMP/declare_reduction_messages.cpp
M clang/test/OpenMP/declare_variant_clauses_ast_print.cpp
M clang/test/OpenMP/declare_variant_clauses_messages.cpp
M clang/test/OpenMP/declare_variant_messages.c
M clang/test/OpenMP/declare_variant_messages.cpp
M clang/test/OpenMP/distribute_simd_misc_messages.c
A clang/test/OpenMP/for_private_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_messages.cpp
M clang/test/OpenMP/for_simd_reduction_messages.cpp
M clang/test/OpenMP/sections_reduction_messages.cpp
A clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_ast_dump.cpp
A clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
A clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_ast_dump.cpp
A clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
R clang/test/OpenMP/target_map_nest_defalut_mapper_ast_dump.cpp
R clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
M clang/test/OpenMP/target_update_messages.cpp
M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
A clang/test/PCH/Inputs/ignored-pch.h
A clang/test/PCH/ignored-pch.c
A clang/test/Parser/cxx-invalid-using-decl-in-constexpr-crash.cpp
M clang/test/Parser/cxx11-base-spec-attributes.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/cxx1z-fold-expressions.cpp
M clang/test/Parser/cxx2c-pack-indexing.cpp
A clang/test/Parser/macro-expansion-recovery.cpp
M clang/test/Parser/objc-foreach-syntax.m
M clang/test/Parser/objcxx11-attributes.mm
M clang/test/Parser/opencl-atomics-cl20.cl
M clang/test/Parser/recovery.c
M clang/test/Parser/switch-recovery.cpp
M clang/test/Parser/switch-typo-correction.cpp
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init-x86.c
M clang/test/Preprocessor/init.c
A clang/test/Preprocessor/line-directive-suppressed.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/riscv-target-features-andes.c
A clang/test/Sema/Inputs/XROS.sdk/SDKSettings.json
M clang/test/Sema/PR28181.c
A clang/test/Sema/attr-availability-invalid-os-versions.c
A clang/test/Sema/attr-availability-ios-aligned-versions.c
A clang/test/Sema/attr-availability-ios-fallback-aligned-versions.c
M clang/test/Sema/attr-availability-iosmac-infer-from-macos.c
M clang/test/Sema/builtin-unary-fp.c
A clang/test/Sema/c23-delayed-typo-correction-crashes.c
A clang/test/Sema/delayed-typo-correction-crashes.c
A clang/test/Sema/gh87867.c
M clang/test/Sema/invalid-member.cpp
M clang/test/Sema/rvv-required-features-invalid.c
M clang/test/Sema/typo-correction-ambiguity.cpp
M clang/test/Sema/typo-correction-no-hang.c
M clang/test/Sema/typo-correction-no-hang.cpp
M clang/test/Sema/typo-correction-recursive.cpp
M clang/test/Sema/typo-correction.c
M clang/test/Sema/unknown-attributes.c
A clang/test/Sema/warn-unreachable_crash.cpp
M clang/test/Sema/zvk-invalid-features.c
M clang/test/Sema/zvk-invalid-zvknha.c
M clang/test/Sema/zvk-target-attributes.c
M clang/test/SemaCUDA/bad-attributes.cu
M clang/test/SemaCXX/arrow-operator.cpp
M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
M clang/test/SemaCXX/attr-trivial-abi.cpp
A clang/test/SemaCXX/builtin-get-vtable-pointer.cpp
M clang/test/SemaCXX/builtin-is-constant-evaluated.cpp
M clang/test/SemaCXX/class.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/conversion-function.cpp
M clang/test/SemaCXX/coroutines.cpp
A clang/test/SemaCXX/cxx-delayed-typo-correction-crashes.cpp
M clang/test/SemaCXX/cxx0x-class.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
A clang/test/SemaCXX/cxx20-delayed-typo-correction-crashes.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-deducing-this-constexpr.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/destructor.cpp
M clang/test/SemaCXX/exception-spec.cpp
M clang/test/SemaCXX/gh102293.cpp
A clang/test/SemaCXX/gh139818.cpp
M clang/test/SemaCXX/invalid-if-constexpr.cpp
M clang/test/SemaCXX/member-expr.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
A clang/test/SemaCXX/paren-list-init-expr.cpp
R clang/test/SemaCXX/pr13394-crash-on-invalid.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/test/SemaCXX/return.cpp
A clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M clang/test/SemaCXX/typo-correction-crash.cpp
M clang/test/SemaCXX/typo-correction-cxx11.cpp
R clang/test/SemaCXX/typo-correction-delayed.cpp
M clang/test/SemaCXX/typo-correction.cpp
M clang/test/SemaCXX/unique_object_duplication.cpp
M clang/test/SemaCXX/unique_object_duplication.h
M clang/test/SemaCXX/virtuals.cpp
A clang/test/SemaHLSL/Semantics/position.ps.hlsl
A clang/test/SemaHLSL/Semantics/position.ps.size.hlsl
A clang/test/SemaHLSL/Semantics/position.vs.hlsl
A clang/test/SemaHLSL/vk-ext-input-builtin.hlsl
A clang/test/SemaHLSL/vk.spec-constant.error.hlsl
M clang/test/SemaObjC/call-super-2.m
M clang/test/SemaObjC/typo-correction-subscript.m
M clang/test/SemaObjC/undef-arg-super-method-call.m
M clang/test/SemaObjCXX/arc-type-conversion.mm
M clang/test/SemaObjCXX/attr-trivial-abi.mm
M clang/test/SemaObjCXX/block-for-lambda-conversion.mm
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
M clang/test/SemaOpenCL/clang-builtin-version.cl
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/concepts-recovery-expr.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/instantiate-static-var.cpp
M clang/test/SemaTemplate/typo-variadic.cpp
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/scan-build/bin/scan-build
M clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M clang/unittests/Format/FormatTestRawStrings.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/Parse/CMakeLists.txt
M clang/unittests/Sema/ExternalSemaSourceTest.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/analyzer/requirements.txt
M clang/utils/perf-training/perf-helper.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/README.txt
M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
M compiler-rt/lib/builtins/arm/aeabi_fcmp.S
M compiler-rt/lib/builtins/arm/aeabi_idivmod.S
M compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
M compiler-rt/lib/builtins/arm/aeabi_memcpy.S
M compiler-rt/lib/builtins/arm/aeabi_memmove.S
M compiler-rt/lib/builtins/arm/aeabi_memset.S
M compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
M compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/builtins/trampoline_setup.c
M compiler-rt/lib/fuzzer/FuzzerDataFlowTrace.cpp
M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/lsan/lsan_allocator.h
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/lsan/lsan_malloc_mac.cpp
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
M compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
M compiler-rt/lib/scudo/standalone/chunk.h
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform.h
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/fuzzer/uncaught-exception.test
A compiler-rt/test/hwasan/TestCases/Posix/dlerror.cpp
M compiler-rt/test/msan/ifaddrs.cpp
M compiler-rt/test/msan/qsort.cpp
A compiler-rt/test/profile/Posix/gcov-file-change-line.cpp
M compiler-rt/test/profile/Posix/gcov-file-change.cpp
M compiler-rt/test/rtsan/fork_exec.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
M compiler-rt/test/tysan/CMakeLists.txt
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/stat.h
M flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/Maintainers.md
M flang/docs/CMakeLists.txt
A flang/docs/CommandGuide/index.rst
M flang/docs/Extensions.md
M flang/docs/FIR/CreateFIRLangRef.py
M flang/docs/OpenMPSupport.md
M flang/docs/conf.py
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/LoweringOptions.def
A flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Semantics/dump-expr.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/OpenMP-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenACC.cpp
A flang/lib/Lower/OpenMP/Atomic.cpp
A flang/lib/Lower/OpenMP/Atomic.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
R flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/assignment.h
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.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/dump-expr.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names-utils.h
M flang/lib/Semantics/resolve-names.cpp
R flang/lib/Semantics/rewrite-directives.cpp
R flang/lib/Semantics/rewrite-directives.h
M flang/lib/Semantics/rewrite-parse-tree.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/__fortran_type_info.f90
M flang/test/CMakeLists.txt
A flang/test/Driver/darwin-version.f90
A flang/test/Driver/disable-diagnostic.f90
M flang/test/Driver/flang-f-opts.f90
M flang/test/Driver/flang-openmp-version-macro.f90
A flang/test/Driver/mrecip.f90
M flang/test/Driver/pic-flags.f90
A flang/test/Driver/predefined-macros-aarch64.f90
M flang/test/Driver/prefer-vector-width.f90
M flang/test/Driver/werror-wrong.f90
M flang/test/Driver/wextra-ok.f90
M flang/test/Examples/omp-atomic.f90
A flang/test/Fir/FirToSCF/if.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-offset.fir
M flang/test/Fir/boxproc.fir
A flang/test/Fir/cfg-conversion-if.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/local.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/HLFIR/as_expr-codegen-polymorphic.fir
M flang/test/HLFIR/as_expr-codegen.fir
M flang/test/HLFIR/assign-side-effects.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
A flang/test/HLFIR/declare-alloc-target.fir
M flang/test/HLFIR/element-codegen-issue-118922.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/HLFIR/fir-local-alloca-block.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
A flang/test/HLFIR/inline-hlfir-copy-in.fir
M flang/test/HLFIR/memory-effects.fir
A flang/test/HLFIR/opt-bufferization-elemental-assign-shape.fir
A flang/test/HLFIR/opt-bufferization-tonto.fir
M flang/test/HLFIR/reshape-lowering.fir
A flang/test/Integration/cold_array_repacking.f90
M flang/test/Integration/debug-local-var-2.f90
A flang/test/Lower/CUDA/cuda-runtime-check.cuf
M flang/test/Lower/HLFIR/assumed-rank-entry.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/Todo/declare-mapper-iterator.f90
A flang/test/Lower/OpenMP/Todo/omp-clause-indirect.f90
M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
R flang/test/Lower/OpenMP/Todo/omp-doconcurrent.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-implicit-cast.f90
A flang/test/Lower/OpenMP/atomic-privatize.f90
M flang/test/Lower/OpenMP/atomic-write.f90
A flang/test/Lower/OpenMP/copyprivate5.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
A flang/test/Lower/OpenMP/depend-complex.f90
A flang/test/Lower/OpenMP/depend-substring.f90
A flang/test/Lower/OpenMP/dump-atomic-analysis.f90
A flang/test/Lower/OpenMP/flush02.f90
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/map-character.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M 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-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
A flang/test/Lower/OpenMP/requires-admo-acqrel.f90
A flang/test/Lower/OpenMP/requires-admo-invalid1.f90
A flang/test/Lower/OpenMP/requires-admo-invalid2.f90
A flang/test/Lower/OpenMP/requires-atomic-default-mem-order.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
A flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
A flang/test/Lower/OpenMP/target-parallel-private.f90
A flang/test/Lower/OpenMP/target-teams-private.f90
A flang/test/Lower/OpenMP/taskgroup02.f90
R flang/test/Lower/OpenMP/wsloop-linear.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.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-multiple-clauses.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Lower/volatile-openmp.f90
A flang/test/Lower/volatile-openmp2.f03
M flang/test/Parser/OpenMP/atomic-compare.f90
A flang/test/Parser/OpenMP/atomic-end.f90
A flang/test/Parser/OpenMP/declare-reduction-multi.f90
A flang/test/Parser/OpenMP/declare-reduction-operator.f90
A flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
M flang/test/Preprocessing/bug518.F
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
A flang/test/Profile/gcc-flag-compatibility.f90
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
A flang/test/Semantics/OpenMP/atomic-read.f90
A flang/test/Semantics/OpenMP/atomic-update-capture.f90
A flang/test/Semantics/OpenMP/atomic-update-only.f90
M flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
A flang/test/Semantics/OpenMP/atomic-write.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator2.f90
A flang/test/Semantics/OpenMP/declare-reduction-dupsym.f90
M flang/test/Semantics/OpenMP/declare-reduction-error.f90
A flang/test/Semantics/OpenMP/declare-reduction-functions.f90
A flang/test/Semantics/OpenMP/declare-reduction-logical.f90
A flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
A flang/test/Semantics/OpenMP/declare-reduction-modfile.f90
A flang/test/Semantics/OpenMP/declare-reduction-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-operators.f90
A flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
A flang/test/Semantics/OpenMP/declare-reduction-typeerror.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
A flang/test/Semantics/OpenMP/declare-simd-linear.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
A flang/test/Semantics/OpenMP/depend-substring.f90
M flang/test/Semantics/OpenMP/deprecation.f90
A flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
A flang/test/Semantics/OpenMP/parallel-master-goto.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
R flang/test/Semantics/OpenMP/requires-atomic01.f90
R flang/test/Semantics/OpenMP/requires-atomic02.f90
A flang/test/Semantics/OpenMP/sections-goto.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/symbol01.f90
A flang/test/Semantics/OpenMP/task-depend.f90
M flang/test/Semantics/allocate11.f90
A flang/test/Semantics/bug141807.f90
M flang/test/Semantics/cuf21.cuf
A flang/test/Semantics/cuf22.cuf
M flang/test/Semantics/deferred01.f90
A flang/test/Semantics/indirect01.f90
A flang/test/Semantics/indirect02.f90
M flang/test/Semantics/modfile71.F90
M flang/test/Semantics/modfile75.F90
A flang/test/Semantics/modfile76.F90
A flang/test/Semantics/modfile77.F90
A flang/test/Semantics/modfile78.F90
A flang/test/Semantics/modfile79.F90
M flang/test/Semantics/offsets03.f90
M flang/test/Semantics/resolve121.f90
M flang/test/Semantics/symbol33.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo03.f90
M flang/test/Semantics/typeinfo04.f90
M flang/test/Semantics/typeinfo05.f90
M flang/test/Semantics/typeinfo06.f90
M flang/test/Semantics/typeinfo07.f90
M flang/test/Semantics/typeinfo08.f90
M flang/test/Semantics/typeinfo11.f90
A flang/test/Semantics/typeinfo12.f90
A flang/test/Semantics/typeinfo13.f90
A flang/test/Transforms/DoConcurrent/locality_specifiers_init_dealloc.mlir
A flang/test/Transforms/DoConcurrent/locality_specifiers_simple.mlir
A flang/test/Transforms/do-concurrent-localizer-dealloc-region.fir
A flang/test/Transforms/do-concurrent-localizer-init-region.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/omp-map-info-finalization.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
M flang/tools/bbc/bbc.cpp
M flang/unittests/Common/CMakeLists.txt
A flang/unittests/Common/EnumClassTests.cpp
A flang/unittests/Common/FortranFeaturesTest.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/config.json
A libc/config/darwin/aarch64/config.json
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/aarch64/headers.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/code_style.rst
M libc/docs/headers/time.rst
M libc/fuzzing/stdio/CMakeLists.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ioctl_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/char32_t.h
A libc/hdr/types/char8_t.h
A libc/hdr/uchar_overlay.h
M libc/include/CMakeLists.txt
A libc/include/llvm-libc-macros/baremetal/CMakeLists.txt
A libc/include/llvm-libc-macros/baremetal/time-macros.h
M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/include/llvm-libc-types/char8_t.h
M libc/include/llvm-libc-types/size_t.h
M libc/include/llvm-libc-types/ssize_t.h
M libc/include/locale.yaml
M libc/include/math.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.h.def
M libc/include/string.yaml
M libc/include/time.yaml
M libc/include/wchar.yaml
M libc/shared/fp_bits.h
A libc/shared/libc_common.h
A libc/shared/math.h
A libc/shared/math/expf.h
M libc/shared/rpc_server.h
M libc/shared/str_to_float.h
M libc/shared/str_to_integer.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/file.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/OSUtil/fcntl.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/fcntl.cpp
A libc/src/__support/OSUtil/linux/getrandom.h
M libc/src/__support/OSUtil/linux/vdso.cpp
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
A libc/src/__support/libc_errno.h
M libc/src/__support/macros/optimization.h
A libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp_float_constants.h
A libc/src/__support/math/expf.h
M libc/src/__support/threads/linux/thread.cpp
A libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/character_converter.cpp
A libc/src/__support/wchar/character_converter.h
A libc/src/__support/wchar/mbstate.h
M libc/src/dirent/closedir.cpp
M libc/src/dirent/opendir.cpp
M libc/src/dirent/readdir.cpp
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
R libc/src/errno/libc_errno.h
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/fcntl.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoumax.cpp
M libc/src/math/amdgpu/CMakeLists.txt
R libc/src/math/amdgpu/acos.cpp
R libc/src/math/amdgpu/acosf.cpp
R libc/src/math/amdgpu/acosh.cpp
R libc/src/math/amdgpu/acoshf.cpp
R libc/src/math/amdgpu/asin.cpp
R libc/src/math/amdgpu/asinf.cpp
R libc/src/math/amdgpu/asinh.cpp
R libc/src/math/amdgpu/asinhf.cpp
R libc/src/math/amdgpu/atan.cpp
R libc/src/math/amdgpu/atan2.cpp
R libc/src/math/amdgpu/atan2f.cpp
R libc/src/math/amdgpu/atanf.cpp
R libc/src/math/amdgpu/atanh.cpp
R libc/src/math/amdgpu/atanhf.cpp
R libc/src/math/amdgpu/cos.cpp
R libc/src/math/amdgpu/cosf.cpp
R libc/src/math/amdgpu/cosh.cpp
R libc/src/math/amdgpu/coshf.cpp
R libc/src/math/amdgpu/declarations.h
R libc/src/math/amdgpu/erf.cpp
R libc/src/math/amdgpu/erff.cpp
R libc/src/math/amdgpu/exp.cpp
R libc/src/math/amdgpu/exp10.cpp
R libc/src/math/amdgpu/exp10f.cpp
R libc/src/math/amdgpu/exp2.cpp
R libc/src/math/amdgpu/exp2f.cpp
R libc/src/math/amdgpu/expf.cpp
R libc/src/math/amdgpu/expm1.cpp
R libc/src/math/amdgpu/expm1f.cpp
R libc/src/math/amdgpu/fdim.cpp
R libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
R libc/src/math/amdgpu/hypot.cpp
R libc/src/math/amdgpu/hypotf.cpp
R libc/src/math/amdgpu/ilogb.cpp
R libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/lgamma.cpp
M libc/src/math/amdgpu/lgamma_r.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
R libc/src/math/amdgpu/log.cpp
R libc/src/math/amdgpu/log10.cpp
R libc/src/math/amdgpu/log10f.cpp
R libc/src/math/amdgpu/log1p.cpp
R libc/src/math/amdgpu/log1pf.cpp
R libc/src/math/amdgpu/log2.cpp
R libc/src/math/amdgpu/log2f.cpp
R libc/src/math/amdgpu/logb.cpp
R libc/src/math/amdgpu/logbf.cpp
R libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
R libc/src/math/amdgpu/nextafter.cpp
R libc/src/math/amdgpu/nextafterf.cpp
R libc/src/math/amdgpu/platform.h
R libc/src/math/amdgpu/powf.cpp
R libc/src/math/amdgpu/powi.cpp
R libc/src/math/amdgpu/powif.cpp
R libc/src/math/amdgpu/remquo.cpp
R libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
R libc/src/math/amdgpu/sin.cpp
R libc/src/math/amdgpu/sincos.cpp
R libc/src/math/amdgpu/sincosf.cpp
R libc/src/math/amdgpu/sinf.cpp
R libc/src/math/amdgpu/sinh.cpp
R libc/src/math/amdgpu/sinhf.cpp
R libc/src/math/amdgpu/tan.cpp
R libc/src/math/amdgpu/tanf.cpp
R libc/src/math/amdgpu/tanh.cpp
R libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10m1f.cpp
M libc/src/math/generic/exp2m1f.cpp
R libc/src/math/generic/exp_utils.cpp
R libc/src/math/generic/exp_utils.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/nan.cpp
M libc/src/math/generic/nanf.cpp
M libc/src/math/generic/nanf128.cpp
M libc/src/math/generic/nanf16.cpp
M libc/src/math/generic/nanl.cpp
M libc/src/math/nvptx/CMakeLists.txt
R libc/src/math/nvptx/acos.cpp
R libc/src/math/nvptx/acosf.cpp
R libc/src/math/nvptx/acosh.cpp
R libc/src/math/nvptx/acoshf.cpp
R libc/src/math/nvptx/asin.cpp
R libc/src/math/nvptx/asinf.cpp
R libc/src/math/nvptx/asinh.cpp
R libc/src/math/nvptx/asinhf.cpp
R libc/src/math/nvptx/atan.cpp
R libc/src/math/nvptx/atan2.cpp
R libc/src/math/nvptx/atan2f.cpp
R libc/src/math/nvptx/atanf.cpp
R libc/src/math/nvptx/atanh.cpp
R libc/src/math/nvptx/atanhf.cpp
R libc/src/math/nvptx/cos.cpp
R libc/src/math/nvptx/cosf.cpp
R libc/src/math/nvptx/cosh.cpp
R libc/src/math/nvptx/coshf.cpp
R libc/src/math/nvptx/declarations.h
R libc/src/math/nvptx/erf.cpp
R libc/src/math/nvptx/erff.cpp
R libc/src/math/nvptx/exp.cpp
R libc/src/math/nvptx/exp10.cpp
R libc/src/math/nvptx/exp10f.cpp
R libc/src/math/nvptx/exp2.cpp
R libc/src/math/nvptx/exp2f.cpp
R libc/src/math/nvptx/expf.cpp
R libc/src/math/nvptx/expm1.cpp
R libc/src/math/nvptx/expm1f.cpp
R libc/src/math/nvptx/fdim.cpp
R libc/src/math/nvptx/fdimf.cpp
R libc/src/math/nvptx/frexp.cpp
R libc/src/math/nvptx/frexpf.cpp
R libc/src/math/nvptx/hypot.cpp
R libc/src/math/nvptx/hypotf.cpp
R libc/src/math/nvptx/ilogb.cpp
R libc/src/math/nvptx/ilogbf.cpp
R libc/src/math/nvptx/ldexp.cpp
R libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/lgamma.cpp
M libc/src/math/nvptx/lgamma_r.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
R libc/src/math/nvptx/log.cpp
R libc/src/math/nvptx/log10.cpp
R libc/src/math/nvptx/log10f.cpp
R libc/src/math/nvptx/log1p.cpp
R libc/src/math/nvptx/log1pf.cpp
R libc/src/math/nvptx/log2.cpp
R libc/src/math/nvptx/log2f.cpp
R libc/src/math/nvptx/logb.cpp
R libc/src/math/nvptx/logbf.cpp
R libc/src/math/nvptx/logf.cpp
M libc/src/math/nvptx/lrint.cpp
R libc/src/math/nvptx/lrintf.cpp
R libc/src/math/nvptx/nextafter.cpp
R libc/src/math/nvptx/nextafterf.cpp
R libc/src/math/nvptx/nvptx.h
R libc/src/math/nvptx/powf.cpp
R libc/src/math/nvptx/powi.cpp
R libc/src/math/nvptx/powif.cpp
R libc/src/math/nvptx/remquo.cpp
R libc/src/math/nvptx/remquof.cpp
R libc/src/math/nvptx/scalbn.cpp
R libc/src/math/nvptx/scalbnf.cpp
R libc/src/math/nvptx/sin.cpp
R libc/src/math/nvptx/sincos.cpp
R libc/src/math/nvptx/sincosf.cpp
R libc/src/math/nvptx/sinf.cpp
R libc/src/math/nvptx/sinh.cpp
R libc/src/math/nvptx/sinhf.cpp
R libc/src/math/nvptx/tan.cpp
R libc/src/math/nvptx/tanf.cpp
R libc/src/math/nvptx/tanh.cpp
R libc/src/math/nvptx/tanhf.cpp
M libc/src/math/nvptx/tgamma.cpp
M libc/src/math/nvptx/tgammaf.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/pthread/pthread_atfork.cpp
M libc/src/pthread/pthread_attr_setdetachstate.cpp
M libc/src/pthread/pthread_attr_setguardsize.cpp
M libc/src/pthread/pthread_attr_setstack.cpp
M libc/src/pthread/pthread_attr_setstacksize.cpp
M libc/src/pthread/pthread_condattr_setclock.cpp
M libc/src/pthread/pthread_condattr_setpshared.cpp
M libc/src/pthread/pthread_create.cpp
M libc/src/pthread/pthread_key_create.cpp
M libc/src/pthread/pthread_key_delete.cpp
M libc/src/pthread/pthread_mutexattr_setpshared.cpp
M libc/src/pthread/pthread_mutexattr_setrobust.cpp
M libc/src/pthread/pthread_mutexattr_settype.cpp
M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
M libc/src/pthread/pthread_rwlock_trywrlock.cpp
M libc/src/pthread/pthread_rwlock_unlock.cpp
M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
M libc/src/pthread/pthread_setspecific.cpp
M libc/src/sched/linux/sched_get_priority_max.cpp
M libc/src/sched/linux/sched_get_priority_min.cpp
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getparam.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/linux/sched_setparam.cpp
M libc/src/sched/linux/sched_setscheduler.cpp
M libc/src/sched/linux/sched_yield.cpp
M libc/src/search/hcreate.cpp
M libc/src/search/hcreate_r.cpp
M libc/src/search/hdestroy_r.cpp
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch_r.cpp
M libc/src/setjmp/CMakeLists.txt
A libc/src/setjmp/darwin/CMakeLists.txt
A libc/src/setjmp/darwin/sigsetjmp_epilogue.cpp
M libc/src/signal/linux/kill.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigemptyset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/putchar.cpp
M libc/src/stdio/baremetal/puts.cpp
M libc/src/stdio/baremetal/vprintf.cpp
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/generic/CMakeLists.txt
M libc/src/stdio/generic/fclose.cpp
M libc/src/stdio/generic/fflush.cpp
M libc/src/stdio/generic/fgetc.cpp
M libc/src/stdio/generic/fgetc_unlocked.cpp
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdio/generic/fopen.cpp
M libc/src/stdio/generic/fputc.cpp
M libc/src/stdio/generic/fputs.cpp
M libc/src/stdio/generic/fread.cpp
M libc/src/stdio/generic/fread_unlocked.cpp
M libc/src/stdio/generic/fseek.cpp
M libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/generic/fwrite.cpp
M libc/src/stdio/generic/fwrite_unlocked.cpp
M libc/src/stdio/generic/getc.cpp
M libc/src/stdio/generic/getc_unlocked.cpp
M libc/src/stdio/generic/getchar.cpp
M libc/src/stdio/generic/getchar_unlocked.cpp
A libc/src/stdio/generic/perror.cpp
M libc/src/stdio/generic/putc.cpp
M libc/src/stdio/generic/putchar.cpp
M libc/src/stdio/generic/puts.cpp
M libc/src/stdio/gpu/CMakeLists.txt
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
M libc/src/stdio/linux/fdopen.cpp
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
A libc/src/stdio/perror.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/setbuf.cpp
M libc/src/stdio/setvbuf.cpp
M libc/src/stdlib/atof.cpp
M libc/src/stdlib/atoi.cpp
M libc/src/stdlib/atol.cpp
M libc/src/stdlib/atoll.cpp
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtod_l.cpp
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtof_l.cpp
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol_l.cpp
M libc/src/stdlib/strtold.cpp
M libc/src/stdlib/strtold_l.cpp
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll_l.cpp
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul_l.cpp
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull_l.cpp
M libc/src/string/CMakeLists.txt
M libc/src/string/memccpy.cpp
M libc/src/string/memchr.cpp
M libc/src/string/memcmp.cpp
M libc/src/string/memcpy.cpp
M libc/src/string/memmove.cpp
M libc/src/string/mempcpy.cpp
M libc/src/string/memrchr.cpp
M libc/src/string/memset.cpp
M libc/src/string/stpcpy.cpp
M libc/src/string/stpncpy.cpp
M libc/src/string/strcasestr.cpp
M libc/src/string/strcat.cpp
M libc/src/string/strcoll.cpp
M libc/src/string/strcoll_l.cpp
M libc/src/string/strcpy.cpp
M libc/src/string/strdup.cpp
M libc/src/string/string_utils.h
M libc/src/string/strlen.cpp
M libc/src/string/strncat.cpp
M libc/src/string/strncmp.cpp
M libc/src/string/strncpy.cpp
M libc/src/string/strsep.cpp
M libc/src/string/strspn.cpp
M libc/src/string/strstr.cpp
M libc/src/strings/CMakeLists.txt
M libc/src/strings/rindex.cpp
M libc/src/sys/CMakeLists.txt
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/epoll/linux/epoll_create.cpp
M libc/src/sys/epoll/linux/epoll_create1.cpp
M libc/src/sys/epoll/linux/epoll_ctl.cpp
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
A libc/src/sys/ioctl/CMakeLists.txt
A libc/src/sys/ioctl/ioctl.h
A libc/src/sys/ioctl/linux/CMakeLists.txt
A libc/src/sys/ioctl/linux/ioctl.cpp
M libc/src/sys/mman/linux/madvise.cpp
M libc/src/sys/mman/linux/mincore.cpp
M libc/src/sys/mman/linux/mlock.cpp
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/linux/mlockall.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/sys/mman/linux/mprotect.cpp
M libc/src/sys/mman/linux/mremap.cpp
M libc/src/sys/mman/linux/msync.cpp
M libc/src/sys/mman/linux/munlock.cpp
M libc/src/sys/mman/linux/munlockall.cpp
M libc/src/sys/mman/linux/munmap.cpp
M libc/src/sys/mman/linux/remap_file_pages.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/linux/shm_unlink.cpp
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/random/linux/getrandom.cpp
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/sendfile/linux/sendfile.cpp
M libc/src/sys/socket/linux/bind.cpp
M libc/src/sys/socket/linux/recv.cpp
M libc/src/sys/socket/linux/recvfrom.cpp
M libc/src/sys/socket/linux/recvmsg.cpp
M libc/src/sys/socket/linux/send.cpp
M libc/src/sys/socket/linux/sendmsg.cpp
M libc/src/sys/socket/linux/sendto.cpp
M libc/src/sys/socket/linux/socket.cpp
M libc/src/sys/socket/linux/socketpair.cpp
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/mkdirat.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/sys/statvfs/linux/statfs_utils.h
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libc/src/sys/uio/linux/readv.cpp
M libc/src/sys/uio/linux/writev.cpp
M libc/src/sys/utsname/linux/uname.cpp
M libc/src/sys/wait/wait4Impl.h
M libc/src/termios/linux/cfsetispeed.cpp
M libc/src/termios/linux/cfsetospeed.cpp
M libc/src/termios/linux/tcdrain.cpp
M libc/src/termios/linux/tcflow.cpp
M libc/src/termios/linux/tcflush.cpp
M libc/src/termios/linux/tcgetattr.cpp
M libc/src/termios/linux/tcgetsid.cpp
M libc/src/termios/linux/tcsendbreak.cpp
M libc/src/termios/linux/tcsetattr.cpp
M libc/src/threads/thrd_create.cpp
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/linux/timespec_get.cpp
M libc/src/time/time.cpp
M libc/src/time/time_utils.h
M libc/src/time/windows/clock_getres.cpp
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/chdir.cpp
M libc/src/unistd/linux/close.cpp
M libc/src/unistd/linux/dup.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/dup3.cpp
M libc/src/unistd/linux/execv.cpp
M libc/src/unistd/linux/execve.cpp
M libc/src/unistd/linux/fchdir.cpp
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/fsync.cpp
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/getentropy.cpp
M libc/src/unistd/linux/getsid.cpp
M libc/src/unistd/linux/isatty.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/pathconf.cpp
M libc/src/unistd/linux/pathconf_utils.cpp
M libc/src/unistd/linux/pipe.cpp
M libc/src/unistd/linux/pipe2.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/src/unistd/linux/read.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/syscall.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/src/unistd/linux/write.cpp
M libc/src/unistd/windows/getentropy.cpp
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/wcscmp.cpp
M libc/src/wchar/wcscpy.cpp
M libc/src/wchar/wcsncpy.cpp
M libc/src/wchar/wmemcpy.cpp
A libc/src/wchar/wmemmove.cpp
A libc/src/wchar/wmemmove.h
M libc/src/wchar/wmempcpy.cpp
M libc/test/IntegrationTest/test.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/ErrnoCheckingTest.h
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/Test.h
M libc/test/integration/src/pthread/pthread_create_test.cpp
M libc/test/integration/src/pthread/pthread_join_test.cpp
M libc/test/integration/src/pthread/pthread_name_test.cpp
M libc/test/integration/src/unistd/getcwd_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/linux/tls_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/str_to_integer_test.cpp
A libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/utf32_to_8_test.cpp
A libc/test/src/__support/wchar/utf8_to_32_test.cpp
M libc/test/src/dirent/dirent_test.cpp
M libc/test/src/errno/errno_test.cpp
M libc/test/src/fcntl/creat_test.cpp
M libc/test/src/fcntl/fcntl_test.cpp
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf16_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/cospif_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/sinpif_test.cpp
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/acos_test.cpp
M libc/test/src/math/smoke/acosf16_test.cpp
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf16_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/acospif16_test.cpp
M libc/test/src/math/smoke/asinf16_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf16_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf16_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf16_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf16_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f16_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f16_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f16_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f16_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf16_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f16_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f16_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f16_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf16_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf16_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf16_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/poll/poll_test.cpp
M libc/test/src/sched/affinity_test.cpp
M libc/test/src/sched/cpu_count_test.cpp
M libc/test/src/sched/get_priority_test.cpp
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/sched/yield_test.cpp
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/signal/signal_test.cpp
M libc/test/src/signal/sigprocmask_test.cpp
M libc/test/src/spawn/posix_spawn_file_actions_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
A libc/test/src/stdio/perror_test.cpp
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/atof_test.cpp
M libc/test/src/stdlib/strtod_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/string/CMakeLists.txt
M libc/test/src/string/memchr_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/mempcpy_test.cpp
M libc/test/src/string/memrchr_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/string/stpncpy_test.cpp
M libc/test/src/string/strcat_test.cpp
M libc/test/src/string/strcoll_test.cpp
M libc/test/src/string/strcpy_test.cpp
M libc/test/src/string/strdup_test.cpp
M libc/test/src/string/strlcpy_test.cpp
M libc/test/src/string/strsep_test.cpp
M libc/test/src/string/strspn_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/ioctl/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/ioctl_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/prctl/linux/CMakeLists.txt
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/sys/time/setitimer_test.cpp
M libc/test/src/termios/termios_test.cpp
M libc/test/src/time/asctime_r_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/ctime_r_test.cpp
M libc/test/src/time/ctime_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/nanosleep_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmemmove_test.cpp
M libc/test/utils/FPUtil/CMakeLists.txt
M libclc/CMakeLists.txt
A libclc/clc/include/clc/geometric/clc_fast_normalize.h
A libclc/clc/include/clc/geometric/clc_normalize.h
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/geometric/clc_dot.cl
A libclc/clc/lib/generic/geometric/clc_dot.inc
A libclc/clc/lib/generic/geometric/clc_fast_normalize.cl
A libclc/clc/lib/generic/geometric/clc_fast_normalize.inc
A libclc/clc/lib/generic/geometric/clc_normalize.cl
A libclc/clc/lib/generic/geometric/clc_normalize.inc
M libclc/opencl/lib/generic/geometric/dot.cl
M libclc/opencl/lib/generic/geometric/fast_normalize.cl
R libclc/opencl/lib/generic/geometric/fast_normalize.inc
M libclc/opencl/lib/generic/geometric/normalize.cl
M libcxx/cmake/caches/AndroidNDK.cmake
A libcxx/docs/ABIGuarantees.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UserDocumentation.rst
M libcxx/docs/VendorDocumentation.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/__bit/bit_ceil.h
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/bit_log2.h
M libcxx/include/__bit/bit_width.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/__bit/rotate.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__concepts/arithmetic.h
M libcxx/include/__config
M libcxx/include/__configuration/abi.h
M libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__math/abs.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__memory/addressof.h
M libcxx/include/__memory/allocation_guard.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__type_traits/common_reference.h
M libcxx/include/__type_traits/container_traits.h
A libcxx/include/__type_traits/integer_traits.h
M libcxx/include/__type_traits/is_integral.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_scalar.h
R libcxx/include/__type_traits/is_signed_integer.h
R libcxx/include/__type_traits/is_unsigned_integer.h
M libcxx/include/__utility/cmp.h
M libcxx/include/__utility/pair.h
M libcxx/include/__vector/container_traits.h
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/deque
M libcxx/include/experimental/iterator
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/ios
M libcxx/include/list
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/mdspan
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/stdlib.h
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/syncstream
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/version
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/src/experimental/time_zone.cpp
M libcxx/src/hash.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each_n.bench.cpp
R libcxx/test/configs/llvm-libc++-android-ndk.cfg.in
A libcxx/test/configs/llvm-libc++-android.cfg.in
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/scary.compile.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_span.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
M libcxx/test/libcxx/feature_test_macro/generate_header_test.sh.py
A libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.compile.pass.cpp
R libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/odr_signature.exceptions.sh.cpp
M libcxx/test/libcxx/odr_signature.hardening.sh.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.compile.pass.cpp
M libcxx/test/std/containers/Emplaceable.h
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat_helpers.h
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_copy_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_move_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_cont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_rcont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_rvalue.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/top.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap.pass.cpp
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/sequences/array/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/empty.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.compile.fail.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_range_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
A libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/incomplete.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/max_size.pass.cpp
M libcxx/test/std/containers/sequences/list/compare.pass.cpp
M libcxx/test/std/containers/sequences/list/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/list/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/list/incomplete_type.pass.cpp
M libcxx/test/std/containers/sequences/list/iterators.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dextents.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/indirectly_readable.compile.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/c.math/abs.pass.cpp
M libcxx/test/std/numerics/c.math/abs.verify.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/ctor_func.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_ctor_func.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/general.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_++.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_++int.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_--.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_--int.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
M libcxx/test/std/utilities/format/format.functions/fill.unicode.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
R libcxx/test/std/utilities/meta/meta.unary/dependent_return_type.compile.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/dependent_return_type.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit_initializer_list.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR31384.pass.cpp
M libcxx/test/support/MinSequenceContainer.h
M libcxx/test/support/counting_predicates.h
M libcxx/test/support/min_allocator.h
M libcxx/test/support/test_comparisons.h
M libcxx/test/support/test_container_comparisons.h
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/header_information.py
M libcxxabi/test/catch_member_function_pointer_02.pass.cpp
R libcxxabi/test/configs/llvm-libc++abi-android-ndk.cfg.in
A libcxxabi/test/configs/llvm-libc++abi-android.cfg.in
M libunwind/cmake/config-ix.cmake
M libunwind/src/CMakeLists.txt
M libunwind/src/UnwindLevel1.c
M lld/COFF/MinGW.cpp
M lld/COFF/TypeMerger.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Config.h
M lld/ELF/DWARF.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/MachO/DriverUtils.cpp
M lld/MachO/SectionPriorities.cpp
M lld/MachO/SectionPriorities.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/UnwindInfoSection.cpp
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/COFF/lto-late-arm.ll
M lld/test/COFF/pdata-arm64ec.test
M lld/test/ELF/aarch64-feature-pauth.s
M lld/test/ELF/aarch64-thunk-bti-multipass.s
M lld/test/ELF/driver.test
M lld/test/ELF/lto/aarch64-pac-got-func.ll
M lld/test/ELF/ppc64-long-branch-pi.s
M lld/test/ELF/ppc64-relocs.s
M lld/test/ELF/riscv-branch.s
A lld/test/ELF/riscv-feature-zicfilp-func-sig.s
A lld/test/ELF/riscv-feature-zicfilp-unlabeled.s
A lld/test/ELF/riscv-feature-zicfiss.s
A lld/test/ELF/riscv-relax-call-stress.s
M lld/test/ELF/riscv-undefined-weak.s
R lld/test/ELF/weak-undef-got-pie.s
A lld/test/ELF/weak-undef-got-plt.s
M lld/test/ELF/weak-undef-hidden.s
M lld/test/ELF/weak-undef-rw.s
R lld/test/ELF/weak-undef.s
M lld/test/ELF/x86-64-section-layout.s
A lld/test/MachO/ordre-file-cstring.s
A lld/test/MachO/reexport-with-symlink.s
M lld/test/MinGW/lib.test
R lld/test/wasm/lto/Inputs/libcall-return-addr.ll
R lld/test/wasm/lto/libcall-return-addr.ll
M lld/wasm/Driver.cpp
M lldb/CMakeLists.txt
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/FindPythonAndSwig.cmake
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/docs/use/formatting.rst
M lldb/examples/python/crashlog.py
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
A lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Host/Socket.h
A lldb/include/lldb/Host/aix/Support.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/Variable.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
A lldb/scripts/convert-lldb-header-to-rpc-header.py
A lldb/scripts/framework-header-fix.py
M lldb/source/API/CMakeLists.txt
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Commands/CMakeLists.txt
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/aix/Support.cpp
A lldb/source/Host/common/JSONTransport.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CMakeLists.txt
M lldb/source/Interpreter/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
M lldb/source/Plugins/ABI/AArch64/CMakeLists.txt
M lldb/source/Plugins/ABI/ARC/CMakeLists.txt
M lldb/source/Plugins/ABI/ARM/CMakeLists.txt
M lldb/source/Plugins/ABI/Hexagon/CMakeLists.txt
M lldb/source/Plugins/ABI/LoongArch/CMakeLists.txt
M lldb/source/Plugins/ABI/MSP430/CMakeLists.txt
M lldb/source/Plugins/ABI/Mips/CMakeLists.txt
M lldb/source/Plugins/ABI/PowerPC/CMakeLists.txt
M lldb/source/Plugins/ABI/RISCV/CMakeLists.txt
M lldb/source/Plugins/ABI/SystemZ/CMakeLists.txt
M lldb/source/Plugins/ABI/X86/CMakeLists.txt
M lldb/source/Plugins/Architecture/AArch64/CMakeLists.txt
M lldb/source/Plugins/Architecture/Arm/CMakeLists.txt
M lldb/source/Plugins/Architecture/Mips/CMakeLists.txt
M lldb/source/Plugins/Architecture/PPC64/CMakeLists.txt
M lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.h
M lldb/source/Plugins/Instruction/ARM/CMakeLists.txt
M lldb/source/Plugins/Instruction/ARM64/CMakeLists.txt
M lldb/source/Plugins/Instruction/LoongArch/CMakeLists.txt
M lldb/source/Plugins/Instruction/MIPS/CMakeLists.txt
M lldb/source/Plugins/Instruction/MIPS64/CMakeLists.txt
M lldb/source/Plugins/Instruction/PPC64/CMakeLists.txt
M lldb/source/Plugins/Instruction/RISCV/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/UBSan/CMakeLists.txt
M lldb/source/Plugins/JITLoader/GDB/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/ObjectContainer/BSD-Archive/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Breakpad/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/COFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/ObjectFile/ELF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/JSON/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Mach-O/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Minidump/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/PDB/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/Placeholder/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/XCOFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/wasm/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/Platform/Android/CMakeLists.txt
M lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/objcxx/CMakeLists.txt
M lldb/source/Plugins/Platform/QemuUser/CMakeLists.txt
M lldb/source/Plugins/Platform/Windows/CMakeLists.txt
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Process/AIX/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSDKernel/CMakeLists.txt
Log Message:
-----------
[𝘀𝗽𝗿] changes introduced through rebase
Created using spr 1.3.4
[skip ci]
Commit: a8ebafbe68fb1af6f61484d29d0020dd6d85ba7c
https://github.com/llvm/llvm-project/commit/a8ebafbe68fb1af6f61484d29d0020dd6d85ba7c
Author: Amir Ayupov <aaupov at fb.com>
Date: 2025-06-20 (Fri, 20 Jun 2025)
Changed paths:
M .ci/compute_projects.py
M .ci/compute_projects_test.py
M .ci/metrics/metrics.py
M .ci/monolithic-linux.sh
M .git-blame-ignore-revs
M .github/new-prs-labeler.yml
M .github/workflows/docs.yml
M .github/workflows/email-check.yaml
M .github/workflows/libcxx-build-and-test.yaml
M .github/workflows/libcxx-restart-preempted-jobs.yaml
M bolt/include/bolt/Core/BinaryBasicBlock.h
M bolt/include/bolt/Core/MCPlusBuilder.h
M bolt/include/bolt/Passes/PAuthGadgetScanner.h
M bolt/include/bolt/Profile/DataAggregator.h
M bolt/include/bolt/Profile/DataReader.h
M bolt/include/bolt/Utils/CommandLineOpts.h
M bolt/lib/Core/HashUtilities.cpp
M bolt/lib/Core/MCPlusBuilder.cpp
M bolt/lib/Passes/PAuthGadgetScanner.cpp
M bolt/lib/Passes/RetpolineInsertion.cpp
M bolt/lib/Profile/DataAggregator.cpp
M bolt/lib/Profile/YAMLProfileWriter.cpp
M bolt/lib/Rewrite/LinuxKernelRewriter.cpp
M bolt/lib/Target/AArch64/AArch64MCPlusBuilder.cpp
M bolt/lib/Target/RISCV/RISCVMCPlusBuilder.cpp
M bolt/lib/Utils/CMakeLists.txt
M bolt/test/AArch64/adr-relaxation.s
M bolt/test/AArch64/r_aarch64_prelxx.s
M bolt/test/X86/callcont-fallthru.s
M bolt/test/X86/entry-point-fallthru.s
M bolt/test/X86/linux-version.S
M bolt/test/X86/pre-aggregated-perf.test
A bolt/test/binary-analysis/AArch64/gs-pauth-authentication-oracles.s
M bolt/test/binary-analysis/AArch64/gs-pauth-debug-output.s
M bolt/test/link_fdata.py
M bolt/test/lit.local.cfg
A bolt/test/perf2bolt/AArch64/perf2bolt-spe.test
A bolt/test/perf2bolt/X86/perf2bolt-spe.test
M bolt/tools/driver/llvm-bolt.cpp
M bolt/unittests/Profile/CMakeLists.txt
A bolt/unittests/Profile/PerfSpeEvents.cpp
M clang-tools-extra/clang-doc/BitcodeReader.cpp
M clang-tools-extra/clang-doc/BitcodeWriter.cpp
M clang-tools-extra/clang-doc/CMakeLists.txt
M clang-tools-extra/clang-doc/Generators.cpp
M clang-tools-extra/clang-doc/Generators.h
M clang-tools-extra/clang-doc/HTMLGenerator.cpp
M clang-tools-extra/clang-doc/HTMLMustacheGenerator.cpp
A clang-tools-extra/clang-doc/JSONGenerator.cpp
M clang-tools-extra/clang-doc/MDGenerator.cpp
M clang-tools-extra/clang-doc/Representation.cpp
M clang-tools-extra/clang-doc/Representation.h
M clang-tools-extra/clang-doc/Serialize.cpp
M clang-tools-extra/clang-doc/YAMLGenerator.cpp
M clang-tools-extra/clang-doc/assets/namespace-template.mustache
M clang-tools-extra/clang-doc/tool/ClangDocMain.cpp
M clang-tools-extra/clang-include-fixer/tool/ClangIncludeFixer.cpp
M clang-tools-extra/clang-move/Move.h
M clang-tools-extra/clang-reorder-fields/ReorderFieldsAction.cpp
M clang-tools-extra/clang-tidy/ClangTidy.cpp
M clang-tools-extra/clang-tidy/ClangTidyCheck.h
M clang-tools-extra/clang-tidy/ClangTidyDiagnosticConsumer.h
M clang-tools-extra/clang-tidy/ClangTidyOptions.cpp
M clang-tools-extra/clang-tidy/ClangTidyOptions.h
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.cpp
M clang-tools-extra/clang-tidy/ExpandModularHeadersPPCallbacks.h
M clang-tools-extra/clang-tidy/abseil/AbseilTidyModule.cpp
M clang-tools-extra/clang-tidy/abseil/CleanupCtadCheck.cpp
M clang-tools-extra/clang-tidy/abseil/DurationDivisionCheck.h
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.cpp
M clang-tools-extra/clang-tidy/abseil/NoInternalDependenciesCheck.h
M clang-tools-extra/clang-tidy/abseil/NoNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/RedundantStrcatCallsCheck.h
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.cpp
M clang-tools-extra/clang-tidy/abseil/StrCatAppendCheck.h
M clang-tools-extra/clang-tidy/abseil/StringFindStrContainsCheck.cpp
M clang-tools-extra/clang-tidy/abseil/TimeSubtractionCheck.h
M clang-tools-extra/clang-tidy/abseil/UpgradeDurationConversionsCheck.h
M clang-tools-extra/clang-tidy/altera/AlteraTidyModule.cpp
M clang-tools-extra/clang-tidy/altera/SingleWorkItemBarrierCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.cpp
M clang-tools-extra/clang-tidy/altera/StructPackAlignCheck.h
M clang-tools-extra/clang-tidy/altera/UnrollLoopsCheck.cpp
M clang-tools-extra/clang-tidy/android/AndroidTidyModule.cpp
M clang-tools-extra/clang-tidy/android/CloexecAcceptCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecCreatCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecFopenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecOpenCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipe2Check.cpp
M clang-tools-extra/clang-tidy/android/CloexecPipeCheck.cpp
M clang-tools-extra/clang-tidy/android/CloexecSocketCheck.cpp
M clang-tools-extra/clang-tidy/boost/BoostTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/BranchCloneCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/BugproneTidyModule.cpp
M clang-tools-extra/clang-tidy/bugprone/ChainedComparisonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/DynamicStaticInitializersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/EasilySwappableParametersCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InaccurateEraseCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncDecInConditionsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/IncorrectRoundingsCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/InfiniteLoopCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/LambdaFunctionNameCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MisplacedOperatorInStrlenInAllocCheck.h
M clang-tools-extra/clang-tidy/bugprone/MisplacedPointerArithmeticInAllocCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/MultiLevelImplicitPointerConversionCheck.h
M clang-tools-extra/clang-tidy/bugprone/MultipleNewInOneExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/NotNullTerminatedResultCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/PosixReturnCheck.h
M clang-tools-extra/clang-tidy/bugprone/RedundantBranchConditionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SignalHandlerCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SizeofExpressionCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SpuriouslyWakeUpFunctionsCheck.h
M clang-tools-extra/clang-tidy/bugprone/StandaloneEmptyCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringLiteralWithEmbeddedNulCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/StringviewNullptrCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.h
M clang-tools-extra/clang-tidy/bugprone/SuspiciousMemsetUsageCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/SuspiciousSemicolonCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UndelegatedConstructorCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnhandledExceptionAtNewCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UnusedRaiiCheck.cpp
M clang-tools-extra/clang-tidy/bugprone/UseAfterMoveCheck.cpp
M clang-tools-extra/clang-tidy/cert/CERTTidyModule.cpp
M clang-tools-extra/clang-tidy/concurrency/ConcurrencyTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/CMakeLists.txt
M clang-tools-extra/clang-tidy/cppcoreguidelines/CppCoreGuidelinesTidyModule.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/ProTypeMemberInitCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.cpp
M clang-tools-extra/clang-tidy/cppcoreguidelines/SpecialMemberFunctionsCheck.h
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.cpp
A clang-tools-extra/clang-tidy/cppcoreguidelines/UseEnumClassCheck.h
M clang-tools-extra/clang-tidy/cppcoreguidelines/VirtualClassDestructorCheck.cpp
M clang-tools-extra/clang-tidy/darwin/AvoidSpinlockCheck.h
M clang-tools-extra/clang-tidy/darwin/DarwinTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/FuchsiaTidyModule.cpp
M clang-tools-extra/clang-tidy/fuchsia/MultipleInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/StaticallyConstructedObjectsCheck.h
M clang-tools-extra/clang-tidy/fuchsia/TrailingReturnCheck.h
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.cpp
M clang-tools-extra/clang-tidy/fuchsia/VirtualInheritanceCheck.h
M clang-tools-extra/clang-tidy/google/AvoidCStyleCastsCheck.cpp
M clang-tools-extra/clang-tidy/google/AvoidThrowingObjCExceptionCheck.h
M clang-tools-extra/clang-tidy/google/ExplicitConstructorCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalNamesInHeadersCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/google/GlobalVariableDeclarationCheck.h
M clang-tools-extra/clang-tidy/google/GoogleTidyModule.cpp
M clang-tools-extra/clang-tidy/google/IntegerTypesCheck.cpp
M clang-tools-extra/clang-tidy/google/UnnamedNamespaceInHeaderCheck.cpp
M clang-tools-extra/clang-tidy/google/UsingNamespaceDirectiveCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.cpp
M clang-tools-extra/clang-tidy/hicpp/ExceptionBaseclassCheck.h
M clang-tools-extra/clang-tidy/hicpp/HICPPTidyModule.cpp
M clang-tools-extra/clang-tidy/hicpp/MultiwayPathsCoveredCheck.cpp
M clang-tools-extra/clang-tidy/linuxkernel/LinuxKernelTidyModule.cpp
M clang-tools-extra/clang-tidy/linuxkernel/MustCheckErrsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/LLVMTidyModule.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.cpp
M clang-tools-extra/clang-tidy/llvm/PreferIsaOrDynCastInConditionalsCheck.h
M clang-tools-extra/clang-tidy/llvmlibc/CalleeNamespaceCheck.cpp
M clang-tools-extra/clang-tidy/llvmlibc/LLVMLibcTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/MiscTidyModule.cpp
M clang-tools-extra/clang-tidy/misc/StaticAssertCheck.cpp
M clang-tools-extra/clang-tidy/misc/ThrowByValueCatchByReferenceCheck.h
M clang-tools-extra/clang-tidy/modernize/AvoidBindCheck.cpp
M clang-tools-extra/clang-tidy/modernize/DeprecatedIosBaseAliasesCheck.h
M clang-tools-extra/clang-tidy/modernize/LoopConvertCheck.cpp
M clang-tools-extra/clang-tidy/modernize/LoopConvertUtils.cpp
M clang-tools-extra/clang-tidy/modernize/MacroToEnumCheck.cpp
M clang-tools-extra/clang-tidy/modernize/MakeSmartPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ModernizeTidyModule.cpp
M clang-tools-extra/clang-tidy/modernize/RedundantVoidArgCheck.cpp
M clang-tools-extra/clang-tidy/modernize/ReplaceAutoPtrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseAutoCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseBoolLiteralsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseConstraintsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEmplaceCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseEqualsDefaultCheck.h
M clang-tools-extra/clang-tidy/modernize/UseEqualsDeleteCheck.h
M clang-tools-extra/clang-tidy/modernize/UseNullptrCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseStartsEndsWithCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseTrailingReturnTypeCheck.h
M clang-tools-extra/clang-tidy/modernize/UseTransparentFunctorsCheck.h
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.cpp
M clang-tools-extra/clang-tidy/modernize/UseUncaughtExceptionsCheck.h
M clang-tools-extra/clang-tidy/mpi/MPITidyModule.cpp
M clang-tools-extra/clang-tidy/objc/AvoidNSErrorInitCheck.h
M clang-tools-extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
M clang-tools-extra/clang-tidy/objc/NSDateFormatterCheck.cpp
M clang-tools-extra/clang-tidy/objc/ObjCTidyModule.cpp
M clang-tools-extra/clang-tidy/objc/PropertyDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/openmp/ExceptionEscapeCheck.cpp
M clang-tools-extra/clang-tidy/openmp/OpenMPTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/FasterStringFindCheck.h
M clang-tools-extra/clang-tidy/performance/ForRangeCopyCheck.h
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.cpp
M clang-tools-extra/clang-tidy/performance/ImplicitConversionInLoopCheck.h
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.cpp
M clang-tools-extra/clang-tidy/performance/InefficientVectorOperationCheck.h
M clang-tools-extra/clang-tidy/performance/MoveConstArgCheck.cpp
M clang-tools-extra/clang-tidy/performance/PerformanceTidyModule.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryCopyInitialization.h
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.cpp
M clang-tools-extra/clang-tidy/performance/UnnecessaryValueParamCheck.h
M clang-tools-extra/clang-tidy/plugin/ClangTidyPlugin.cpp
M clang-tools-extra/clang-tidy/portability/PortabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/portability/SIMDIntrinsicsCheck.h
M clang-tools-extra/clang-tidy/readability/ConstReturnTypeCheck.h
M clang-tools-extra/clang-tidy/readability/ContainerSizeEmptyCheck.cpp
M clang-tools-extra/clang-tidy/readability/ConvertMemberFunctionsToStatic.cpp
M clang-tools-extra/clang-tidy/readability/ImplicitBoolConversionCheck.cpp
M clang-tools-extra/clang-tidy/readability/InconsistentDeclarationParameterNameCheck.cpp
M clang-tools-extra/clang-tidy/readability/MagicNumbersCheck.h
M clang-tools-extra/clang-tidy/readability/MakeMemberFunctionConstCheck.cpp
M clang-tools-extra/clang-tidy/readability/MathMissingParenthesesCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.cpp
M clang-tools-extra/clang-tidy/readability/NamespaceCommentCheck.h
M clang-tools-extra/clang-tidy/readability/QualifiedAutoCheck.cpp
M clang-tools-extra/clang-tidy/readability/ReadabilityTidyModule.cpp
M clang-tools-extra/clang-tidy/readability/RedundantDeclarationCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantFunctionPtrDereferenceCheck.h
M clang-tools-extra/clang-tidy/readability/RedundantInlineSpecifierCheck.cpp
M clang-tools-extra/clang-tidy/readability/RedundantStringCStrCheck.cpp
M clang-tools-extra/clang-tidy/readability/SimplifySubscriptExprCheck.h
M clang-tools-extra/clang-tidy/tool/ClangTidyMain.cpp
M clang-tools-extra/clang-tidy/utils/IncludeSorter.cpp
M clang-tools-extra/clang-tidy/utils/NamespaceAliaser.cpp
M clang-tools-extra/clang-tidy/utils/TransformerClangTidyCheck.cpp
M clang-tools-extra/clang-tidy/utils/TypeTraits.cpp
M clang-tools-extra/clang-tidy/zircon/TemporaryObjectsCheck.cpp
M clang-tools-extra/clang-tidy/zircon/ZirconTidyModule.cpp
M clang-tools-extra/clangd/ClangdLSPServer.cpp
M clang-tools-extra/clangd/IncludeCleaner.cpp
M clang-tools-extra/clangd/IncludeCleaner.h
M clang-tools-extra/clangd/InlayHints.cpp
M clang-tools-extra/clangd/ModulesBuilder.cpp
M clang-tools-extra/clangd/ParsedAST.cpp
M clang-tools-extra/clangd/Protocol.cpp
M clang-tools-extra/clangd/Protocol.h
M clang-tools-extra/clangd/refactor/Rename.cpp
A clang-tools-extra/clangd/test/module_dependencies.test
A clang-tools-extra/clangd/test/positionencoding.test
M clang-tools-extra/clangd/tool/ClangdMain.cpp
M clang-tools-extra/clangd/unittests/HoverTests.cpp
M clang-tools-extra/clangd/unittests/IncludeCleanerTests.cpp
M clang-tools-extra/clangd/unittests/InlayHintTests.cpp
M clang-tools-extra/clangd/unittests/PrerequisiteModulesTest.cpp
M clang-tools-extra/clangd/unittests/XRefsTests.cpp
M clang-tools-extra/docs/ReleaseNotes.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/multi-level-implicit-pointer-conversion.rst
M clang-tools-extra/docs/clang-tidy/checks/bugprone/return-const-ref-from-parameter.rst
A clang-tools-extra/docs/clang-tidy/checks/cppcoreguidelines/use-enum-class.rst
M clang-tools-extra/docs/clang-tidy/checks/list.rst
M clang-tools-extra/docs/clang-tidy/checks/llvm/namespace-comment.rst
M clang-tools-extra/docs/clang-tidy/checks/modernize/use-trailing-return-type.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/enum-size.rst
M clang-tools-extra/docs/clang-tidy/checks/performance/unnecessary-value-param.rst
M clang-tools-extra/modularize/CoverageChecker.cpp
M clang-tools-extra/modularize/Modularize.cpp
M clang-tools-extra/modularize/ModularizeUtilities.cpp
M clang-tools-extra/test/clang-doc/invalid-options.cpp
A clang-tools-extra/test/clang-doc/json/class-template.cpp
A clang-tools-extra/test/clang-doc/json/class.cpp
A clang-tools-extra/test/clang-doc/json/function-specifiers.cpp
A clang-tools-extra/test/clang-doc/json/method-template.cpp
A clang-tools-extra/test/clang-doc/json/namespace.cpp
A clang-tools-extra/test/clang-doc/mustache-index.cpp
A clang-tools-extra/test/clang-doc/mustache-separate-namespace.cpp
M clang-tools-extra/test/clang-doc/templates.cpp
A clang-tools-extra/test/clang-reorder-fields/MacroExpansionField.cpp
A clang-tools-extra/test/clang-tidy/checkers/bugprone/multi-level-implicit-pointer-conversion.c
A clang-tools-extra/test/clang-tidy/checkers/cppcoreguidelines/use-enum-class.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing-nested-namespaces.cpp
A clang-tools-extra/test/clang-tidy/checkers/google/readability-namespace-comments-missing.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx14.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas-cxx20.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-transform-lambdas.cpp
A clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type-wrong-config.cpp
M clang-tools-extra/test/clang-tidy/checkers/modernize/use-trailing-return-type.cpp
A clang-tools-extra/test/clang-tidy/checkers/performance/unnecessary-value-param-coroutine.cpp
A clang-tools-extra/test/clang-tidy/checkers/readability/convert-member-functions-to-static-deducing-this.cpp
M clang-tools-extra/test/clang-tidy/checkers/readability/math-missing-parentheses.cpp
M clang-tools-extra/unittests/clang-doc/BitcodeTest.cpp
M clang-tools-extra/unittests/clang-doc/CMakeLists.txt
M clang-tools-extra/unittests/clang-doc/HTMLGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/HTMLMustacheGeneratorTest.cpp
A clang-tools-extra/unittests/clang-doc/JSONGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MDGeneratorTest.cpp
M clang-tools-extra/unittests/clang-doc/MergeTest.cpp
M clang-tools-extra/unittests/clang-doc/YAMLGeneratorTest.cpp
M clang/CMakeLists.txt
M clang/bindings/python/clang/cindex.py
M clang/docs/CommandGuide/clang.rst
M clang/docs/HIPSupport.rst
M clang/docs/LanguageExtensions.rst
M clang/docs/LibClang.rst
M clang/docs/OpenMPSupport.rst
M clang/docs/ReleaseNotes.rst
M clang/docs/SanitizerSpecialCaseList.rst
M clang/docs/UsersManual.rst
M clang/include/clang/AST/ASTContext.h
M clang/include/clang/AST/ASTNodeTraverser.h
M clang/include/clang/AST/Decl.h
M clang/include/clang/AST/DeclBase.h
M clang/include/clang/AST/DeclContextInternals.h
M clang/include/clang/AST/DeclTemplate.h
M clang/include/clang/AST/Expr.h
M clang/include/clang/AST/ExprCXX.h
M clang/include/clang/AST/ExprConcepts.h
M clang/include/clang/AST/ExprObjC.h
M clang/include/clang/AST/GlobalDecl.h
M clang/include/clang/AST/OpenACCClause.h
M clang/include/clang/AST/OpenMPClause.h
M clang/include/clang/AST/RecursiveASTVisitor.h
M clang/include/clang/AST/Stmt.h
M clang/include/clang/AST/StmtCXX.h
M clang/include/clang/AST/StmtObjC.h
M clang/include/clang/AST/StmtOpenACC.h
M clang/include/clang/AST/StmtOpenMP.h
M clang/include/clang/AST/TemplateBase.h
M clang/include/clang/AST/Type.h
M clang/include/clang/AST/TypeProperties.td
M clang/include/clang/Basic/AArch64ACLETypes.def
M clang/include/clang/Basic/AddressSpaces.h
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/AttributeCommonInfo.h
A clang/include/clang/Basic/AttributeScopeInfo.h
M clang/include/clang/Basic/BuiltinHeaders.def
M clang/include/clang/Basic/Builtins.td
M clang/include/clang/Basic/BuiltinsAArch64.def
M clang/include/clang/Basic/BuiltinsAMDGPU.def
M clang/include/clang/Basic/BuiltinsARM.def
M clang/include/clang/Basic/BuiltinsNVPTX.td
M clang/include/clang/Basic/CodeGenOptions.def
M clang/include/clang/Basic/CodeGenOptions.h
M clang/include/clang/Basic/Diagnostic.h
M clang/include/clang/Basic/DiagnosticDriverKinds.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticIDs.h
M clang/include/clang/Basic/DiagnosticParseKinds.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/include/clang/Basic/IdentifierTable.h
M clang/include/clang/Basic/OffloadArch.h
M clang/include/clang/Basic/OpenMPKinds.def
M clang/include/clang/Basic/ProfileList.h
M clang/include/clang/Basic/Specifiers.h
M clang/include/clang/Basic/StmtNodes.td
M clang/include/clang/Basic/arm_mve.td
M clang/include/clang/Basic/riscv_andes_vector.td
M clang/include/clang/Basic/riscv_sifive_vector.td
M clang/include/clang/Basic/riscv_vector.td
M clang/include/clang/Basic/riscv_vector_common.td
M clang/include/clang/CIR/CIRGenerator.h
M clang/include/clang/CIR/Dialect/Builder/CIRBaseBuilder.h
A clang/include/clang/CIR/Dialect/IR/CIRAttrConstraints.td
M clang/include/clang/CIR/Dialect/IR/CIRAttrs.td
M clang/include/clang/CIR/Dialect/IR/CIRDataLayout.h
M clang/include/clang/CIR/Dialect/IR/CIROps.td
M clang/include/clang/CIR/Dialect/IR/CIRTypes.td
M clang/include/clang/CIR/Interfaces/CIROpInterfaces.td
M clang/include/clang/CIR/MissingFeatures.h
A clang/include/clang/Driver/CommonArgs.h
M clang/include/clang/Driver/Options.td
M clang/include/clang/ExtractAPI/API.h
M clang/include/clang/Parse/Parser.h
M clang/include/clang/Sema/ParsedAttr.h
M clang/include/clang/Sema/ParsedTemplate.h
M clang/include/clang/Sema/Redeclaration.h
M clang/include/clang/Sema/Scope.h
M clang/include/clang/Sema/Sema.h
M clang/include/clang/Sema/SemaHLSL.h
M clang/include/clang/Sema/SemaInternal.h
M clang/include/clang/Sema/SemaObjC.h
M clang/include/clang/Sema/SemaOpenMP.h
M clang/include/clang/Sema/SemaPseudoObject.h
M clang/include/clang/Sema/Template.h
M clang/include/clang/Serialization/ASTReader.h
M clang/include/clang/Serialization/ASTRecordWriter.h
M clang/include/clang/Serialization/ASTWriter.h
M clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
M clang/include/clang/StaticAnalyzer/Core/Checker.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
M clang/include/clang/StaticAnalyzer/Core/PathSensitive/SMTConv.h
M clang/include/clang/Support/RISCVVIntrinsicUtils.h
M clang/lib/APINotes/APINotesManager.cpp
M clang/lib/APINotes/APINotesReader.cpp
M clang/lib/AST/ASTContext.cpp
M clang/lib/AST/ASTDiagnostic.cpp
M clang/lib/AST/ASTImporter.cpp
M clang/lib/AST/AttrImpl.cpp
M clang/lib/AST/ByteCode/Compiler.cpp
M clang/lib/AST/ByteCode/Context.cpp
M clang/lib/AST/ByteCode/Context.h
M clang/lib/AST/ByteCode/Function.cpp
M clang/lib/AST/ByteCode/Function.h
M clang/lib/AST/ByteCode/Interp.cpp
M clang/lib/AST/ByteCode/InterpBlock.cpp
M clang/lib/AST/ByteCode/InterpBuiltin.cpp
M clang/lib/AST/ByteCode/InterpStack.cpp
M clang/lib/AST/Decl.cpp
M clang/lib/AST/DeclBase.cpp
M clang/lib/AST/DeclPrinter.cpp
M clang/lib/AST/DeclTemplate.cpp
M clang/lib/AST/Expr.cpp
M clang/lib/AST/ExprCXX.cpp
M clang/lib/AST/ExprClassification.cpp
M clang/lib/AST/ExprConstant.cpp
M clang/lib/AST/ItaniumMangle.cpp
M clang/lib/AST/MicrosoftMangle.cpp
M clang/lib/AST/OpenMPClause.cpp
M clang/lib/AST/QualTypeNames.cpp
M clang/lib/AST/Stmt.cpp
M clang/lib/AST/StmtOpenMP.cpp
M clang/lib/AST/StmtPrinter.cpp
M clang/lib/AST/StmtProfile.cpp
M clang/lib/AST/TemplateBase.cpp
M clang/lib/AST/Type.cpp
M clang/lib/AST/TypePrinter.cpp
M clang/lib/ASTMatchers/ASTMatchersInternal.cpp
M clang/lib/ASTMatchers/Dynamic/Parser.cpp
M clang/lib/ASTMatchers/Dynamic/Registry.cpp
M clang/lib/ASTMatchers/Dynamic/VariantValue.cpp
M clang/lib/ASTMatchers/GtestMatchers.cpp
M clang/lib/Analysis/CFG.cpp
M clang/lib/Analysis/FlowSensitive/Formula.cpp
M clang/lib/Analysis/ThreadSafety.cpp
M clang/lib/Analysis/UnsafeBufferUsage.cpp
M clang/lib/Basic/Attributes.cpp
M clang/lib/Basic/Diagnostic.cpp
M clang/lib/Basic/DiagnosticIDs.cpp
M clang/lib/Basic/LangOptions.cpp
M clang/lib/Basic/OffloadArch.cpp
M clang/lib/Basic/ProfileList.cpp
M clang/lib/Basic/SourceManager.cpp
M clang/lib/Basic/TargetInfo.cpp
M clang/lib/Basic/Targets.cpp
M clang/lib/Basic/Targets/AArch64.cpp
M clang/lib/Basic/Targets/AArch64.h
M clang/lib/Basic/Targets/AMDGPU.cpp
M clang/lib/Basic/Targets/AMDGPU.h
M clang/lib/Basic/Targets/ARM.cpp
M clang/lib/Basic/Targets/AVR.cpp
M clang/lib/Basic/Targets/BPF.h
M clang/lib/Basic/Targets/DirectX.h
M clang/lib/Basic/Targets/LoongArch.h
M clang/lib/Basic/Targets/Mips.cpp
M clang/lib/Basic/Targets/NVPTX.cpp
M clang/lib/Basic/Targets/NVPTX.h
M clang/lib/Basic/Targets/OSTargets.h
M clang/lib/Basic/Targets/PPC.cpp
M clang/lib/Basic/Targets/SPIR.h
M clang/lib/Basic/Targets/SystemZ.h
M clang/lib/Basic/Targets/TCE.h
M clang/lib/Basic/Targets/WebAssembly.h
M clang/lib/Basic/Targets/X86.h
M clang/lib/Basic/Targets/Xtensa.h
M clang/lib/CIR/CodeGen/Address.h
M clang/lib/CIR/CodeGen/CIRGenBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenBuilder.h
A clang/lib/CIR/CodeGen/CIRGenBuiltin.cpp
A clang/lib/CIR/CodeGen/CIRGenCXX.cpp
M clang/lib/CIR/CodeGen/CIRGenCXXABI.h
M clang/lib/CIR/CodeGen/CIRGenCall.cpp
M clang/lib/CIR/CodeGen/CIRGenCall.h
A clang/lib/CIR/CodeGen/CIRGenClass.cpp
M clang/lib/CIR/CodeGen/CIRGenDecl.cpp
M clang/lib/CIR/CodeGen/CIRGenExpr.cpp
M clang/lib/CIR/CodeGen/CIRGenExprAggregate.cpp
A clang/lib/CIR/CodeGen/CIRGenExprComplex.cpp
M clang/lib/CIR/CodeGen/CIRGenExprConstant.cpp
M clang/lib/CIR/CodeGen/CIRGenExprScalar.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.cpp
M clang/lib/CIR/CodeGen/CIRGenFunction.h
M clang/lib/CIR/CodeGen/CIRGenFunctionInfo.h
M clang/lib/CIR/CodeGen/CIRGenItaniumCXXABI.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.cpp
M clang/lib/CIR/CodeGen/CIRGenModule.h
M clang/lib/CIR/CodeGen/CIRGenOpenACCClause.cpp
M clang/lib/CIR/CodeGen/CIRGenRecordLayout.h
M clang/lib/CIR/CodeGen/CIRGenRecordLayoutBuilder.cpp
M clang/lib/CIR/CodeGen/CIRGenStmt.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACC.cpp
M clang/lib/CIR/CodeGen/CIRGenStmtOpenACCLoop.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.cpp
M clang/lib/CIR/CodeGen/CIRGenTypes.h
M clang/lib/CIR/CodeGen/CIRGenValue.h
M clang/lib/CIR/CodeGen/CIRGenerator.cpp
M clang/lib/CIR/CodeGen/CMakeLists.txt
M clang/lib/CIR/Dialect/IR/CIRAttrs.cpp
A clang/lib/CIR/Dialect/IR/CIRDataLayout.cpp
M clang/lib/CIR/Dialect/IR/CIRDialect.cpp
M clang/lib/CIR/Dialect/IR/CIRMemorySlot.cpp
M clang/lib/CIR/Dialect/IR/CIRTypes.cpp
M clang/lib/CIR/Dialect/IR/CMakeLists.txt
M clang/lib/CIR/Dialect/Transforms/CIRCanonicalize.cpp
M clang/lib/CIR/Dialect/Transforms/CIRSimplify.cpp
M clang/lib/CIR/FrontendAction/CIRGenAction.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.cpp
M clang/lib/CIR/Lowering/DirectToLLVM/LowerToLLVM.h
M clang/lib/CodeGen/BackendUtil.cpp
M clang/lib/CodeGen/CGBlocks.cpp
M clang/lib/CodeGen/CGBuiltin.cpp
M clang/lib/CodeGen/CGCall.cpp
M clang/lib/CodeGen/CGClass.cpp
M clang/lib/CodeGen/CGCleanup.cpp
M clang/lib/CodeGen/CGDebugInfo.cpp
M clang/lib/CodeGen/CGDebugInfo.h
M clang/lib/CodeGen/CGDecl.cpp
M clang/lib/CodeGen/CGDeclCXX.cpp
M clang/lib/CodeGen/CGException.cpp
M clang/lib/CodeGen/CGExpr.cpp
M clang/lib/CodeGen/CGExprCXX.cpp
M clang/lib/CodeGen/CGExprConstant.cpp
M clang/lib/CodeGen/CGExprScalar.cpp
M clang/lib/CodeGen/CGHLSLBuiltins.cpp
M clang/lib/CodeGen/CGHLSLRuntime.cpp
M clang/lib/CodeGen/CGHLSLRuntime.h
M clang/lib/CodeGen/CGObjC.cpp
M clang/lib/CodeGen/CGObjCGNU.cpp
M clang/lib/CodeGen/CGObjCMac.cpp
M clang/lib/CodeGen/CGObjCRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.cpp
M clang/lib/CodeGen/CGOpenMPRuntime.h
M clang/lib/CodeGen/CGOpenMPRuntimeGPU.cpp
M clang/lib/CodeGen/CGPointerAuth.cpp
M clang/lib/CodeGen/CGStmt.cpp
M clang/lib/CodeGen/CGStmtOpenMP.cpp
M clang/lib/CodeGen/CGVTables.cpp
M clang/lib/CodeGen/CodeGenAction.cpp
M clang/lib/CodeGen/CodeGenFunction.cpp
M clang/lib/CodeGen/CodeGenFunction.h
M clang/lib/CodeGen/CodeGenModule.cpp
M clang/lib/CodeGen/CodeGenTBAA.cpp
M clang/lib/CodeGen/CodeGenTypes.cpp
M clang/lib/CodeGen/CoverageMappingGen.cpp
M clang/lib/CodeGen/ItaniumCXXABI.cpp
M clang/lib/CodeGen/TargetBuiltins/ARM.cpp
M clang/lib/CodeGen/TargetInfo.cpp
M clang/lib/CodeGen/TargetInfo.h
M clang/lib/CodeGen/Targets/AArch64.cpp
M clang/lib/CodeGen/Targets/AMDGPU.cpp
M clang/lib/CodeGen/Targets/NVPTX.cpp
M clang/lib/CodeGen/Targets/SPIR.cpp
M clang/lib/CodeGen/Targets/TCE.cpp
M clang/lib/Driver/CMakeLists.txt
M clang/lib/Driver/Driver.cpp
M clang/lib/Driver/MultilibBuilder.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/AVR.cpp
M clang/lib/Driver/ToolChains/Arch/AArch64.cpp
M clang/lib/Driver/ToolChains/Arch/LoongArch.cpp
M clang/lib/Driver/ToolChains/Arch/Mips.cpp
M clang/lib/Driver/ToolChains/Arch/PPC.cpp
M clang/lib/Driver/ToolChains/Arch/RISCV.cpp
M clang/lib/Driver/ToolChains/BareMetal.cpp
M clang/lib/Driver/ToolChains/CSKYToolChain.cpp
M clang/lib/Driver/ToolChains/Clang.cpp
M clang/lib/Driver/ToolChains/CommonArgs.cpp
R clang/lib/Driver/ToolChains/CommonArgs.h
M clang/lib/Driver/ToolChains/CrossWindows.cpp
M clang/lib/Driver/ToolChains/Cuda.cpp
M clang/lib/Driver/ToolChains/Cygwin.cpp
M clang/lib/Driver/ToolChains/Darwin.cpp
M clang/lib/Driver/ToolChains/DragonFly.cpp
M clang/lib/Driver/ToolChains/Flang.cpp
M clang/lib/Driver/ToolChains/FreeBSD.cpp
M clang/lib/Driver/ToolChains/Fuchsia.cpp
M clang/lib/Driver/ToolChains/Gnu.cpp
M clang/lib/Driver/ToolChains/HIPAMD.cpp
M clang/lib/Driver/ToolChains/HIPAMD.h
M clang/lib/Driver/ToolChains/HIPSPV.cpp
M clang/lib/Driver/ToolChains/HIPUtility.cpp
M clang/lib/Driver/ToolChains/HLSL.cpp
M clang/lib/Driver/ToolChains/Haiku.cpp
M clang/lib/Driver/ToolChains/Hexagon.cpp
M clang/lib/Driver/ToolChains/Hurd.cpp
M clang/lib/Driver/ToolChains/InterfaceStubs.cpp
M clang/lib/Driver/ToolChains/Linux.cpp
M clang/lib/Driver/ToolChains/MSP430.cpp
M clang/lib/Driver/ToolChains/MSVC.cpp
A clang/lib/Driver/ToolChains/Managarm.cpp
A clang/lib/Driver/ToolChains/Managarm.h
M clang/lib/Driver/ToolChains/MinGW.cpp
M clang/lib/Driver/ToolChains/NaCl.cpp
M clang/lib/Driver/ToolChains/NetBSD.cpp
M clang/lib/Driver/ToolChains/OHOS.cpp
M clang/lib/Driver/ToolChains/OpenBSD.cpp
M clang/lib/Driver/ToolChains/PS4CPU.cpp
M clang/lib/Driver/ToolChains/RISCVToolchain.cpp
M clang/lib/Driver/ToolChains/SPIRV.cpp
M clang/lib/Driver/ToolChains/SPIRVOpenMP.cpp
M clang/lib/Driver/ToolChains/SYCL.cpp
M clang/lib/Driver/ToolChains/Solaris.cpp
M clang/lib/Driver/ToolChains/UEFI.cpp
M clang/lib/Driver/ToolChains/VEToolchain.cpp
M clang/lib/Driver/ToolChains/WebAssembly.cpp
M clang/lib/Driver/ToolChains/XCore.cpp
M clang/lib/Driver/ToolChains/ZOS.cpp
M clang/lib/Driver/XRayArgs.cpp
M clang/lib/Edit/EditedSource.cpp
M clang/lib/ExtractAPI/ExtractAPIConsumer.cpp
M clang/lib/ExtractAPI/Serialization/SymbolGraphSerializer.cpp
M clang/lib/Format/ContinuationIndenter.cpp
M clang/lib/Format/MacroCallReconstructor.cpp
M clang/lib/Format/TokenAnnotator.cpp
M clang/lib/Format/UnwrappedLineParser.cpp
M clang/lib/Frontend/CompilerInstance.cpp
M clang/lib/Frontend/CompilerInvocation.cpp
M clang/lib/Frontend/FrontendAction.cpp
M clang/lib/Frontend/InitPreprocessor.cpp
M clang/lib/Headers/amxmovrstransposeintrin.h
M clang/lib/Headers/arm_acle.h
M clang/lib/Headers/bmiintrin.h
M clang/lib/Headers/hlsl/hlsl_alias_intrinsics.h
M clang/lib/Headers/hlsl/hlsl_spirv.h
M clang/lib/Headers/immintrin.h
M clang/lib/Headers/keylockerintrin.h
M clang/lib/Headers/module.modulemap
M clang/lib/Headers/movrsintrin.h
M clang/lib/Headers/x86gprintrin.h
M clang/lib/Headers/x86intrin.h
M clang/lib/Index/IndexBody.cpp
M clang/lib/InstallAPI/DiagnosticBuilderWrappers.cpp
M clang/lib/InstallAPI/DirectoryScanner.cpp
M clang/lib/InstallAPI/FileList.cpp
M clang/lib/InstallAPI/Frontend.cpp
M clang/lib/InstallAPI/Visitor.cpp
M clang/lib/Interpreter/DeviceOffload.cpp
M clang/lib/Interpreter/InterpreterValuePrinter.cpp
M clang/lib/Interpreter/Value.cpp
M clang/lib/Lex/DependencyDirectivesScanner.cpp
M clang/lib/Lex/HeaderMap.cpp
M clang/lib/Lex/InitHeaderSearch.cpp
M clang/lib/Lex/LiteralSupport.cpp
M clang/lib/Parse/CMakeLists.txt
M clang/lib/Parse/ParseCXXInlineMethods.cpp
M clang/lib/Parse/ParseDecl.cpp
M clang/lib/Parse/ParseDeclCXX.cpp
M clang/lib/Parse/ParseExpr.cpp
M clang/lib/Parse/ParseExprCXX.cpp
M clang/lib/Parse/ParseHLSL.cpp
M clang/lib/Parse/ParseInit.cpp
M clang/lib/Parse/ParseObjc.cpp
M clang/lib/Parse/ParseOpenACC.cpp
M clang/lib/Parse/ParseOpenMP.cpp
M clang/lib/Parse/ParsePragma.cpp
M clang/lib/Parse/ParseStmt.cpp
M clang/lib/Parse/ParseStmtAsm.cpp
M clang/lib/Parse/ParseTemplate.cpp
M clang/lib/Parse/Parser.cpp
M clang/lib/Rewrite/HTMLRewrite.cpp
M clang/lib/Sema/ParsedAttr.cpp
M clang/lib/Sema/Sema.cpp
M clang/lib/Sema/SemaAPINotes.cpp
M clang/lib/Sema/SemaARM.cpp
M clang/lib/Sema/SemaCUDA.cpp
M clang/lib/Sema/SemaCast.cpp
M clang/lib/Sema/SemaChecking.cpp
M clang/lib/Sema/SemaConcept.cpp
M clang/lib/Sema/SemaCoroutine.cpp
M clang/lib/Sema/SemaDecl.cpp
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaDeclCXX.cpp
M clang/lib/Sema/SemaExceptionSpec.cpp
M clang/lib/Sema/SemaExpr.cpp
M clang/lib/Sema/SemaExprCXX.cpp
M clang/lib/Sema/SemaExprMember.cpp
M clang/lib/Sema/SemaExprObjC.cpp
M clang/lib/Sema/SemaHLSL.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/lib/Sema/SemaLookup.cpp
M clang/lib/Sema/SemaModule.cpp
M clang/lib/Sema/SemaObjC.cpp
M clang/lib/Sema/SemaOpenMP.cpp
M clang/lib/Sema/SemaOverload.cpp
M clang/lib/Sema/SemaRISCV.cpp
M clang/lib/Sema/SemaSYCL.cpp
M clang/lib/Sema/SemaStmt.cpp
M clang/lib/Sema/SemaStmtAttr.cpp
M clang/lib/Sema/SemaTemplate.cpp
M clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
M clang/lib/Sema/SemaTemplateVariadic.cpp
M clang/lib/Sema/SemaType.cpp
M clang/lib/Sema/SemaTypeTraits.cpp
M clang/lib/Sema/TreeTransform.h
M clang/lib/Serialization/ASTReader.cpp
M clang/lib/Serialization/ASTReaderDecl.cpp
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/CallAndMessageChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
M clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h
M clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/ASTUtils.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/PtrTypesSemantics.h
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefCallArgsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefLocalVarsChecker.cpp
M clang/lib/StaticAnalyzer/Checkers/WebKit/RawPtrRefMemberChecker.cpp
M clang/lib/StaticAnalyzer/Core/BugReporter.cpp
M clang/lib/StaticAnalyzer/Core/Checker.cpp
M clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
M clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
M clang/lib/StaticAnalyzer/Core/Z3CrosscheckVisitor.cpp
M clang/lib/Support/RISCVVIntrinsicUtils.cpp
M clang/lib/Tooling/ArgumentsAdjusters.cpp
M clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp
M clang/lib/Tooling/DependencyScanning/ModuleDepCollector.cpp
M clang/test/AST/ByteCode/cxx17.cpp
M clang/test/AST/ByteCode/literals.cpp
M clang/test/AST/ByteCode/new-delete.cpp
A clang/test/AST/HLSL/vk.spec-constant.usage.hlsl
M clang/test/AST/ast-dump-aarch64-neon-types.c
M clang/test/AST/ast-dump-recovery.c
M clang/test/AST/ast-dump-recovery.cpp
R clang/test/AST/ast-dump-recovery.m
A clang/test/AST/ast-dump-type-callingconv.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-checked.cpp
M clang/test/Analysis/Checkers/WebKit/call-args-safe-functions.cpp
M clang/test/Analysis/Checkers/WebKit/objc-mock-types.h
M clang/test/Analysis/Checkers/WebKit/unchecked-local-vars.cpp
M clang/test/Analysis/Checkers/WebKit/unretained-members-arc.mm
M clang/test/Analysis/Checkers/WebKit/unretained-members.mm
M clang/test/Analysis/NewDelete-checker-test.cpp
M clang/test/Analysis/analyzer-enabled-checkers.c
A clang/test/Analysis/bitint-z3.c
M clang/test/Analysis/bugfix-124477.m
R clang/test/Analysis/pch_crash.cpp
A clang/test/Analysis/pch_macro.cpp
M clang/test/Analysis/std-c-library-functions-arg-enabled-checkers.c
M clang/test/Analysis/taint-generic.c
A clang/test/C/C23/n3006.c
M clang/test/C/C2y/n3353.c
M clang/test/CIR/CodeGen/array.cpp
M clang/test/CIR/CodeGen/basic.c
A clang/test/CIR/CodeGen/builtin_call.cpp
A clang/test/CIR/CodeGen/builtin_printf.cpp
A clang/test/CIR/CodeGen/call.c
M clang/test/CIR/CodeGen/call.cpp
M clang/test/CIR/CodeGen/cast.cpp
A clang/test/CIR/CodeGen/class.cpp
A clang/test/CIR/CodeGen/complex.cpp
A clang/test/CIR/CodeGen/ctor.cpp
A clang/test/CIR/CodeGen/deferred-defs.cpp
A clang/test/CIR/CodeGen/deferred-fn-defs.cpp
A clang/test/CIR/CodeGen/dlti.c
A clang/test/CIR/CodeGen/dlti_be.c
A clang/test/CIR/CodeGen/enum.cpp
M clang/test/CIR/CodeGen/forrange.cpp
A clang/test/CIR/CodeGen/forward-decls.cpp
A clang/test/CIR/CodeGen/forward-enum.c
A clang/test/CIR/CodeGen/libc.c
M clang/test/CIR/CodeGen/namespace.cpp
A clang/test/CIR/CodeGen/static-vars.c
A clang/test/CIR/CodeGen/static-vars.cpp
M clang/test/CIR/CodeGen/string-literals.c
A clang/test/CIR/CodeGen/string-literals.cpp
M clang/test/CIR/CodeGen/struct.c
A clang/test/CIR/CodeGen/template-specialization.cpp
M clang/test/CIR/CodeGen/vector-ext.cpp
M clang/test/CIR/CodeGen/vector.cpp
M clang/test/CIR/CodeGenOpenACC/combined-copy.c
A clang/test/CIR/CodeGenOpenACC/combined-copy.cpp
M clang/test/CIR/CodeGenOpenACC/combined.cpp
M clang/test/CIR/CodeGenOpenACC/compute-copy.c
A clang/test/CIR/CodeGenOpenACC/compute-copy.cpp
A clang/test/CIR/CodeGenOpenACC/host_data.c
M clang/test/CIR/CodeGenOpenACC/kernels.c
M clang/test/CIR/CodeGenOpenACC/loop.cpp
M clang/test/CIR/CodeGenOpenACC/parallel.c
M clang/test/CIR/CodeGenOpenACC/serial.c
M clang/test/CIR/IR/call.cir
A clang/test/CIR/IR/complex.cir
A clang/test/CIR/IR/invalid-complex.cir
A clang/test/CIR/IR/invalid-vector-shuffle-wrong-index.cir
M clang/test/CIR/IR/invalid-vector.cir
M clang/test/CIR/IR/struct.cir
M clang/test/CIR/IR/vector.cir
M clang/test/CIR/Lowering/func-simple.cpp
A clang/test/CIR/Transforms/complex-create-fold.cir
A clang/test/CIR/Transforms/vector-cmp-fold.cir
A clang/test/CIR/Transforms/vector-create-fold.cir
A clang/test/CIR/Transforms/vector-shuffle-dynamic-fold.cir
A clang/test/CIR/Transforms/vector-shuffle-fold.cir
A clang/test/CIR/Transforms/vector-splat.cir
A clang/test/CIR/Transforms/vector-ternary-fold.cir
M clang/test/CXX/class.access/p4.cpp
M clang/test/CXX/drs/cwg1xx.cpp
M clang/test/CXX/drs/cwg24xx.cpp
M clang/test/CXX/drs/cwg25xx.cpp
M clang/test/CXX/drs/cwg26xx.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/nested-requirement.cpp
M clang/test/CXX/expr/expr.prim/expr.prim.req/simple-requirement.cpp
M clang/test/CXX/module/basic/basic.link/p2.cppm
M clang/test/CXX/module/dcl.dcl/dcl.module/dcl.module.import/p1.cppm
M clang/test/CodeGen/AArch64/mixed-neon-types.c
M clang/test/CodeGen/AArch64/struct-coerce-using-ptr.cpp
A clang/test/CodeGen/LoongArch/bfloat-abi.c
A clang/test/CodeGen/LoongArch/bfloat-mangle.cpp
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/non-policy/overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/non-overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vrgatherei16.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslidedown.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-autogenerated/policy/overloaded/vslideup.c
M clang/test/CodeGen/RISCV/rvv-intrinsics-handcrafted/zvfhmin-error.c
M clang/test/CodeGen/X86/avx-cxx-record.cpp
A clang/test/CodeGen/X86/cygwin-varargs.c
A clang/test/CodeGen/aarch64-always-inline-feature-bug.c
M clang/test/CodeGen/alias.c
A clang/test/CodeGen/arm-former-microsoft-intrinsics-header-warning.c
A clang/test/CodeGen/arm-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm-microsoft-intrinsics.c
M clang/test/CodeGen/arm-mve-intrinsics/vrnd.c
A clang/test/CodeGen/arm64-former-microsoft-intrinsics-header-warning.c
A clang/test/CodeGen/arm64-former-microsoft-intrinsics.c
M clang/test/CodeGen/arm64-microsoft-intrinsics.c
M clang/test/CodeGen/attr-arm-sve-vector-bits-cast.c
A clang/test/CodeGen/attr-availability-aligned-versions.c
M clang/test/CodeGen/builtin_vectorelements.c
M clang/test/CodeGen/builtins-arm-microsoft.c
M clang/test/CodeGen/builtins-nvptx.c
A clang/test/CodeGen/cfi-unchecked-callee-attribute-member-function.cpp
A clang/test/CodeGen/cfi-unchecked-callee-attribute.cpp
A clang/test/CodeGen/debug-info-version-coff.c
M clang/test/CodeGen/debug-info-version.c
A clang/test/CodeGen/distributed-thin-lto/backend-skip.ll
A clang/test/CodeGen/distributed-thin-lto/basic.ll
A clang/test/CodeGen/distributed-thin-lto/cfi-devirt.ll
A clang/test/CodeGen/distributed-thin-lto/cfi.ll
A clang/test/CodeGen/distributed-thin-lto/cs-irpgo.c
A clang/test/CodeGen/distributed-thin-lto/newpm.ll
A clang/test/CodeGen/distributed-thin-lto/objc-contract-pass.ll
A clang/test/CodeGen/distributed-thin-lto/supports-hot-cold-new.ll
M clang/test/CodeGen/epilog-unwind.c
A clang/test/CodeGen/openmp-prefix-map.c
M clang/test/CodeGen/ptrauth-in-c-struct.c
M clang/test/CodeGen/tbaa-array.cpp
R clang/test/CodeGen/thinlto-distributed-backend-skip.ll
R clang/test/CodeGen/thinlto-distributed-cfi-devirt.ll
R clang/test/CodeGen/thinlto-distributed-cfi.ll
R clang/test/CodeGen/thinlto-distributed-newpm.ll
R clang/test/CodeGen/thinlto-distributed-objc-contract-pass.ll
R clang/test/CodeGen/thinlto-distributed-supports-hot-cold-new.ll
R clang/test/CodeGen/thinlto-distributed.ll
M clang/test/CodeGen/ubsan-function-debuginfo.c
M clang/test/CodeGen/unique-source-file-names.c
M clang/test/CodeGen/unsigned-promotion-debuginfo.c
A clang/test/CodeGenCXX/builtin-get-vtable-pointer.cpp
M clang/test/CodeGenCXX/cxx11-thread-local-reference.cpp
A clang/test/CodeGenCXX/debug-info-coff.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-aarch64.cpp
M clang/test/CodeGenCXX/debug-info-hotpatch-arm.cpp
M clang/test/CodeGenCXX/dependent-template-alias.cpp
M clang/test/CodeGenCXX/gnu-asm-constexpr.cpp
M clang/test/CodeGenCXX/ptrauth-qualifier-struct.cpp
M clang/test/CodeGenCXX/tmp-md-nodes2.cpp
M clang/test/CodeGenCXX/trivial_abi.cpp
M clang/test/CodeGenHLSL/ArrayAssignable.hlsl
M clang/test/CodeGenHLSL/ArrayTemporary.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/ArrayOutputArguments.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/InitLists.hlsl
M clang/test/CodeGenHLSL/BasicFeatures/OutputArguments.hlsl
M clang/test/CodeGenHLSL/Bool.hlsl
M clang/test/CodeGenHLSL/BoolVector.hlsl
M clang/test/CodeGenHLSL/GlobalConstructorLib.hlsl
M clang/test/CodeGenHLSL/RootSignature.hlsl
M clang/test/CodeGenHLSL/basic_types.hlsl
M clang/test/CodeGenHLSL/builtins/AddUint64.hlsl
M clang/test/CodeGenHLSL/builtins/ByteAddressBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/GroupMemoryBarrierWithGroupSync.hlsl
M clang/test/CodeGenHLSL/builtins/RWBuffer-constructor.hlsl
M clang/test/CodeGenHLSL/builtins/ScalarSwizzles.hlsl
M clang/test/CodeGenHLSL/builtins/StructuredBuffers-constructors.hlsl
M clang/test/CodeGenHLSL/builtins/abs.hlsl
M clang/test/CodeGenHLSL/builtins/all.hlsl
M clang/test/CodeGenHLSL/builtins/and.hlsl
M clang/test/CodeGenHLSL/builtins/any.hlsl
M clang/test/CodeGenHLSL/builtins/ceil-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/ceil.hlsl
M clang/test/CodeGenHLSL/builtins/clamp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/clamp.hlsl
M clang/test/CodeGenHLSL/builtins/clip-builtin.hlsl
M clang/test/CodeGenHLSL/builtins/clip.hlsl
M clang/test/CodeGenHLSL/builtins/cos-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/cos.hlsl
M clang/test/CodeGenHLSL/builtins/cross.hlsl
M clang/test/CodeGenHLSL/builtins/degrees-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/degrees.hlsl
M clang/test/CodeGenHLSL/builtins/distance.hlsl
M clang/test/CodeGenHLSL/builtins/exp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp.hlsl
M clang/test/CodeGenHLSL/builtins/exp2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/exp2.hlsl
M clang/test/CodeGenHLSL/builtins/firstbithigh.hlsl
M clang/test/CodeGenHLSL/builtins/firstbitlow.hlsl
M clang/test/CodeGenHLSL/builtins/floor-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/floor.hlsl
M clang/test/CodeGenHLSL/builtins/fmod.hlsl
M clang/test/CodeGenHLSL/builtins/frac-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/frac.hlsl
M clang/test/CodeGenHLSL/builtins/hlsl_resource_t.hlsl
M clang/test/CodeGenHLSL/builtins/isinf-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/isinf.hlsl
M clang/test/CodeGenHLSL/builtins/ldexp.hlsl
M clang/test/CodeGenHLSL/builtins/length.hlsl
M clang/test/CodeGenHLSL/builtins/lerp-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log.hlsl
M clang/test/CodeGenHLSL/builtins/log10-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log10.hlsl
M clang/test/CodeGenHLSL/builtins/log2-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/log2.hlsl
M clang/test/CodeGenHLSL/builtins/max-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/max.hlsl
M clang/test/CodeGenHLSL/builtins/min-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/min.hlsl
M clang/test/CodeGenHLSL/builtins/normalize-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/normalize.hlsl
M clang/test/CodeGenHLSL/builtins/or.hlsl
M clang/test/CodeGenHLSL/builtins/pow-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/pow.hlsl
M clang/test/CodeGenHLSL/builtins/radians-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/radians.hlsl
M clang/test/CodeGenHLSL/builtins/rcp.hlsl
M clang/test/CodeGenHLSL/builtins/reflect.hlsl
M clang/test/CodeGenHLSL/builtins/reversebits.hlsl
M clang/test/CodeGenHLSL/builtins/round-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/round.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/rsqrt.hlsl
M clang/test/CodeGenHLSL/builtins/sign.hlsl
M clang/test/CodeGenHLSL/builtins/sin-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sin.hlsl
M clang/test/CodeGenHLSL/builtins/smoothstep.hlsl
M clang/test/CodeGenHLSL/builtins/splitdouble.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/sqrt.hlsl
M clang/test/CodeGenHLSL/builtins/step-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/step.hlsl
M clang/test/CodeGenHLSL/builtins/trunc-overloads.hlsl
M clang/test/CodeGenHLSL/builtins/trunc.hlsl
A clang/test/CodeGenHLSL/builtins/wave_get_lane_count.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_do_while.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_simple.hlsl
M clang/test/CodeGenHLSL/builtins/wave_get_lane_index_subcall.hlsl
M clang/test/CodeGenHLSL/cbuffer.hlsl
M clang/test/CodeGenHLSL/cbuffer_and_namespaces.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_packoffset.hlsl
M clang/test/CodeGenHLSL/cbuffer_with_static_global_and_function.hlsl
M clang/test/CodeGenHLSL/convergence/do.while.hlsl
M clang/test/CodeGenHLSL/convergence/for.hlsl
M clang/test/CodeGenHLSL/convergence/while.hlsl
M clang/test/CodeGenHLSL/default_cbuffer.hlsl
M clang/test/CodeGenHLSL/default_cbuffer_with_layout.hlsl
M clang/test/CodeGenHLSL/export.hlsl
M clang/test/CodeGenHLSL/group_shared.hlsl
M clang/test/CodeGenHLSL/implicit-norecurse-attrib.hlsl
M clang/test/CodeGenHLSL/inline-functions.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.alignment.hlsl
R clang/test/CodeGenHLSL/inline-spirv/SpirvType.hlsl
M clang/test/CodeGenHLSL/no_int_promotion.hlsl
M clang/test/CodeGenHLSL/out-of-line-static.hlsl
A clang/test/CodeGenHLSL/semantics/SV_Position.ps.hlsl
M clang/test/CodeGenHLSL/shift-mask.hlsl
M clang/test/CodeGenHLSL/this-assignment-overload.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.alignment.hlsl
A clang/test/CodeGenHLSL/vk-features/SpirvType.hlsl
A clang/test/CodeGenHLSL/vk-features/vk.spec-constant.hlsl
A clang/test/CodeGenHLSL/vk-input-builtin.hlsl
M clang/test/CodeGenOpenCL/amdgpu-features.cl
M clang/test/DebugInfo/KeyInstructions/agg.c
M clang/test/DebugInfo/KeyInstructions/assign-scalar.c
M clang/test/DebugInfo/KeyInstructions/bitfield.cpp
M clang/test/DebugInfo/KeyInstructions/builtin.c
M clang/test/DebugInfo/KeyInstructions/cast.c
M clang/test/DebugInfo/KeyInstructions/coerced-packed.c
M clang/test/DebugInfo/KeyInstructions/coerced-ptr.c
M clang/test/DebugInfo/KeyInstructions/coerced-through-memory.c
M clang/test/DebugInfo/KeyInstructions/coerced.c
M clang/test/DebugInfo/KeyInstructions/complex.c
M clang/test/DebugInfo/KeyInstructions/do.c
A clang/test/DebugInfo/KeyInstructions/for-range.cpp
M clang/test/DebugInfo/KeyInstructions/for.c
M clang/test/DebugInfo/KeyInstructions/if.c
M clang/test/DebugInfo/KeyInstructions/init-agg.c
M clang/test/DebugInfo/KeyInstructions/init-member.cpp
M clang/test/DebugInfo/KeyInstructions/init-scalar.c
M clang/test/DebugInfo/KeyInstructions/init-static.cpp
M clang/test/DebugInfo/KeyInstructions/multi-func.c
M clang/test/DebugInfo/KeyInstructions/new.cpp
A clang/test/DebugInfo/KeyInstructions/return-va-arg.c
A clang/test/DebugInfo/KeyInstructions/return.c
M clang/test/DebugInfo/KeyInstructions/switch.c
M clang/test/DebugInfo/KeyInstructions/try-catch.cpp
M clang/test/DebugInfo/KeyInstructions/while.c
A clang/test/Driver/Inputs/basic_managarm_tree/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/lib64/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/aarch64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/c++/v1/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/riscv64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/include/x86_64-managarm-mlibc/c++/10/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/aarch64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/aarch64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/riscv64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbegin.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginS.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/gcc/x86_64-managarm-mlibc/10/crtbeginT.o
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/riscv64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib/x86_64-managarm-mlibc/.keep
A clang/test/Driver/Inputs/basic_managarm_tree/usr/lib64/.keep
M clang/test/Driver/aix-shared-lib-tls-model-opt.c
M clang/test/Driver/aix-small-local-exec-dynamic-tls.c
M clang/test/Driver/amdgpu-macros.cl
M clang/test/Driver/amdgpu-mcpu.cl
M clang/test/Driver/android-link.cpp
M clang/test/Driver/cl-options.c
M clang/test/Driver/darwin-debug-flags.c
M clang/test/Driver/darwin-infer-simulator-sdkroot.c
A clang/test/Driver/darwin-invalid-os-versions.c
A clang/test/Driver/darwin-invalid-version-range.c
M clang/test/Driver/darwin-ld-platform-version-macos.c
M clang/test/Driver/darwin-ld-platform-version-watchos.c
M clang/test/Driver/darwin-ld.c
M clang/test/Driver/darwin-version.c
M clang/test/Driver/dxc_spirv.hlsl
M clang/test/Driver/extend-variable-liveness.c
M clang/test/Driver/fveclib.c
M clang/test/Driver/hip-phases.hip
M clang/test/Driver/hip-runtime-libs-linux.hip
M clang/test/Driver/hip-thinlto.hip
A clang/test/Driver/ignored-pch.cpp
M clang/test/Driver/linker-wrapper.c
A clang/test/Driver/managarm.cpp
M clang/test/Driver/openmp-offload-gpu.c
M clang/test/Driver/ppc-crbits.cpp
M clang/test/Driver/ppc-isa-features.cpp
A clang/test/Driver/print-enabled-extensions/riscv-sifive-x390.c
M clang/test/Driver/print-supported-extensions-riscv.c
M clang/test/Driver/range.c
M clang/test/Driver/riscv-cpus.c
A clang/test/Driver/spirv-amd-toolchain.c
A clang/test/Driver/stack-alignment.c
M clang/test/Driver/unique-source-file-names.c
M clang/test/ExtractAPI/availability.c
M clang/test/ExtractAPI/inherited_availability.m
A clang/test/FixIt/fixit-punctuator-spelling.cpp
A clang/test/FixIt/fixit-unknown-attributes.cpp
R clang/test/FixIt/typo.cpp
M clang/test/Format/multiple-inputs-error.cpp
M clang/test/Format/ranges.cpp
A clang/test/Frontend/aarch64-print-enabled-extensions-cc1.c
M clang/test/Frontend/ast-main.c
M clang/test/Frontend/ast-main.cpp
A clang/test/Frontend/cfi-unchecked-callee-attribute-n3037.c
A clang/test/Frontend/cfi-unchecked-callee-attribute.c
A clang/test/Frontend/cfi-unchecked-callee-attribute.cpp
M clang/test/Headers/Inputs/include/stdint.h
M clang/test/Headers/ms-intrin.cpp
R clang/test/Index/complete-switch.c
M clang/test/Index/fix-its.c
M clang/test/Interpreter/lambda.cpp
M clang/test/Lexer/raw-string-ext.c
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
M clang/test/Misc/target-invalid-cpu-note/amdgcn.c
M clang/test/Misc/target-invalid-cpu-note/avr.c
M clang/test/Misc/target-invalid-cpu-note/nvptx.c
M clang/test/Misc/target-invalid-cpu-note/riscv.c
A clang/test/Modules/constexpr-initialization-failure.cpp
M clang/test/Modules/diagnose-missing-import.m
A clang/test/Modules/module-local-declarations-02.cppm
A clang/test/Modules/module-local-declarations.cppm
A clang/test/Modules/pr119947.cppm
A clang/test/Modules/pr143788.cppm
A clang/test/Modules/pr144230.cppm
A clang/test/Modules/pr61360.cppm
A clang/test/Modules/preferred_name_header_unit.cpp
M clang/test/OpenMP/begin_declare_variant_messages.c
M clang/test/OpenMP/declare_mapper_ast_print.c
M clang/test/OpenMP/declare_mapper_ast_print.cpp
M clang/test/OpenMP/declare_reduction_messages.cpp
M clang/test/OpenMP/declare_variant_clauses_ast_print.cpp
M clang/test/OpenMP/declare_variant_clauses_messages.cpp
M clang/test/OpenMP/declare_variant_messages.c
M clang/test/OpenMP/declare_variant_messages.cpp
M clang/test/OpenMP/distribute_simd_misc_messages.c
A clang/test/OpenMP/for_private_reduction_codegen.cpp
M clang/test/OpenMP/for_reduction_messages.cpp
M clang/test/OpenMP/for_simd_reduction_messages.cpp
M clang/test/OpenMP/sections_reduction_messages.cpp
A clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_ast_dump.cpp
A clang/test/OpenMP/target_map_array_of_structs_with_nested_mapper_codegen.cpp
A clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_ast_dump.cpp
A clang/test/OpenMP/target_map_array_section_of_structs_with_nested_mapper_codegen.cpp
R clang/test/OpenMP/target_map_nest_defalut_mapper_ast_dump.cpp
R clang/test/OpenMP/target_map_nest_defalut_mapper_codegen.cpp
M clang/test/OpenMP/target_update_messages.cpp
M clang/test/Options/enable_16bit_types_validation_spirv.hlsl
A clang/test/PCH/Inputs/ignored-pch.h
A clang/test/PCH/ignored-pch.c
A clang/test/Parser/cxx-invalid-using-decl-in-constexpr-crash.cpp
M clang/test/Parser/cxx11-base-spec-attributes.cpp
M clang/test/Parser/cxx1z-decomposition.cpp
M clang/test/Parser/cxx1z-fold-expressions.cpp
M clang/test/Parser/cxx2c-pack-indexing.cpp
A clang/test/Parser/macro-expansion-recovery.cpp
M clang/test/Parser/objc-foreach-syntax.m
M clang/test/Parser/objcxx11-attributes.mm
M clang/test/Parser/opencl-atomics-cl20.cl
M clang/test/Parser/recovery.c
M clang/test/Parser/switch-recovery.cpp
M clang/test/Parser/switch-typo-correction.cpp
M clang/test/ParserOpenACC/parse-cache-construct.cpp
M clang/test/ParserOpenACC/parse-clauses.c
M clang/test/ParserOpenACC/parse-constructs.cpp
M clang/test/ParserOpenACC/parse-wait-clause.c
M clang/test/ParserOpenACC/parse-wait-construct.c
M clang/test/Preprocessor/aarch64-target-features.c
M clang/test/Preprocessor/init-loongarch.c
M clang/test/Preprocessor/init-x86.c
M clang/test/Preprocessor/init.c
A clang/test/Preprocessor/line-directive-suppressed.c
M clang/test/Preprocessor/predefined-arch-macros.c
M clang/test/Preprocessor/predefined-macros-no-warnings.c
M clang/test/Preprocessor/riscv-target-features-andes.c
A clang/test/Sema/Inputs/XROS.sdk/SDKSettings.json
M clang/test/Sema/PR28181.c
A clang/test/Sema/attr-availability-invalid-os-versions.c
A clang/test/Sema/attr-availability-ios-aligned-versions.c
A clang/test/Sema/attr-availability-ios-fallback-aligned-versions.c
M clang/test/Sema/attr-availability-iosmac-infer-from-macos.c
M clang/test/Sema/builtin-unary-fp.c
A clang/test/Sema/c23-delayed-typo-correction-crashes.c
A clang/test/Sema/delayed-typo-correction-crashes.c
A clang/test/Sema/gh87867.c
M clang/test/Sema/invalid-member.cpp
M clang/test/Sema/rvv-required-features-invalid.c
M clang/test/Sema/typo-correction-ambiguity.cpp
M clang/test/Sema/typo-correction-no-hang.c
M clang/test/Sema/typo-correction-no-hang.cpp
M clang/test/Sema/typo-correction-recursive.cpp
M clang/test/Sema/typo-correction.c
M clang/test/Sema/unknown-attributes.c
A clang/test/Sema/warn-unreachable_crash.cpp
M clang/test/Sema/zvk-invalid-features.c
M clang/test/Sema/zvk-invalid-zvknha.c
M clang/test/Sema/zvk-target-attributes.c
M clang/test/SemaCUDA/bad-attributes.cu
M clang/test/SemaCXX/arrow-operator.cpp
M clang/test/SemaCXX/attr-non-x86-no_caller_saved_registers.cpp
M clang/test/SemaCXX/attr-trivial-abi.cpp
A clang/test/SemaCXX/builtin-get-vtable-pointer.cpp
M clang/test/SemaCXX/builtin-is-constant-evaluated.cpp
M clang/test/SemaCXX/class.cpp
M clang/test/SemaCXX/constant-expression-cxx11.cpp
M clang/test/SemaCXX/conversion-function.cpp
M clang/test/SemaCXX/coroutines.cpp
A clang/test/SemaCXX/cxx-delayed-typo-correction-crashes.cpp
M clang/test/SemaCXX/cxx0x-class.cpp
M clang/test/SemaCXX/cxx1z-decomposition.cpp
A clang/test/SemaCXX/cxx20-delayed-typo-correction-crashes.cpp
M clang/test/SemaCXX/cxx2a-adl-only-template-id.cpp
M clang/test/SemaCXX/cxx2a-consteval.cpp
M clang/test/SemaCXX/cxx2b-deducing-this-constexpr.cpp
M clang/test/SemaCXX/cxx2c-trivially-relocatable.cpp
M clang/test/SemaCXX/destructor.cpp
M clang/test/SemaCXX/exception-spec.cpp
M clang/test/SemaCXX/gh102293.cpp
A clang/test/SemaCXX/gh139818.cpp
M clang/test/SemaCXX/invalid-if-constexpr.cpp
M clang/test/SemaCXX/member-expr.cpp
M clang/test/SemaCXX/nested-name-spec.cpp
A clang/test/SemaCXX/paren-list-init-expr.cpp
R clang/test/SemaCXX/pr13394-crash-on-invalid.cpp
M clang/test/SemaCXX/ptrauth-triviality.cpp
M clang/test/SemaCXX/return.cpp
A clang/test/SemaCXX/trivially-relocatable-ptrauth.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags-std.cpp
M clang/test/SemaCXX/type-traits-unsatisfied-diags.cpp
M clang/test/SemaCXX/typo-correction-crash.cpp
M clang/test/SemaCXX/typo-correction-cxx11.cpp
R clang/test/SemaCXX/typo-correction-delayed.cpp
M clang/test/SemaCXX/typo-correction.cpp
M clang/test/SemaCXX/unique_object_duplication.cpp
M clang/test/SemaCXX/unique_object_duplication.h
M clang/test/SemaCXX/virtuals.cpp
A clang/test/SemaHLSL/Semantics/position.ps.hlsl
A clang/test/SemaHLSL/Semantics/position.ps.size.hlsl
A clang/test/SemaHLSL/Semantics/position.vs.hlsl
A clang/test/SemaHLSL/vk-ext-input-builtin.hlsl
A clang/test/SemaHLSL/vk.spec-constant.error.hlsl
M clang/test/SemaObjC/call-super-2.m
M clang/test/SemaObjC/typo-correction-subscript.m
M clang/test/SemaObjC/undef-arg-super-method-call.m
M clang/test/SemaObjCXX/arc-type-conversion.mm
M clang/test/SemaObjCXX/attr-trivial-abi.mm
M clang/test/SemaObjCXX/block-for-lambda-conversion.mm
M clang/test/SemaOpenACC/compute-construct-num_gangs-clause.cpp
M clang/test/SemaOpenCL/atomic-ops.cl
M clang/test/SemaOpenCL/clang-builtin-version.cl
M clang/test/SemaTemplate/address_space-dependent.cpp
M clang/test/SemaTemplate/concepts-out-of-line-def.cpp
M clang/test/SemaTemplate/concepts-recovery-expr.cpp
M clang/test/SemaTemplate/concepts.cpp
M clang/test/SemaTemplate/instantiate-static-var.cpp
M clang/test/SemaTemplate/typo-variadic.cpp
M clang/tools/cir-opt/cir-opt.cpp
M clang/tools/clang-format/ClangFormat.cpp
M clang/tools/clang-installapi/Options.cpp
M clang/tools/clang-linker-wrapper/ClangLinkerWrapper.cpp
M clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
M clang/tools/libclang/CXCursor.cpp
M clang/tools/libclang/CXType.cpp
M clang/tools/scan-build/bin/scan-build
M clang/unittests/DirectoryWatcher/DirectoryWatcherTest.cpp
M clang/unittests/Driver/MultilibBuilderTest.cpp
M clang/unittests/Driver/MultilibTest.cpp
M clang/unittests/Format/FormatTestRawStrings.cpp
M clang/unittests/Format/TokenAnnotatorTest.cpp
M clang/unittests/Frontend/CompilerInstanceTest.cpp
M clang/unittests/Lex/DependencyDirectivesScannerTest.cpp
M clang/unittests/Parse/CMakeLists.txt
M clang/unittests/Sema/ExternalSemaSourceTest.cpp
M clang/unittests/StaticAnalyzer/BlockEntranceCallbackTest.cpp
M clang/unittests/Tooling/ToolingTest.cpp
M clang/utils/TableGen/ClangAttrEmitter.cpp
M clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp
M clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp
M clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
M clang/utils/TableGen/ClangOpcodesEmitter.cpp
M clang/utils/TableGen/RISCVVEmitter.cpp
M clang/utils/analyzer/requirements.txt
M clang/utils/perf-training/perf-helper.py
M clang/www/c_status.html
M clang/www/cxx_dr_status.html
M compiler-rt/include/profile/InstrProfData.inc
M compiler-rt/lib/builtins/CMakeLists.txt
M compiler-rt/lib/builtins/README.txt
M compiler-rt/lib/builtins/arm/aeabi_cdcmp.S
M compiler-rt/lib/builtins/arm/aeabi_cfcmp.S
M compiler-rt/lib/builtins/arm/aeabi_dcmp.S
M compiler-rt/lib/builtins/arm/aeabi_fcmp.S
M compiler-rt/lib/builtins/arm/aeabi_idivmod.S
M compiler-rt/lib/builtins/arm/aeabi_ldivmod.S
M compiler-rt/lib/builtins/arm/aeabi_memcpy.S
M compiler-rt/lib/builtins/arm/aeabi_memmove.S
M compiler-rt/lib/builtins/arm/aeabi_memset.S
M compiler-rt/lib/builtins/arm/aeabi_uidivmod.S
M compiler-rt/lib/builtins/arm/aeabi_uldivmod.S
M compiler-rt/lib/builtins/assembly.h
M compiler-rt/lib/builtins/cpu_model/riscv.c
M compiler-rt/lib/builtins/trampoline_setup.c
M compiler-rt/lib/fuzzer/FuzzerDataFlowTrace.cpp
M compiler-rt/lib/fuzzer/tests/CMakeLists.txt
M compiler-rt/lib/lsan/lsan_allocator.cpp
M compiler-rt/lib/lsan/lsan_allocator.h
M compiler-rt/lib/lsan/lsan_common.cpp
M compiler-rt/lib/lsan/lsan_interceptors.cpp
M compiler-rt/lib/lsan/lsan_malloc_mac.cpp
M compiler-rt/lib/msan/msan_interceptors.cpp
M compiler-rt/lib/rtsan/tests/rtsan_test_interceptors_posix.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_ioctl.inc
M compiler-rt/lib/sanitizer_common/sanitizer_common_interceptors_memintrinsics.inc
M compiler-rt/lib/sanitizer_common/sanitizer_malloc_mac.inc
M compiler-rt/lib/sanitizer_common/sanitizer_platform.h
M compiler-rt/lib/sanitizer_common/sanitizer_platform_interceptors.h
M compiler-rt/lib/sanitizer_common/sanitizer_procmaps_solaris.cpp
M compiler-rt/lib/sanitizer_common/sanitizer_redefine_builtins.h
M compiler-rt/lib/scudo/standalone/chunk.h
M compiler-rt/lib/scudo/standalone/combined.h
M compiler-rt/lib/scudo/standalone/report.cpp
M compiler-rt/lib/scudo/standalone/report.h
M compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp
M compiler-rt/lib/tsan/rtl/tsan_platform.h
M compiler-rt/lib/tsan/rtl/tsan_platform_linux.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl.h
M compiler-rt/lib/tsan/rtl/tsan_rtl_access.cpp
M compiler-rt/lib/tsan/rtl/tsan_rtl_report.cpp
M compiler-rt/test/builtins/Unit/trampoline_setup_test.c
M compiler-rt/test/cfi/CMakeLists.txt
M compiler-rt/test/fuzzer/uncaught-exception.test
A compiler-rt/test/hwasan/TestCases/Posix/dlerror.cpp
M compiler-rt/test/msan/ifaddrs.cpp
M compiler-rt/test/msan/qsort.cpp
A compiler-rt/test/profile/Posix/gcov-file-change-line.cpp
M compiler-rt/test/profile/Posix/gcov-file-change.cpp
M compiler-rt/test/rtsan/fork_exec.cpp
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_aligned_sized.c
A compiler-rt/test/sanitizer_common/TestCases/Linux/free_sized.c
M compiler-rt/test/tysan/CMakeLists.txt
M flang-rt/include/flang-rt/runtime/environment.h
M flang-rt/include/flang-rt/runtime/stat.h
M flang-rt/include/flang-rt/runtime/type-info.h
A flang-rt/include/flang-rt/runtime/work-queue.h
M flang-rt/lib/cuda/descriptor.cpp
M flang-rt/lib/cuda/memory.cpp
M flang-rt/lib/runtime/CMakeLists.txt
M flang-rt/lib/runtime/allocatable.cpp
M flang-rt/lib/runtime/assign.cpp
M flang-rt/lib/runtime/derived.cpp
M flang-rt/lib/runtime/descriptor-io.cpp
M flang-rt/lib/runtime/descriptor-io.h
M flang-rt/lib/runtime/environment.cpp
M flang-rt/lib/runtime/namelist.cpp
M flang-rt/lib/runtime/tools.cpp
M flang-rt/lib/runtime/type-info.cpp
A flang-rt/lib/runtime/work-queue.cpp
M flang-rt/unittests/Runtime/CUDA/Memory.cpp
M flang-rt/unittests/Runtime/ExternalIOTest.cpp
M flang/Maintainers.md
M flang/docs/CMakeLists.txt
A flang/docs/CommandGuide/index.rst
M flang/docs/Extensions.md
M flang/docs/FIR/CreateFIRLangRef.py
M flang/docs/OpenMPSupport.md
M flang/docs/conf.py
M flang/examples/FeatureList/FeatureList.cpp
M flang/examples/FlangOmpReport/FlangOmpReportVisitor.cpp
M flang/include/flang/Common/enum-class.h
M flang/include/flang/Common/optional.h
M flang/include/flang/Evaluate/tools.h
M flang/include/flang/Frontend/CodeGenOptions.def
M flang/include/flang/Frontend/CodeGenOptions.h
M flang/include/flang/Lower/LoweringOptions.def
A flang/include/flang/Lower/Support/PrivateReductionUtils.h
M flang/include/flang/Lower/Support/Utils.h
M flang/include/flang/Optimizer/Builder/DirectivesCommon.h
M flang/include/flang/Optimizer/Builder/FIRBuilder.h
M flang/include/flang/Optimizer/Builder/HLFIRTools.h
M flang/include/flang/Optimizer/Builder/MutableBox.h
M flang/include/flang/Optimizer/Builder/Runtime/CUDA/Descriptor.h
M flang/include/flang/Optimizer/Dialect/FIROps.td
M flang/include/flang/Optimizer/Dialect/FIRType.h
M flang/include/flang/Optimizer/HLFIR/Passes.td
M flang/include/flang/Optimizer/Transforms/Passes.td
M flang/include/flang/Parser/dump-parse-tree.h
M flang/include/flang/Parser/parse-tree.h
M flang/include/flang/Parser/tools.h
M flang/include/flang/Runtime/CUDA/descriptor.h
M flang/include/flang/Runtime/assign.h
M flang/include/flang/Semantics/dump-expr.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/tools.h
M flang/include/flang/Support/Fortran-features.h
M flang/include/flang/Support/OpenMP-features.h
M flang/include/flang/Tools/CrossToolHelpers.h
M flang/lib/Evaluate/tools.cpp
M flang/lib/Frontend/CompilerInvocation.cpp
M flang/lib/Frontend/FrontendActions.cpp
M flang/lib/Lower/Bridge.cpp
M flang/lib/Lower/CMakeLists.txt
M flang/lib/Lower/ConvertCall.cpp
M flang/lib/Lower/OpenACC.cpp
A flang/lib/Lower/OpenMP/Atomic.cpp
A flang/lib/Lower/OpenMP/Atomic.h
M flang/lib/Lower/OpenMP/ClauseProcessor.cpp
M flang/lib/Lower/OpenMP/ClauseProcessor.h
M flang/lib/Lower/OpenMP/Clauses.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.cpp
M flang/lib/Lower/OpenMP/DataSharingProcessor.h
M flang/lib/Lower/OpenMP/OpenMP.cpp
R flang/lib/Lower/OpenMP/PrivateReductionUtils.cpp
R flang/lib/Lower/OpenMP/PrivateReductionUtils.h
M flang/lib/Lower/OpenMP/ReductionProcessor.cpp
A flang/lib/Lower/Support/PrivateReductionUtils.cpp
M flang/lib/Lower/Support/Utils.cpp
M flang/lib/Optimizer/Builder/FIRBuilder.cpp
M flang/lib/Optimizer/Builder/HLFIRTools.cpp
M flang/lib/Optimizer/Builder/MutableBox.cpp
M flang/lib/Optimizer/Builder/Runtime/CUDA/Descriptor.cpp
M flang/lib/Optimizer/CodeGen/BoxedProcedure.cpp
M flang/lib/Optimizer/CodeGen/CodeGen.cpp
M flang/lib/Optimizer/CodeGen/LowerRepackArrays.cpp
M flang/lib/Optimizer/Dialect/FIROps.cpp
M flang/lib/Optimizer/Dialect/FIRType.cpp
M flang/lib/Optimizer/HLFIR/IR/HLFIROps.cpp
M flang/lib/Optimizer/HLFIR/Transforms/BufferizeHLFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/CMakeLists.txt
M flang/lib/Optimizer/HLFIR/Transforms/ConvertToFIR.cpp
M flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRAssign.cpp
A flang/lib/Optimizer/HLFIR/Transforms/InlineHLFIRCopyIn.cpp
M flang/lib/Optimizer/HLFIR/Transforms/OptimizedBufferization.cpp
M flang/lib/Optimizer/OpenMP/DoConcurrentConversion.cpp
M flang/lib/Optimizer/OpenMP/MapInfoFinalization.cpp
M flang/lib/Optimizer/OpenMP/MapsForPrivatizedSymbols.cpp
M flang/lib/Optimizer/Passes/Pipelines.cpp
M flang/lib/Optimizer/Transforms/AddAliasTags.cpp
M flang/lib/Optimizer/Transforms/ControlFlowConverter.cpp
M flang/lib/Optimizer/Transforms/FIRToSCF.cpp
M flang/lib/Optimizer/Transforms/FunctionAttr.cpp
M flang/lib/Optimizer/Transforms/SimplifyFIROperations.cpp
M flang/lib/Parser/openmp-parsers.cpp
M flang/lib/Parser/parse-tree.cpp
M flang/lib/Parser/tools.cpp
M flang/lib/Parser/unparse.cpp
M flang/lib/Semantics/CMakeLists.txt
M flang/lib/Semantics/assignment.cpp
M flang/lib/Semantics/assignment.h
M flang/lib/Semantics/check-allocate.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/check-cuda.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/dump-expr.cpp
M flang/lib/Semantics/expression.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/mod-file.h
M flang/lib/Semantics/resolve-directives.cpp
M flang/lib/Semantics/resolve-names-utils.h
M flang/lib/Semantics/resolve-names.cpp
R flang/lib/Semantics/rewrite-directives.cpp
R flang/lib/Semantics/rewrite-directives.h
M flang/lib/Semantics/rewrite-parse-tree.cpp
M flang/lib/Semantics/runtime-type-info.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Support/Fortran-features.cpp
M flang/module/__fortran_type_info.f90
M flang/test/CMakeLists.txt
A flang/test/Driver/darwin-version.f90
A flang/test/Driver/disable-diagnostic.f90
M flang/test/Driver/flang-f-opts.f90
M flang/test/Driver/flang-openmp-version-macro.f90
A flang/test/Driver/mrecip.f90
M flang/test/Driver/pic-flags.f90
A flang/test/Driver/predefined-macros-aarch64.f90
M flang/test/Driver/prefer-vector-width.f90
M flang/test/Driver/werror-wrong.f90
M flang/test/Driver/wextra-ok.f90
M flang/test/Examples/omp-atomic.f90
A flang/test/Fir/FirToSCF/if.fir
M flang/test/Fir/box-offset-codegen.fir
M flang/test/Fir/box-offset.fir
M flang/test/Fir/boxproc.fir
A flang/test/Fir/cfg-conversion-if.fir
M flang/test/Fir/convert-to-llvm-openmp-and-fir.fir
M flang/test/Fir/fir-ops.fir
M flang/test/Fir/invalid.fir
A flang/test/Fir/local.fir
M flang/test/Fir/tbaa-codegen2.fir
M flang/test/HLFIR/as_expr-codegen-polymorphic.fir
M flang/test/HLFIR/as_expr-codegen.fir
M flang/test/HLFIR/assign-side-effects.fir
M flang/test/HLFIR/associate-codegen.fir
M flang/test/HLFIR/bufferize-poly-expr.fir
A flang/test/HLFIR/declare-alloc-target.fir
M flang/test/HLFIR/element-codegen-issue-118922.fir
M flang/test/HLFIR/elemental-codegen.fir
A flang/test/HLFIR/fir-local-alloca-block.fir
M flang/test/HLFIR/inline-hlfir-assign.fir
A flang/test/HLFIR/inline-hlfir-copy-in.fir
M flang/test/HLFIR/memory-effects.fir
A flang/test/HLFIR/opt-bufferization-elemental-assign-shape.fir
A flang/test/HLFIR/opt-bufferization-tonto.fir
M flang/test/HLFIR/reshape-lowering.fir
A flang/test/Integration/cold_array_repacking.f90
M flang/test/Integration/debug-local-var-2.f90
A flang/test/Lower/CUDA/cuda-runtime-check.cuf
M flang/test/Lower/HLFIR/assumed-rank-entry.f90
M flang/test/Lower/HLFIR/function-return-as-expr.f90
M flang/test/Lower/HLFIR/poly_expr_for_nonpoly_dummy.f90
M flang/test/Lower/HLFIR/polymorphic-expressions.f90
M flang/test/Lower/HLFIR/select-type-selector.f90
M flang/test/Lower/HLFIR/vector-subscript-as-value.f90
M flang/test/Lower/OpenACC/acc-kernels-loop.f90
M flang/test/Lower/OpenACC/acc-loop.f90
M flang/test/Lower/OpenACC/acc-parallel-loop.f90
M flang/test/Lower/OpenACC/acc-serial-loop.f90
M flang/test/Lower/OpenMP/DelayedPrivatization/target-private-multiple-variables.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare-fail.f90
M flang/test/Lower/OpenMP/Todo/atomic-compare.f90
A flang/test/Lower/OpenMP/Todo/declare-mapper-iterator.f90
A flang/test/Lower/OpenMP/Todo/omp-clause-indirect.f90
M flang/test/Lower/OpenMP/Todo/omp-declarative-allocate.f90
R flang/test/Lower/OpenMP/Todo/omp-doconcurrent.f90
M flang/test/Lower/OpenMP/atomic-capture.f90
M flang/test/Lower/OpenMP/atomic-implicit-cast.f90
A flang/test/Lower/OpenMP/atomic-privatize.f90
M flang/test/Lower/OpenMP/atomic-write.f90
A flang/test/Lower/OpenMP/copyprivate5.f90
M flang/test/Lower/OpenMP/delayed-privatization-allocatable-array.f90
M flang/test/Lower/OpenMP/delayed-privatization-array.f90
A flang/test/Lower/OpenMP/depend-complex.f90
A flang/test/Lower/OpenMP/depend-substring.f90
A flang/test/Lower/OpenMP/dump-atomic-analysis.f90
A flang/test/Lower/OpenMP/flush02.f90
M flang/test/Lower/OpenMP/implicit-dsa.f90
M flang/test/Lower/OpenMP/map-character.f90
M flang/test/Lower/OpenMP/optional-argument-map-2.f90
M flang/test/Lower/OpenMP/parallel-reduction-allocatable-array.f90
M 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-reduction-pointer-array.f90
M flang/test/Lower/OpenMP/parallel-reduction3.f90
M flang/test/Lower/OpenMP/reduction-array-intrinsic.f90
A flang/test/Lower/OpenMP/requires-admo-acqrel.f90
A flang/test/Lower/OpenMP/requires-admo-invalid1.f90
A flang/test/Lower/OpenMP/requires-admo-invalid2.f90
A flang/test/Lower/OpenMP/requires-atomic-default-mem-order.f90
M flang/test/Lower/OpenMP/sections-predetermined-private.f90
A flang/test/Lower/OpenMP/target-enter-data-default-openmp52.f90
A flang/test/Lower/OpenMP/target-parallel-private.f90
A flang/test/Lower/OpenMP/target-teams-private.f90
A flang/test/Lower/OpenMP/taskgroup02.f90
R flang/test/Lower/OpenMP/wsloop-linear.f90
M flang/test/Lower/OpenMP/wsloop-reduction-allocatable-array-minmax.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-multiple-clauses.f90
M flang/test/Lower/do_concurrent_local_assoc_entity.f90
M flang/test/Lower/do_concurrent_local_default_init.f90
M flang/test/Lower/volatile-allocatable.f90
M flang/test/Lower/volatile-openmp.f90
A flang/test/Lower/volatile-openmp2.f03
M flang/test/Parser/OpenMP/atomic-compare.f90
A flang/test/Parser/OpenMP/atomic-end.f90
A flang/test/Parser/OpenMP/declare-reduction-multi.f90
A flang/test/Parser/OpenMP/declare-reduction-operator.f90
A flang/test/Parser/OpenMP/declare-target-indirect-tree.f90
M flang/test/Preprocessing/bug518.F
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR.proftext
A flang/test/Profile/Inputs/gcc-flag-compatibility_IR_entry.proftext
A flang/test/Profile/gcc-flag-compatibility.f90
M flang/test/Semantics/OpenMP/allocate-align01.f90
M flang/test/Semantics/OpenMP/allocate01.f90
M flang/test/Semantics/OpenMP/atomic-compare.f90
M flang/test/Semantics/OpenMP/atomic-hint-clause.f90
A flang/test/Semantics/OpenMP/atomic-read.f90
A flang/test/Semantics/OpenMP/atomic-update-capture.f90
A flang/test/Semantics/OpenMP/atomic-update-only.f90
M flang/test/Semantics/OpenMP/atomic-update-overloaded-ops.f90
A flang/test/Semantics/OpenMP/atomic-write.f90
M flang/test/Semantics/OpenMP/atomic.f90
M flang/test/Semantics/OpenMP/atomic01.f90
M flang/test/Semantics/OpenMP/atomic02.f90
M flang/test/Semantics/OpenMP/atomic03.f90
M flang/test/Semantics/OpenMP/atomic04.f90
M flang/test/Semantics/OpenMP/atomic05.f90
M flang/test/Semantics/OpenMP/clause-validity01.f90
M flang/test/Semantics/OpenMP/common-block.f90
M flang/test/Semantics/OpenMP/critical-hint-clause.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-bad-operator2.f90
A flang/test/Semantics/OpenMP/declare-reduction-dupsym.f90
M flang/test/Semantics/OpenMP/declare-reduction-error.f90
A flang/test/Semantics/OpenMP/declare-reduction-functions.f90
A flang/test/Semantics/OpenMP/declare-reduction-logical.f90
A flang/test/Semantics/OpenMP/declare-reduction-mangled.f90
A flang/test/Semantics/OpenMP/declare-reduction-modfile.f90
A flang/test/Semantics/OpenMP/declare-reduction-operator.f90
A flang/test/Semantics/OpenMP/declare-reduction-operators.f90
A flang/test/Semantics/OpenMP/declare-reduction-renamedop.f90
A flang/test/Semantics/OpenMP/declare-reduction-typeerror.f90
M flang/test/Semantics/OpenMP/declare-reduction.f90
A flang/test/Semantics/OpenMP/declare-simd-linear.f90
M flang/test/Semantics/OpenMP/declare-target-common-block.f90
A flang/test/Semantics/OpenMP/depend-substring.f90
M flang/test/Semantics/OpenMP/deprecation.f90
A flang/test/Semantics/OpenMP/do-concurrent-collapse.f90
M flang/test/Semantics/OpenMP/flush02.f90
M flang/test/Semantics/OpenMP/implicit-dsa.f90
M flang/test/Semantics/OpenMP/linear-clause01.f90
M flang/test/Semantics/OpenMP/nested-barrier.f90
M flang/test/Semantics/OpenMP/nested-master.f90
M flang/test/Semantics/OpenMP/nested-teams.f90
M flang/test/Semantics/OpenMP/omp-atomic-assignment-stmt.f90
M flang/test/Semantics/OpenMP/ordered-simd.f90
A flang/test/Semantics/OpenMP/parallel-master-goto.f90
M flang/test/Semantics/OpenMP/parallel-sections01.f90
R flang/test/Semantics/OpenMP/requires-atomic01.f90
R flang/test/Semantics/OpenMP/requires-atomic02.f90
A flang/test/Semantics/OpenMP/sections-goto.f90
M flang/test/Semantics/OpenMP/sections02.f90
M flang/test/Semantics/OpenMP/symbol01.f90
A flang/test/Semantics/OpenMP/task-depend.f90
M flang/test/Semantics/allocate11.f90
A flang/test/Semantics/bug141807.f90
M flang/test/Semantics/cuf21.cuf
A flang/test/Semantics/cuf22.cuf
M flang/test/Semantics/deferred01.f90
A flang/test/Semantics/indirect01.f90
A flang/test/Semantics/indirect02.f90
M flang/test/Semantics/modfile71.F90
M flang/test/Semantics/modfile75.F90
A flang/test/Semantics/modfile76.F90
A flang/test/Semantics/modfile77.F90
A flang/test/Semantics/modfile78.F90
A flang/test/Semantics/modfile79.F90
M flang/test/Semantics/offsets03.f90
M flang/test/Semantics/resolve121.f90
M flang/test/Semantics/symbol33.f90
M flang/test/Semantics/typeinfo01.f90
M flang/test/Semantics/typeinfo03.f90
M flang/test/Semantics/typeinfo04.f90
M flang/test/Semantics/typeinfo05.f90
M flang/test/Semantics/typeinfo06.f90
M flang/test/Semantics/typeinfo07.f90
M flang/test/Semantics/typeinfo08.f90
M flang/test/Semantics/typeinfo11.f90
A flang/test/Semantics/typeinfo12.f90
A flang/test/Semantics/typeinfo13.f90
A flang/test/Transforms/DoConcurrent/locality_specifiers_init_dealloc.mlir
A flang/test/Transforms/DoConcurrent/locality_specifiers_simple.mlir
A flang/test/Transforms/do-concurrent-localizer-dealloc-region.fir
A flang/test/Transforms/do-concurrent-localizer-init-region.fir
M flang/test/Transforms/lower-repack-arrays.fir
M flang/test/Transforms/omp-map-info-finalization.fir
M flang/test/Transforms/tbaa-with-dummy-scope2.fir
M flang/test/Transforms/tbaa2.fir
M flang/test/Transforms/tbaa3.fir
M flang/tools/bbc/bbc.cpp
M flang/unittests/Common/CMakeLists.txt
A flang/unittests/Common/EnumClassTests.cpp
A flang/unittests/Common/FortranFeaturesTest.cpp
M libc/CMakeLists.txt
M libc/cmake/modules/LLVMLibCCompileOptionRules.cmake
M libc/cmake/modules/LLVMLibCHeaderRules.cmake
M libc/cmake/modules/LLVMLibCLibraryRules.cmake
M libc/cmake/modules/LLVMLibCObjectRules.cmake
M libc/cmake/modules/LLVMLibCTestRules.cmake
M libc/config/config.json
A libc/config/darwin/aarch64/config.json
M libc/config/darwin/aarch64/entrypoints.txt
M libc/config/darwin/aarch64/headers.txt
M libc/config/gpu/amdgpu/entrypoints.txt
M libc/config/gpu/nvptx/entrypoints.txt
M libc/config/linux/aarch64/entrypoints.txt
M libc/config/linux/arm/entrypoints.txt
M libc/config/linux/riscv/entrypoints.txt
M libc/config/linux/x86_64/entrypoints.txt
M libc/docs/configure.rst
M libc/docs/dev/code_style.rst
M libc/docs/headers/time.rst
M libc/fuzzing/stdio/CMakeLists.txt
M libc/hdr/CMakeLists.txt
A libc/hdr/sys_ioctl_macros.h
M libc/hdr/types/CMakeLists.txt
A libc/hdr/types/char32_t.h
A libc/hdr/types/char8_t.h
A libc/hdr/uchar_overlay.h
M libc/include/CMakeLists.txt
A libc/include/llvm-libc-macros/baremetal/CMakeLists.txt
A libc/include/llvm-libc-macros/baremetal/time-macros.h
M libc/include/llvm-libc-macros/linux/sys-ioctl-macros.h
M libc/include/llvm-libc-macros/time-macros.h
M libc/include/llvm-libc-types/char8_t.h
M libc/include/llvm-libc-types/size_t.h
M libc/include/llvm-libc-types/ssize_t.h
M libc/include/locale.yaml
M libc/include/math.yaml
M libc/include/stdio.yaml
M libc/include/stdlib.yaml
M libc/include/string.h.def
M libc/include/string.yaml
M libc/include/time.yaml
M libc/include/wchar.yaml
M libc/shared/fp_bits.h
A libc/shared/libc_common.h
A libc/shared/math.h
A libc/shared/math/expf.h
M libc/shared/rpc_server.h
M libc/shared/str_to_float.h
M libc/shared/str_to_integer.h
M libc/src/__support/CMakeLists.txt
M libc/src/__support/FPUtil/FEnvImpl.h
M libc/src/__support/FPUtil/dyadic_float.h
M libc/src/__support/FPUtil/x86_64/FEnvImpl.h
M libc/src/__support/File/dir.cpp
M libc/src/__support/File/file.cpp
M libc/src/__support/File/linux/file.cpp
M libc/src/__support/File/linux/lseekImpl.h
M libc/src/__support/GPU/allocator.cpp
M libc/src/__support/HashTable/CMakeLists.txt
M libc/src/__support/HashTable/randomness.h
M libc/src/__support/HashTable/table.h
M libc/src/__support/OSUtil/fcntl.h
M libc/src/__support/OSUtil/linux/CMakeLists.txt
M libc/src/__support/OSUtil/linux/fcntl.cpp
A libc/src/__support/OSUtil/linux/getrandom.h
M libc/src/__support/OSUtil/linux/vdso.cpp
M libc/src/__support/StringUtil/tables/linux_extension_errors.h
A libc/src/__support/libc_errno.h
M libc/src/__support/macros/optimization.h
A libc/src/__support/math/CMakeLists.txt
A libc/src/__support/math/exp_float_constants.h
A libc/src/__support/math/expf.h
M libc/src/__support/threads/linux/thread.cpp
A libc/src/__support/wchar/CMakeLists.txt
A libc/src/__support/wchar/character_converter.cpp
A libc/src/__support/wchar/character_converter.h
A libc/src/__support/wchar/mbstate.h
M libc/src/dirent/closedir.cpp
M libc/src/dirent/opendir.cpp
M libc/src/dirent/readdir.cpp
M libc/src/errno/CMakeLists.txt
M libc/src/errno/libc_errno.cpp
R libc/src/errno/libc_errno.h
M libc/src/fcntl/linux/CMakeLists.txt
M libc/src/fcntl/linux/creat.cpp
M libc/src/fcntl/linux/fcntl.cpp
M libc/src/fcntl/linux/open.cpp
M libc/src/fcntl/linux/openat.cpp
M libc/src/inttypes/strtoimax.cpp
M libc/src/inttypes/strtoumax.cpp
M libc/src/math/amdgpu/CMakeLists.txt
R libc/src/math/amdgpu/acos.cpp
R libc/src/math/amdgpu/acosf.cpp
R libc/src/math/amdgpu/acosh.cpp
R libc/src/math/amdgpu/acoshf.cpp
R libc/src/math/amdgpu/asin.cpp
R libc/src/math/amdgpu/asinf.cpp
R libc/src/math/amdgpu/asinh.cpp
R libc/src/math/amdgpu/asinhf.cpp
R libc/src/math/amdgpu/atan.cpp
R libc/src/math/amdgpu/atan2.cpp
R libc/src/math/amdgpu/atan2f.cpp
R libc/src/math/amdgpu/atanf.cpp
R libc/src/math/amdgpu/atanh.cpp
R libc/src/math/amdgpu/atanhf.cpp
R libc/src/math/amdgpu/cos.cpp
R libc/src/math/amdgpu/cosf.cpp
R libc/src/math/amdgpu/cosh.cpp
R libc/src/math/amdgpu/coshf.cpp
R libc/src/math/amdgpu/declarations.h
R libc/src/math/amdgpu/erf.cpp
R libc/src/math/amdgpu/erff.cpp
R libc/src/math/amdgpu/exp.cpp
R libc/src/math/amdgpu/exp10.cpp
R libc/src/math/amdgpu/exp10f.cpp
R libc/src/math/amdgpu/exp2.cpp
R libc/src/math/amdgpu/exp2f.cpp
R libc/src/math/amdgpu/expf.cpp
R libc/src/math/amdgpu/expm1.cpp
R libc/src/math/amdgpu/expm1f.cpp
R libc/src/math/amdgpu/fdim.cpp
R libc/src/math/amdgpu/fdimf.cpp
M libc/src/math/amdgpu/frexp.cpp
M libc/src/math/amdgpu/frexpf.cpp
R libc/src/math/amdgpu/hypot.cpp
R libc/src/math/amdgpu/hypotf.cpp
R libc/src/math/amdgpu/ilogb.cpp
R libc/src/math/amdgpu/ilogbf.cpp
M libc/src/math/amdgpu/ldexp.cpp
M libc/src/math/amdgpu/ldexpf.cpp
M libc/src/math/amdgpu/lgamma.cpp
M libc/src/math/amdgpu/lgamma_r.cpp
M libc/src/math/amdgpu/llrint.cpp
M libc/src/math/amdgpu/llrintf.cpp
R libc/src/math/amdgpu/log.cpp
R libc/src/math/amdgpu/log10.cpp
R libc/src/math/amdgpu/log10f.cpp
R libc/src/math/amdgpu/log1p.cpp
R libc/src/math/amdgpu/log1pf.cpp
R libc/src/math/amdgpu/log2.cpp
R libc/src/math/amdgpu/log2f.cpp
R libc/src/math/amdgpu/logb.cpp
R libc/src/math/amdgpu/logbf.cpp
R libc/src/math/amdgpu/logf.cpp
M libc/src/math/amdgpu/lrint.cpp
M libc/src/math/amdgpu/lrintf.cpp
R libc/src/math/amdgpu/nextafter.cpp
R libc/src/math/amdgpu/nextafterf.cpp
R libc/src/math/amdgpu/platform.h
R libc/src/math/amdgpu/powf.cpp
R libc/src/math/amdgpu/powi.cpp
R libc/src/math/amdgpu/powif.cpp
R libc/src/math/amdgpu/remquo.cpp
R libc/src/math/amdgpu/remquof.cpp
M libc/src/math/amdgpu/scalbn.cpp
M libc/src/math/amdgpu/scalbnf.cpp
R libc/src/math/amdgpu/sin.cpp
R libc/src/math/amdgpu/sincos.cpp
R libc/src/math/amdgpu/sincosf.cpp
R libc/src/math/amdgpu/sinf.cpp
R libc/src/math/amdgpu/sinh.cpp
R libc/src/math/amdgpu/sinhf.cpp
R libc/src/math/amdgpu/tan.cpp
R libc/src/math/amdgpu/tanf.cpp
R libc/src/math/amdgpu/tanh.cpp
R libc/src/math/amdgpu/tanhf.cpp
M libc/src/math/amdgpu/tgamma.cpp
M libc/src/math/amdgpu/tgammaf.cpp
M libc/src/math/generic/CMakeLists.txt
M libc/src/math/generic/exp10m1f.cpp
M libc/src/math/generic/exp2m1f.cpp
R libc/src/math/generic/exp_utils.cpp
R libc/src/math/generic/exp_utils.h
M libc/src/math/generic/expf.cpp
M libc/src/math/generic/log2f.cpp
M libc/src/math/generic/nan.cpp
M libc/src/math/generic/nanf.cpp
M libc/src/math/generic/nanf128.cpp
M libc/src/math/generic/nanf16.cpp
M libc/src/math/generic/nanl.cpp
M libc/src/math/nvptx/CMakeLists.txt
R libc/src/math/nvptx/acos.cpp
R libc/src/math/nvptx/acosf.cpp
R libc/src/math/nvptx/acosh.cpp
R libc/src/math/nvptx/acoshf.cpp
R libc/src/math/nvptx/asin.cpp
R libc/src/math/nvptx/asinf.cpp
R libc/src/math/nvptx/asinh.cpp
R libc/src/math/nvptx/asinhf.cpp
R libc/src/math/nvptx/atan.cpp
R libc/src/math/nvptx/atan2.cpp
R libc/src/math/nvptx/atan2f.cpp
R libc/src/math/nvptx/atanf.cpp
R libc/src/math/nvptx/atanh.cpp
R libc/src/math/nvptx/atanhf.cpp
R libc/src/math/nvptx/cos.cpp
R libc/src/math/nvptx/cosf.cpp
R libc/src/math/nvptx/cosh.cpp
R libc/src/math/nvptx/coshf.cpp
R libc/src/math/nvptx/declarations.h
R libc/src/math/nvptx/erf.cpp
R libc/src/math/nvptx/erff.cpp
R libc/src/math/nvptx/exp.cpp
R libc/src/math/nvptx/exp10.cpp
R libc/src/math/nvptx/exp10f.cpp
R libc/src/math/nvptx/exp2.cpp
R libc/src/math/nvptx/exp2f.cpp
R libc/src/math/nvptx/expf.cpp
R libc/src/math/nvptx/expm1.cpp
R libc/src/math/nvptx/expm1f.cpp
R libc/src/math/nvptx/fdim.cpp
R libc/src/math/nvptx/fdimf.cpp
R libc/src/math/nvptx/frexp.cpp
R libc/src/math/nvptx/frexpf.cpp
R libc/src/math/nvptx/hypot.cpp
R libc/src/math/nvptx/hypotf.cpp
R libc/src/math/nvptx/ilogb.cpp
R libc/src/math/nvptx/ilogbf.cpp
R libc/src/math/nvptx/ldexp.cpp
R libc/src/math/nvptx/ldexpf.cpp
M libc/src/math/nvptx/lgamma.cpp
M libc/src/math/nvptx/lgamma_r.cpp
M libc/src/math/nvptx/llrint.cpp
M libc/src/math/nvptx/llrintf.cpp
R libc/src/math/nvptx/log.cpp
R libc/src/math/nvptx/log10.cpp
R libc/src/math/nvptx/log10f.cpp
R libc/src/math/nvptx/log1p.cpp
R libc/src/math/nvptx/log1pf.cpp
R libc/src/math/nvptx/log2.cpp
R libc/src/math/nvptx/log2f.cpp
R libc/src/math/nvptx/logb.cpp
R libc/src/math/nvptx/logbf.cpp
R libc/src/math/nvptx/logf.cpp
M libc/src/math/nvptx/lrint.cpp
R libc/src/math/nvptx/lrintf.cpp
R libc/src/math/nvptx/nextafter.cpp
R libc/src/math/nvptx/nextafterf.cpp
R libc/src/math/nvptx/nvptx.h
R libc/src/math/nvptx/powf.cpp
R libc/src/math/nvptx/powi.cpp
R libc/src/math/nvptx/powif.cpp
R libc/src/math/nvptx/remquo.cpp
R libc/src/math/nvptx/remquof.cpp
R libc/src/math/nvptx/scalbn.cpp
R libc/src/math/nvptx/scalbnf.cpp
R libc/src/math/nvptx/sin.cpp
R libc/src/math/nvptx/sincos.cpp
R libc/src/math/nvptx/sincosf.cpp
R libc/src/math/nvptx/sinf.cpp
R libc/src/math/nvptx/sinh.cpp
R libc/src/math/nvptx/sinhf.cpp
R libc/src/math/nvptx/tan.cpp
R libc/src/math/nvptx/tanf.cpp
R libc/src/math/nvptx/tanh.cpp
R libc/src/math/nvptx/tanhf.cpp
M libc/src/math/nvptx/tgamma.cpp
M libc/src/math/nvptx/tgammaf.cpp
M libc/src/poll/linux/poll.cpp
M libc/src/pthread/pthread_atfork.cpp
M libc/src/pthread/pthread_attr_setdetachstate.cpp
M libc/src/pthread/pthread_attr_setguardsize.cpp
M libc/src/pthread/pthread_attr_setstack.cpp
M libc/src/pthread/pthread_attr_setstacksize.cpp
M libc/src/pthread/pthread_condattr_setclock.cpp
M libc/src/pthread/pthread_condattr_setpshared.cpp
M libc/src/pthread/pthread_create.cpp
M libc/src/pthread/pthread_key_create.cpp
M libc/src/pthread/pthread_key_delete.cpp
M libc/src/pthread/pthread_mutexattr_setpshared.cpp
M libc/src/pthread/pthread_mutexattr_setrobust.cpp
M libc/src/pthread/pthread_mutexattr_settype.cpp
M libc/src/pthread/pthread_rwlock_timedrdlock.cpp
M libc/src/pthread/pthread_rwlock_trywrlock.cpp
M libc/src/pthread/pthread_rwlock_unlock.cpp
M libc/src/pthread/pthread_rwlockattr_setkind_np.cpp
M libc/src/pthread/pthread_rwlockattr_setpshared.cpp
M libc/src/pthread/pthread_setspecific.cpp
M libc/src/sched/linux/sched_get_priority_max.cpp
M libc/src/sched/linux/sched_get_priority_min.cpp
M libc/src/sched/linux/sched_getaffinity.cpp
M libc/src/sched/linux/sched_getparam.cpp
M libc/src/sched/linux/sched_getscheduler.cpp
M libc/src/sched/linux/sched_rr_get_interval.cpp
M libc/src/sched/linux/sched_setaffinity.cpp
M libc/src/sched/linux/sched_setparam.cpp
M libc/src/sched/linux/sched_setscheduler.cpp
M libc/src/sched/linux/sched_yield.cpp
M libc/src/search/hcreate.cpp
M libc/src/search/hcreate_r.cpp
M libc/src/search/hdestroy_r.cpp
M libc/src/search/hsearch.cpp
M libc/src/search/hsearch_r.cpp
M libc/src/setjmp/CMakeLists.txt
A libc/src/setjmp/darwin/CMakeLists.txt
A libc/src/setjmp/darwin/sigsetjmp_epilogue.cpp
M libc/src/signal/linux/kill.cpp
M libc/src/signal/linux/sigaction.cpp
M libc/src/signal/linux/sigaddset.cpp
M libc/src/signal/linux/sigaltstack.cpp
M libc/src/signal/linux/sigdelset.cpp
M libc/src/signal/linux/sigemptyset.cpp
M libc/src/signal/linux/sigfillset.cpp
M libc/src/signal/linux/sigprocmask.cpp
M libc/src/spawn/posix_spawn_file_actions_addclose.cpp
M libc/src/spawn/posix_spawn_file_actions_adddup2.cpp
M libc/src/spawn/posix_spawn_file_actions_addopen.cpp
M libc/src/spawn/posix_spawn_file_actions_destroy.cpp
M libc/src/stdio/CMakeLists.txt
M libc/src/stdio/baremetal/printf.cpp
M libc/src/stdio/baremetal/putchar.cpp
M libc/src/stdio/baremetal/puts.cpp
M libc/src/stdio/baremetal/vprintf.cpp
M libc/src/stdio/fopencookie.cpp
M libc/src/stdio/generic/CMakeLists.txt
M libc/src/stdio/generic/fclose.cpp
M libc/src/stdio/generic/fflush.cpp
M libc/src/stdio/generic/fgetc.cpp
M libc/src/stdio/generic/fgetc_unlocked.cpp
M libc/src/stdio/generic/fgets.cpp
M libc/src/stdio/generic/fopen.cpp
M libc/src/stdio/generic/fputc.cpp
M libc/src/stdio/generic/fputs.cpp
M libc/src/stdio/generic/fread.cpp
M libc/src/stdio/generic/fread_unlocked.cpp
M libc/src/stdio/generic/fseek.cpp
M libc/src/stdio/generic/fseeko.cpp
M libc/src/stdio/generic/ftell.cpp
M libc/src/stdio/generic/ftello.cpp
M libc/src/stdio/generic/fwrite.cpp
M libc/src/stdio/generic/fwrite_unlocked.cpp
M libc/src/stdio/generic/getc.cpp
M libc/src/stdio/generic/getc_unlocked.cpp
M libc/src/stdio/generic/getchar.cpp
M libc/src/stdio/generic/getchar_unlocked.cpp
A libc/src/stdio/generic/perror.cpp
M libc/src/stdio/generic/putc.cpp
M libc/src/stdio/generic/putchar.cpp
M libc/src/stdio/generic/puts.cpp
M libc/src/stdio/gpu/CMakeLists.txt
M libc/src/stdio/gpu/clearerr.cpp
M libc/src/stdio/gpu/fclose.cpp
M libc/src/stdio/gpu/feof.cpp
M libc/src/stdio/gpu/ferror.cpp
M libc/src/stdio/gpu/fflush.cpp
M libc/src/stdio/gpu/fgetc.cpp
M libc/src/stdio/gpu/fgets.cpp
M libc/src/stdio/gpu/file.h
M libc/src/stdio/gpu/fopen.cpp
M libc/src/stdio/gpu/fprintf.cpp
M libc/src/stdio/gpu/fputc.cpp
M libc/src/stdio/gpu/fputs.cpp
M libc/src/stdio/gpu/fread.cpp
M libc/src/stdio/gpu/fseek.cpp
M libc/src/stdio/gpu/ftell.cpp
M libc/src/stdio/gpu/fwrite.cpp
M libc/src/stdio/gpu/getc.cpp
M libc/src/stdio/gpu/getchar.cpp
M libc/src/stdio/gpu/printf.cpp
M libc/src/stdio/gpu/putc.cpp
M libc/src/stdio/gpu/putchar.cpp
M libc/src/stdio/gpu/puts.cpp
M libc/src/stdio/gpu/remove.cpp
M libc/src/stdio/gpu/rename.cpp
M libc/src/stdio/gpu/stderr.cpp
M libc/src/stdio/gpu/stdin.cpp
M libc/src/stdio/gpu/stdout.cpp
M libc/src/stdio/gpu/ungetc.cpp
M libc/src/stdio/gpu/vfprintf.cpp
M libc/src/stdio/gpu/vfprintf_utils.h
M libc/src/stdio/gpu/vprintf.cpp
M libc/src/stdio/linux/fdopen.cpp
M libc/src/stdio/linux/remove.cpp
M libc/src/stdio/linux/rename.cpp
A libc/src/stdio/perror.h
M libc/src/stdio/printf_core/parser.h
M libc/src/stdio/setbuf.cpp
M libc/src/stdio/setvbuf.cpp
M libc/src/stdlib/atof.cpp
M libc/src/stdlib/atoi.cpp
M libc/src/stdlib/atol.cpp
M libc/src/stdlib/atoll.cpp
M libc/src/stdlib/strtod.cpp
M libc/src/stdlib/strtod_l.cpp
M libc/src/stdlib/strtof.cpp
M libc/src/stdlib/strtof_l.cpp
M libc/src/stdlib/strtol.cpp
M libc/src/stdlib/strtol_l.cpp
M libc/src/stdlib/strtold.cpp
M libc/src/stdlib/strtold_l.cpp
M libc/src/stdlib/strtoll.cpp
M libc/src/stdlib/strtoll_l.cpp
M libc/src/stdlib/strtoul.cpp
M libc/src/stdlib/strtoul_l.cpp
M libc/src/stdlib/strtoull.cpp
M libc/src/stdlib/strtoull_l.cpp
M libc/src/string/CMakeLists.txt
M libc/src/string/memccpy.cpp
M libc/src/string/memchr.cpp
M libc/src/string/memcmp.cpp
M libc/src/string/memcpy.cpp
M libc/src/string/memmove.cpp
M libc/src/string/mempcpy.cpp
M libc/src/string/memrchr.cpp
M libc/src/string/memset.cpp
M libc/src/string/stpcpy.cpp
M libc/src/string/stpncpy.cpp
M libc/src/string/strcasestr.cpp
M libc/src/string/strcat.cpp
M libc/src/string/strcoll.cpp
M libc/src/string/strcoll_l.cpp
M libc/src/string/strcpy.cpp
M libc/src/string/strdup.cpp
M libc/src/string/string_utils.h
M libc/src/string/strlen.cpp
M libc/src/string/strncat.cpp
M libc/src/string/strncmp.cpp
M libc/src/string/strncpy.cpp
M libc/src/string/strsep.cpp
M libc/src/string/strspn.cpp
M libc/src/string/strstr.cpp
M libc/src/strings/CMakeLists.txt
M libc/src/strings/rindex.cpp
M libc/src/sys/CMakeLists.txt
M libc/src/sys/auxv/linux/getauxval.cpp
M libc/src/sys/epoll/linux/epoll_create.cpp
M libc/src/sys/epoll/linux/epoll_create1.cpp
M libc/src/sys/epoll/linux/epoll_ctl.cpp
M libc/src/sys/epoll/linux/epoll_pwait.cpp
M libc/src/sys/epoll/linux/epoll_pwait2.cpp
M libc/src/sys/epoll/linux/epoll_wait.cpp
A libc/src/sys/ioctl/CMakeLists.txt
A libc/src/sys/ioctl/ioctl.h
A libc/src/sys/ioctl/linux/CMakeLists.txt
A libc/src/sys/ioctl/linux/ioctl.cpp
M libc/src/sys/mman/linux/madvise.cpp
M libc/src/sys/mman/linux/mincore.cpp
M libc/src/sys/mman/linux/mlock.cpp
M libc/src/sys/mman/linux/mlock2.cpp
M libc/src/sys/mman/linux/mlockall.cpp
M libc/src/sys/mman/linux/mmap.cpp
M libc/src/sys/mman/linux/mprotect.cpp
M libc/src/sys/mman/linux/mremap.cpp
M libc/src/sys/mman/linux/msync.cpp
M libc/src/sys/mman/linux/munlock.cpp
M libc/src/sys/mman/linux/munlockall.cpp
M libc/src/sys/mman/linux/munmap.cpp
M libc/src/sys/mman/linux/remap_file_pages.cpp
M libc/src/sys/mman/linux/shm_common.h
M libc/src/sys/mman/linux/shm_open.cpp
M libc/src/sys/mman/linux/shm_unlink.cpp
M libc/src/sys/prctl/linux/prctl.cpp
M libc/src/sys/random/linux/getrandom.cpp
M libc/src/sys/resource/linux/getrlimit.cpp
M libc/src/sys/resource/linux/setrlimit.cpp
M libc/src/sys/select/linux/select.cpp
M libc/src/sys/sendfile/linux/sendfile.cpp
M libc/src/sys/socket/linux/bind.cpp
M libc/src/sys/socket/linux/recv.cpp
M libc/src/sys/socket/linux/recvfrom.cpp
M libc/src/sys/socket/linux/recvmsg.cpp
M libc/src/sys/socket/linux/send.cpp
M libc/src/sys/socket/linux/sendmsg.cpp
M libc/src/sys/socket/linux/sendto.cpp
M libc/src/sys/socket/linux/socket.cpp
M libc/src/sys/socket/linux/socketpair.cpp
M libc/src/sys/stat/linux/chmod.cpp
M libc/src/sys/stat/linux/fchmod.cpp
M libc/src/sys/stat/linux/fchmodat.cpp
M libc/src/sys/stat/linux/fstat.cpp
M libc/src/sys/stat/linux/lstat.cpp
M libc/src/sys/stat/linux/mkdir.cpp
M libc/src/sys/stat/linux/mkdirat.cpp
M libc/src/sys/stat/linux/stat.cpp
M libc/src/sys/statvfs/linux/statfs_utils.h
M libc/src/sys/time/linux/getitimer.cpp
M libc/src/sys/time/linux/setitimer.cpp
M libc/src/sys/time/linux/utimes.cpp
M libc/src/sys/uio/linux/readv.cpp
M libc/src/sys/uio/linux/writev.cpp
M libc/src/sys/utsname/linux/uname.cpp
M libc/src/sys/wait/wait4Impl.h
M libc/src/termios/linux/cfsetispeed.cpp
M libc/src/termios/linux/cfsetospeed.cpp
M libc/src/termios/linux/tcdrain.cpp
M libc/src/termios/linux/tcflow.cpp
M libc/src/termios/linux/tcflush.cpp
M libc/src/termios/linux/tcgetattr.cpp
M libc/src/termios/linux/tcgetsid.cpp
M libc/src/termios/linux/tcsendbreak.cpp
M libc/src/termios/linux/tcsetattr.cpp
M libc/src/threads/thrd_create.cpp
M libc/src/time/linux/clock.cpp
M libc/src/time/linux/clock_gettime.cpp
M libc/src/time/linux/gettimeofday.cpp
M libc/src/time/linux/nanosleep.cpp
M libc/src/time/linux/timespec_get.cpp
M libc/src/time/time.cpp
M libc/src/time/time_utils.h
M libc/src/time/windows/clock_getres.cpp
M libc/src/unistd/linux/access.cpp
M libc/src/unistd/linux/chdir.cpp
M libc/src/unistd/linux/close.cpp
M libc/src/unistd/linux/dup.cpp
M libc/src/unistd/linux/dup2.cpp
M libc/src/unistd/linux/dup3.cpp
M libc/src/unistd/linux/execv.cpp
M libc/src/unistd/linux/execve.cpp
M libc/src/unistd/linux/fchdir.cpp
M libc/src/unistd/linux/fork.cpp
M libc/src/unistd/linux/fsync.cpp
M libc/src/unistd/linux/ftruncate.cpp
M libc/src/unistd/linux/getcwd.cpp
M libc/src/unistd/linux/getentropy.cpp
M libc/src/unistd/linux/getsid.cpp
M libc/src/unistd/linux/isatty.cpp
M libc/src/unistd/linux/link.cpp
M libc/src/unistd/linux/linkat.cpp
M libc/src/unistd/linux/lseek.cpp
M libc/src/unistd/linux/pathconf.cpp
M libc/src/unistd/linux/pathconf_utils.cpp
M libc/src/unistd/linux/pipe.cpp
M libc/src/unistd/linux/pipe2.cpp
M libc/src/unistd/linux/pread.cpp
M libc/src/unistd/linux/pwrite.cpp
M libc/src/unistd/linux/read.cpp
M libc/src/unistd/linux/readlink.cpp
M libc/src/unistd/linux/readlinkat.cpp
M libc/src/unistd/linux/rmdir.cpp
M libc/src/unistd/linux/symlink.cpp
M libc/src/unistd/linux/symlinkat.cpp
M libc/src/unistd/linux/syscall.cpp
M libc/src/unistd/linux/sysconf.cpp
M libc/src/unistd/linux/truncate.cpp
M libc/src/unistd/linux/unlink.cpp
M libc/src/unistd/linux/unlinkat.cpp
M libc/src/unistd/linux/write.cpp
M libc/src/unistd/windows/getentropy.cpp
M libc/src/wchar/CMakeLists.txt
M libc/src/wchar/wcscmp.cpp
M libc/src/wchar/wcscpy.cpp
M libc/src/wchar/wcsncpy.cpp
M libc/src/wchar/wmemcpy.cpp
A libc/src/wchar/wmemmove.cpp
A libc/src/wchar/wmemmove.h
M libc/src/wchar/wmempcpy.cpp
M libc/test/IntegrationTest/test.h
M libc/test/UnitTest/CMakeLists.txt
M libc/test/UnitTest/ErrnoCheckingTest.h
M libc/test/UnitTest/ErrnoSetterMatcher.h
M libc/test/UnitTest/FPMatcher.h
M libc/test/UnitTest/Test.h
M libc/test/integration/src/pthread/pthread_create_test.cpp
M libc/test/integration/src/pthread/pthread_join_test.cpp
M libc/test/integration/src/pthread/pthread_name_test.cpp
M libc/test/integration/src/unistd/getcwd_test.cpp
M libc/test/integration/startup/gpu/rpc_stream_test.cpp
M libc/test/integration/startup/linux/tls_test.cpp
M libc/test/src/CMakeLists.txt
M libc/test/src/__support/CMakeLists.txt
M libc/test/src/__support/HashTable/table_test.cpp
M libc/test/src/__support/str_to_double_test.cpp
M libc/test/src/__support/str_to_float_test.cpp
M libc/test/src/__support/str_to_fp_test.h
M libc/test/src/__support/str_to_integer_test.cpp
A libc/test/src/__support/wchar/CMakeLists.txt
A libc/test/src/__support/wchar/utf32_to_8_test.cpp
A libc/test/src/__support/wchar/utf8_to_32_test.cpp
M libc/test/src/dirent/dirent_test.cpp
M libc/test/src/errno/errno_test.cpp
M libc/test/src/fcntl/creat_test.cpp
M libc/test/src/fcntl/fcntl_test.cpp
M libc/test/src/fcntl/openat_test.cpp
M libc/test/src/math/RoundToIntegerTest.h
M libc/test/src/math/acosf_test.cpp
M libc/test/src/math/acoshf16_test.cpp
M libc/test/src/math/acoshf_test.cpp
M libc/test/src/math/asin_test.cpp
M libc/test/src/math/asinf_test.cpp
M libc/test/src/math/asinhf_test.cpp
M libc/test/src/math/atan2f_test.cpp
M libc/test/src/math/atan_test.cpp
M libc/test/src/math/atanf_test.cpp
M libc/test/src/math/atanhf_test.cpp
M libc/test/src/math/cosf_test.cpp
M libc/test/src/math/coshf_test.cpp
M libc/test/src/math/cospif_test.cpp
M libc/test/src/math/exp10_test.cpp
M libc/test/src/math/exp10f_test.cpp
M libc/test/src/math/exp10m1f_test.cpp
M libc/test/src/math/exp2_test.cpp
M libc/test/src/math/exp2f_test.cpp
M libc/test/src/math/exp2m1f_test.cpp
M libc/test/src/math/exp_test.cpp
M libc/test/src/math/expf_test.cpp
M libc/test/src/math/expm1_test.cpp
M libc/test/src/math/expm1f_test.cpp
M libc/test/src/math/log10_test.cpp
M libc/test/src/math/log1p_test.cpp
M libc/test/src/math/log1pf_test.cpp
M libc/test/src/math/log2_test.cpp
M libc/test/src/math/log2f_test.cpp
M libc/test/src/math/log_test.cpp
M libc/test/src/math/powf_test.cpp
M libc/test/src/math/sin_test.cpp
M libc/test/src/math/sincosf_test.cpp
M libc/test/src/math/sinf_test.cpp
M libc/test/src/math/sinhf_test.cpp
M libc/test/src/math/sinpif_test.cpp
M libc/test/src/math/smoke/FModTest.h
M libc/test/src/math/smoke/RoundToIntegerTest.h
M libc/test/src/math/smoke/acos_test.cpp
M libc/test/src/math/smoke/acosf16_test.cpp
M libc/test/src/math/smoke/acosf_test.cpp
M libc/test/src/math/smoke/acoshf16_test.cpp
M libc/test/src/math/smoke/acoshf_test.cpp
M libc/test/src/math/smoke/acospif16_test.cpp
M libc/test/src/math/smoke/asinf16_test.cpp
M libc/test/src/math/smoke/asinf_test.cpp
M libc/test/src/math/smoke/asinhf16_test.cpp
M libc/test/src/math/smoke/asinhf_test.cpp
M libc/test/src/math/smoke/atan2f_test.cpp
M libc/test/src/math/smoke/atanf16_test.cpp
M libc/test/src/math/smoke/atanf_test.cpp
M libc/test/src/math/smoke/atanhf16_test.cpp
M libc/test/src/math/smoke/atanhf_test.cpp
M libc/test/src/math/smoke/cosf16_test.cpp
M libc/test/src/math/smoke/cosf_test.cpp
M libc/test/src/math/smoke/coshf16_test.cpp
M libc/test/src/math/smoke/coshf_test.cpp
M libc/test/src/math/smoke/cospif16_test.cpp
M libc/test/src/math/smoke/cospif_test.cpp
M libc/test/src/math/smoke/exp10_test.cpp
M libc/test/src/math/smoke/exp10f16_test.cpp
M libc/test/src/math/smoke/exp10f_test.cpp
M libc/test/src/math/smoke/exp10m1f16_test.cpp
M libc/test/src/math/smoke/exp10m1f_test.cpp
M libc/test/src/math/smoke/exp2_test.cpp
M libc/test/src/math/smoke/exp2f16_test.cpp
M libc/test/src/math/smoke/exp2f_test.cpp
M libc/test/src/math/smoke/exp2m1f16_test.cpp
M libc/test/src/math/smoke/exp2m1f_test.cpp
M libc/test/src/math/smoke/exp_test.cpp
M libc/test/src/math/smoke/expf16_test.cpp
M libc/test/src/math/smoke/expf_test.cpp
M libc/test/src/math/smoke/expm1_test.cpp
M libc/test/src/math/smoke/expm1f16_test.cpp
M libc/test/src/math/smoke/expm1f_test.cpp
M libc/test/src/math/smoke/log10_test.cpp
M libc/test/src/math/smoke/log10f16_test.cpp
M libc/test/src/math/smoke/log1p_test.cpp
M libc/test/src/math/smoke/log1pf_test.cpp
M libc/test/src/math/smoke/log2_test.cpp
M libc/test/src/math/smoke/log2f16_test.cpp
M libc/test/src/math/smoke/log2f_test.cpp
M libc/test/src/math/smoke/log_test.cpp
M libc/test/src/math/smoke/logf16_test.cpp
M libc/test/src/math/smoke/sincosf_test.cpp
M libc/test/src/math/smoke/sinf16_test.cpp
M libc/test/src/math/smoke/sinf_test.cpp
M libc/test/src/math/smoke/sinhf16_test.cpp
M libc/test/src/math/smoke/sinhf_test.cpp
M libc/test/src/math/smoke/sinpif16_test.cpp
M libc/test/src/math/smoke/sinpif_test.cpp
M libc/test/src/math/smoke/tanf16_test.cpp
M libc/test/src/math/smoke/tanf_test.cpp
M libc/test/src/math/smoke/tanhf16_test.cpp
M libc/test/src/math/smoke/tanhf_test.cpp
M libc/test/src/math/smoke/tanpif16_test.cpp
M libc/test/src/math/tanf_test.cpp
M libc/test/src/math/tanhf_test.cpp
M libc/test/src/poll/poll_test.cpp
M libc/test/src/sched/affinity_test.cpp
M libc/test/src/sched/cpu_count_test.cpp
M libc/test/src/sched/get_priority_test.cpp
M libc/test/src/sched/param_and_scheduler_test.cpp
M libc/test/src/sched/sched_rr_get_interval_test.cpp
M libc/test/src/sched/yield_test.cpp
M libc/test/src/signal/sigaltstack_test.cpp
M libc/test/src/signal/signal_test.cpp
M libc/test/src/signal/sigprocmask_test.cpp
M libc/test/src/spawn/posix_spawn_file_actions_test.cpp
M libc/test/src/stdio/CMakeLists.txt
M libc/test/src/stdio/fdopen_test.cpp
M libc/test/src/stdio/fgetc_test.cpp
M libc/test/src/stdio/fgetc_unlocked_test.cpp
M libc/test/src/stdio/fgets_test.cpp
M libc/test/src/stdio/fileop_test.cpp
M libc/test/src/stdio/fopencookie_test.cpp
A libc/test/src/stdio/perror_test.cpp
M libc/test/src/stdio/printf_core/converter_test.cpp
M libc/test/src/stdio/remove_test.cpp
M libc/test/src/stdio/rename_test.cpp
M libc/test/src/stdio/setvbuf_test.cpp
M libc/test/src/stdio/sprintf_test.cpp
M libc/test/src/stdio/unlocked_fileop_test.cpp
M libc/test/src/stdlib/CMakeLists.txt
M libc/test/src/stdlib/StrtolTest.h
M libc/test/src/stdlib/atof_test.cpp
M libc/test/src/stdlib/strtod_test.cpp
M libc/test/src/stdlib/strtof_test.cpp
M libc/test/src/stdlib/strtoint32_test.cpp
M libc/test/src/stdlib/strtoint64_test.cpp
M libc/test/src/stdlib/strtold_test.cpp
M libc/test/src/string/CMakeLists.txt
M libc/test/src/string/memchr_test.cpp
M libc/test/src/string/memcmp_test.cpp
M libc/test/src/string/memcpy_test.cpp
M libc/test/src/string/memmove_test.cpp
M libc/test/src/string/mempcpy_test.cpp
M libc/test/src/string/memrchr_test.cpp
M libc/test/src/string/memset_test.cpp
M libc/test/src/string/stpncpy_test.cpp
M libc/test/src/string/strcat_test.cpp
M libc/test/src/string/strcoll_test.cpp
M libc/test/src/string/strcpy_test.cpp
M libc/test/src/string/strdup_test.cpp
M libc/test/src/string/strlcpy_test.cpp
M libc/test/src/string/strsep_test.cpp
M libc/test/src/string/strspn_test.cpp
M libc/test/src/sys/CMakeLists.txt
A libc/test/src/sys/ioctl/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/CMakeLists.txt
A libc/test/src/sys/ioctl/linux/ioctl_test.cpp
M libc/test/src/sys/mman/linux/mlock_test.cpp
M libc/test/src/sys/prctl/linux/CMakeLists.txt
M libc/test/src/sys/prctl/linux/prctl_test.cpp
M libc/test/src/sys/statvfs/linux/fstatvfs_test.cpp
M libc/test/src/sys/statvfs/linux/statvfs_test.cpp
M libc/test/src/sys/time/setitimer_test.cpp
M libc/test/src/termios/termios_test.cpp
M libc/test/src/time/asctime_r_test.cpp
M libc/test/src/time/asctime_test.cpp
M libc/test/src/time/ctime_r_test.cpp
M libc/test/src/time/ctime_test.cpp
M libc/test/src/time/gmtime_test.cpp
M libc/test/src/time/nanosleep_test.cpp
M libc/test/src/wchar/CMakeLists.txt
A libc/test/src/wchar/wmemmove_test.cpp
M libc/test/utils/FPUtil/CMakeLists.txt
M libclc/CMakeLists.txt
A libclc/clc/include/clc/geometric/clc_fast_normalize.h
A libclc/clc/include/clc/geometric/clc_normalize.h
M libclc/clc/lib/generic/SOURCES
M libclc/clc/lib/generic/geometric/clc_dot.cl
A libclc/clc/lib/generic/geometric/clc_dot.inc
A libclc/clc/lib/generic/geometric/clc_fast_normalize.cl
A libclc/clc/lib/generic/geometric/clc_fast_normalize.inc
A libclc/clc/lib/generic/geometric/clc_normalize.cl
A libclc/clc/lib/generic/geometric/clc_normalize.inc
M libclc/opencl/lib/generic/geometric/dot.cl
M libclc/opencl/lib/generic/geometric/fast_normalize.cl
R libclc/opencl/lib/generic/geometric/fast_normalize.inc
M libclc/opencl/lib/generic/geometric/normalize.cl
M libcxx/cmake/caches/AndroidNDK.cmake
A libcxx/docs/ABIGuarantees.rst
M libcxx/docs/FeatureTestMacroTable.rst
M libcxx/docs/ReleaseNotes/21.rst
M libcxx/docs/Status/Cxx2cIssues.csv
M libcxx/docs/Status/Cxx2cPapers.csv
M libcxx/docs/UserDocumentation.rst
M libcxx/docs/VendorDocumentation.rst
M libcxx/docs/index.rst
M libcxx/include/CMakeLists.txt
M libcxx/include/__algorithm/for_each.h
M libcxx/include/__algorithm/for_each_n.h
M libcxx/include/__algorithm/ranges_for_each.h
M libcxx/include/__algorithm/ranges_for_each_n.h
M libcxx/include/__bit/bit_ceil.h
M libcxx/include/__bit/bit_floor.h
M libcxx/include/__bit/bit_log2.h
M libcxx/include/__bit/bit_width.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/__bit/rotate.h
M libcxx/include/__chrono/time_point.h
M libcxx/include/__concepts/arithmetic.h
M libcxx/include/__config
M libcxx/include/__configuration/abi.h
M libcxx/include/__debug_utils/sanitizers.h
M libcxx/include/__flat_map/flat_map.h
M libcxx/include/__flat_map/flat_multimap.h
M libcxx/include/__flat_set/flat_multiset.h
M libcxx/include/__flat_set/flat_set.h
M libcxx/include/__format/format_arg_store.h
M libcxx/include/__functional/function.h
M libcxx/include/__functional/hash.h
M libcxx/include/__functional/reference_wrapper.h
M libcxx/include/__iterator/concepts.h
M libcxx/include/__iterator/iterator_traits.h
M libcxx/include/__math/abs.h
M libcxx/include/__mdspan/extents.h
M libcxx/include/__memory/addressof.h
M libcxx/include/__memory/allocation_guard.h
M libcxx/include/__memory/pointer_traits.h
M libcxx/include/__numeric/saturation_arithmetic.h
M libcxx/include/__type_traits/common_reference.h
M libcxx/include/__type_traits/container_traits.h
A libcxx/include/__type_traits/integer_traits.h
M libcxx/include/__type_traits/is_integral.h
M libcxx/include/__type_traits/is_pointer.h
M libcxx/include/__type_traits/is_scalar.h
R libcxx/include/__type_traits/is_signed_integer.h
R libcxx/include/__type_traits/is_unsigned_integer.h
M libcxx/include/__utility/cmp.h
M libcxx/include/__utility/pair.h
M libcxx/include/__vector/container_traits.h
M libcxx/include/bitset
M libcxx/include/chrono
M libcxx/include/deque
M libcxx/include/experimental/iterator
M libcxx/include/forward_list
M libcxx/include/fstream
M libcxx/include/ios
M libcxx/include/list
M libcxx/include/map
M libcxx/include/math.h
M libcxx/include/mdspan
M libcxx/include/module.modulemap.in
M libcxx/include/mutex
M libcxx/include/queue
M libcxx/include/regex
M libcxx/include/set
M libcxx/include/shared_mutex
M libcxx/include/stdlib.h
M libcxx/include/streambuf
M libcxx/include/string
M libcxx/include/syncstream
M libcxx/include/unordered_map
M libcxx/include/unordered_set
M libcxx/include/version
M libcxx/modules/std.compat.cppm.in
M libcxx/modules/std.cppm.in
M libcxx/src/experimental/time_zone.cpp
M libcxx/src/hash.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each.bench.cpp
M libcxx/test/benchmarks/algorithms/nonmodifying/for_each_n.bench.cpp
R libcxx/test/configs/llvm-libc++-android-ndk.cfg.in
A libcxx/test/configs/llvm-libc++-android.cfg.in
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_signed_integer.compile.pass.cpp
M libcxx/test/libcxx/concepts/concepts.arithmetic/__libcpp_unsigned_integer.compile.pass.cpp
A libcxx/test/libcxx/containers/container.adaptors/flat.set/scary.compile.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/extents/assert.ctor_from_span.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_array.pass.cpp
M libcxx/test/libcxx/containers/views/mdspan/layout_stride/assert.ctor.extents_span.pass.cpp
M libcxx/test/libcxx/feature_test_macro/generate_header_test.sh.py
A libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.compile.pass.cpp
R libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_concepts.pass.cpp
M libcxx/test/libcxx/iterators/iterator.requirements/iterator.concepts/cpp20_iter_traits.compile.pass.cpp
M libcxx/test/libcxx/odr_signature.exceptions.sh.cpp
M libcxx/test/libcxx/odr_signature.hardening.sh.cpp
M libcxx/test/libcxx/type_traits/is_trivially_relocatable.compile.pass.cpp
M libcxx/test/libcxx/type_traits/no_specializations.verify.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.contains/ranges.contains.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each.pass.cpp
M libcxx/test/std/algorithms/alg.nonmodifying/alg.foreach/ranges.for_each_n.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concept.equalitycomparable/equality_comparable_with.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered.compile.pass.cpp
M libcxx/test/std/concepts/concepts.compare/concepts.totallyordered/totally_ordered_with.compile.pass.cpp
M libcxx/test/std/containers/Emplaceable.h
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/at_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.access/index_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_or_assign_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.modifiers/try_emplace_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.map/flat.map.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multimap/flat.multimap.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.multiset/flat.multiset.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/erase_key_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.modifiers/insert_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/contains_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/count_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/equal_range_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/find_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/lower_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat.set/flat.set.operations/upper_bound_transparent.pass.cpp
M libcxx/test/std/containers/container.adaptors/flat_helpers.h
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_copy_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_cont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_iter_iter_comp_rcont_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons.alloc/ctor_move_alloc.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/assign_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_container.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_comp_rcontainer.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_copy.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_default.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_cont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_iter_iter_comp_rcont.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.cons/ctor_move.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/emplace.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/empty.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/pop.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/push_rvalue.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/size.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/swap.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.members/top.pass.cpp
M libcxx/test/std/containers/container.adaptors/priority.queue/priqueue.special/swap.pass.cpp
M libcxx/test/std/containers/exception_safety_helpers.h
M libcxx/test/std/containers/sequences/array/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/empty.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.compile.fail.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_range_after.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp
A libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.compile.pass.cpp
R libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/incomplete.pass.cpp
M libcxx/test/std/containers/sequences/forwardlist/max_size.pass.cpp
M libcxx/test/std/containers/sequences/list/compare.pass.cpp
M libcxx/test/std/containers/sequences/list/compare.three_way.pass.cpp
M libcxx/test/std/containers/sequences/list/get_allocator.pass.cpp
M libcxx/test/std/containers/sequences/list/incomplete_type.pass.cpp
M libcxx/test/std/containers/sequences/list/iterators.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/empty.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/max_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/resize_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.capacity/size.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/assign_move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/copy_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/default_stack_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/from_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/initializer_list_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/input_iterator.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/move_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/op_equal_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_type.pass.cpp
M libcxx/test/std/containers/sequences/list/list.cons/size_value_alloc.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase.pass.cpp
M libcxx/test/std/containers/sequences/list/list.erasure/erase_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/append_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/assign_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/clear.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/emplace_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/erase_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_initializer_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_size_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_iter_value.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/insert_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/pop_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/prepend_range.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_back_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front.pass.cpp
M libcxx/test/std/containers/sequences/list/list.modifiers/push_front_rvalue.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/merge_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/remove_if.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/reverse.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/sort_comp.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/splice_pos_list_iter_iter.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique.pass.cpp
M libcxx/test/std/containers/sequences/list/list.ops/unique_pred.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap.pass.cpp
M libcxx/test/std/containers/sequences/list/list.special/swap_noexcept.pass.cpp
M libcxx/test/std/containers/views/mdspan/CustomTestLayouts.h
M libcxx/test/std/containers/views/mdspan/extents/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/ctad.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dextents.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/dims.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/index_type.verify.cpp
M libcxx/test/std/containers/views/mdspan/extents/obs_static.pass.cpp
M libcxx/test/std/containers/views/mdspan/extents/types.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_right.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_left/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_left.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.layout_stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/ctor.mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_right/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/comparison.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.extents_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/ctor.strided_mapping.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/index_operator.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/is_exhaustive_corner_case.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/required_span_size.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/static_requirements.pass.cpp
M libcxx/test/std/containers/views/mdspan/layout_stride/stride.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/assign.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/conversion.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.copy.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.default.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_array.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_extents.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_integers.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.dh_map_acc.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/ctor.move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/move.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/properties.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/swap.pass.cpp
M libcxx/test/std/containers/views/mdspan/mdspan/types.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.get.area/setg.assert.pass.cpp
M libcxx/test/std/input.output/stream.buffers/streambuf/streambuf.protected/streambuf.put.area/setp.assert.pass.cpp
M libcxx/test/std/iterators/iterator.requirements/iterator.concepts/iterator.concept.readable/indirectly_readable.compile.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.array/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.except.pass.cpp
M libcxx/test/std/language.support/support.dynamic/new.delete/new.delete.single/new.size_align.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/list.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/queue.version.compile.pass.cpp
M libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
M libcxx/test/std/numerics/c.math/abs.pass.cpp
M libcxx/test/std/numerics/c.math/abs.verify.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/ctor_func.pass.cpp
M libcxx/test/std/numerics/rand/rand.dist/rand.dist.samp/rand.dist.samp.discrete/param_ctor_func.pass.cpp
M libcxx/test/std/ranges/range.adaptors/range.lazy.split/general.pass.cpp
M libcxx/test/std/strings/basic.string/string.capacity/shrink_to_fit.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_++.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_++int.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_--.pass.cpp
A libcxx/test/std/time/time.point/time.point.arithmetic/op_--int.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform.pass.cpp
M libcxx/test/std/utilities/expected/expected.expected/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/expected/expected.void/monadic/transform_error.pass.cpp
M libcxx/test/std/utilities/format/format.formatter/format.formatter.spec/formatter.char_array.pass.cpp
M libcxx/test/std/utilities/format/format.functions/escaped_output.unicode.pass.cpp
M libcxx/test/std/utilities/format/format.functions/fill.unicode.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/compare.three_way.refwrap.refwrap_const.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.const_ref.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap.pass.cpp
M libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/equal.refwrap.refwrap_const.pass.cpp
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_concepts.h
R libcxx/test/std/utilities/function.objects/refwrap/refwrap.comparissons/helper_types.h
M libcxx/test/std/utilities/meta/meta.rel/is_virtual_base_of.pass.cpp
R libcxx/test/std/utilities/meta/meta.unary/dependent_return_type.compile.pass.cpp
A libcxx/test/std/utilities/meta/meta.unary/dependent_return_type.pass.cpp
M libcxx/test/std/utilities/meta/meta.unary/meta.unary.prop/is_implicit_lifetime.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit.pass.cpp
M libcxx/test/std/utilities/optional/optional.specalg/make_optional_explicit_initializer_list.pass.cpp
M libcxx/test/std/utilities/template.bitset/bitset.cons/char_ptr_ctor.pass.cpp
M libcxx/test/std/utilities/tuple/tuple.tuple/tuple.cnstr/PR31384.pass.cpp
M libcxx/test/support/MinSequenceContainer.h
M libcxx/test/support/counting_predicates.h
M libcxx/test/support/min_allocator.h
M libcxx/test/support/test_comparisons.h
M libcxx/test/support/test_container_comparisons.h
M libcxx/utils/gdb/libcxx/printers.py
M libcxx/utils/generate_feature_test_macro_components.py
M libcxx/utils/libcxx/header_information.py
M libcxxabi/test/catch_member_function_pointer_02.pass.cpp
R libcxxabi/test/configs/llvm-libc++abi-android-ndk.cfg.in
A libcxxabi/test/configs/llvm-libc++abi-android.cfg.in
M libunwind/cmake/config-ix.cmake
M libunwind/src/CMakeLists.txt
M libunwind/src/UnwindLevel1.c
M lld/COFF/MinGW.cpp
M lld/COFF/TypeMerger.h
M lld/COFF/Writer.cpp
M lld/ELF/Arch/AArch64.cpp
M lld/ELF/Arch/ARM.cpp
M lld/ELF/Arch/RISCV.cpp
M lld/ELF/Config.h
M lld/ELF/DWARF.h
M lld/ELF/Driver.cpp
M lld/ELF/InputFiles.cpp
M lld/ELF/InputFiles.h
M lld/ELF/Relocations.cpp
M lld/ELF/Symbols.cpp
M lld/ELF/Symbols.h
M lld/ELF/SyntheticSections.cpp
M lld/ELF/Thunks.cpp
M lld/ELF/Writer.cpp
M lld/MachO/DriverUtils.cpp
M lld/MachO/SectionPriorities.cpp
M lld/MachO/SectionPriorities.h
M lld/MachO/SyntheticSections.cpp
M lld/MachO/UnwindInfoSection.cpp
M lld/MinGW/Driver.cpp
M lld/MinGW/Options.td
M lld/docs/ReleaseNotes.rst
M lld/docs/ld.lld.1
M lld/test/COFF/lto-late-arm.ll
M lld/test/COFF/pdata-arm64ec.test
M lld/test/ELF/aarch64-feature-pauth.s
M lld/test/ELF/aarch64-thunk-bti-multipass.s
M lld/test/ELF/driver.test
M lld/test/ELF/lto/aarch64-pac-got-func.ll
M lld/test/ELF/ppc64-long-branch-pi.s
M lld/test/ELF/ppc64-relocs.s
M lld/test/ELF/riscv-branch.s
A lld/test/ELF/riscv-feature-zicfilp-func-sig.s
A lld/test/ELF/riscv-feature-zicfilp-unlabeled.s
A lld/test/ELF/riscv-feature-zicfiss.s
A lld/test/ELF/riscv-relax-call-stress.s
M lld/test/ELF/riscv-undefined-weak.s
R lld/test/ELF/weak-undef-got-pie.s
A lld/test/ELF/weak-undef-got-plt.s
M lld/test/ELF/weak-undef-hidden.s
M lld/test/ELF/weak-undef-rw.s
R lld/test/ELF/weak-undef.s
M lld/test/ELF/x86-64-section-layout.s
A lld/test/MachO/ordre-file-cstring.s
A lld/test/MachO/reexport-with-symlink.s
M lld/test/MinGW/lib.test
R lld/test/wasm/lto/Inputs/libcall-return-addr.ll
R lld/test/wasm/lto/libcall-return-addr.ll
M lld/wasm/Driver.cpp
M lldb/CMakeLists.txt
M lldb/cmake/modules/AddLLDB.cmake
M lldb/cmake/modules/FindPythonAndSwig.cmake
M lldb/cmake/modules/LLDBFramework.cmake
M lldb/docs/use/formatting.rst
M lldb/examples/python/crashlog.py
M lldb/include/lldb/Core/Debugger.h
M lldb/include/lldb/Core/DemangledNameInfo.h
M lldb/include/lldb/Core/FormatEntity.h
M lldb/include/lldb/Core/PluginManager.h
M lldb/include/lldb/Core/Telemetry.h
M lldb/include/lldb/DataFormatters/TypeSynthetic.h
A lldb/include/lldb/Host/JSONTransport.h
M lldb/include/lldb/Host/Socket.h
A lldb/include/lldb/Host/aix/Support.h
M lldb/include/lldb/Interpreter/CommandOptionArgumentTable.h
M lldb/include/lldb/Symbol/ObjectFile.h
M lldb/include/lldb/Symbol/Variable.h
M lldb/include/lldb/Target/RegisterContextUnwind.h
M lldb/include/lldb/Target/Statistics.h
M lldb/include/lldb/ValueObject/DILAST.h
M lldb/include/lldb/ValueObject/DILEval.h
M lldb/include/lldb/ValueObject/DILLexer.h
M lldb/include/lldb/lldb-enumerations.h
M lldb/packages/Python/lldbsuite/test/decorators.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/dap_server.py
M lldb/packages/Python/lldbsuite/test/tools/lldb-dap/lldbdap_testcase.py
A lldb/scripts/convert-lldb-header-to-rpc-header.py
A lldb/scripts/framework-header-fix.py
M lldb/source/API/CMakeLists.txt
M lldb/source/Breakpoint/Breakpoint.cpp
M lldb/source/Breakpoint/CMakeLists.txt
M lldb/source/Breakpoint/WatchpointResource.cpp
M lldb/source/Commands/CMakeLists.txt
M lldb/source/Commands/CommandObjectBreakpoint.cpp
M lldb/source/Commands/CommandObjectMemory.cpp
M lldb/source/Commands/CommandObjectPlugin.cpp
M lldb/source/Commands/CommandObjectProcess.cpp
M lldb/source/Commands/CommandObjectStats.cpp
M lldb/source/Commands/CommandObjectTarget.cpp
M lldb/source/Commands/Options.td
M lldb/source/Core/CMakeLists.txt
M lldb/source/Core/CoreProperties.td
M lldb/source/Core/Debugger.cpp
M lldb/source/Core/DynamicLoader.cpp
M lldb/source/Core/FormatEntity.cpp
M lldb/source/Core/PluginManager.cpp
M lldb/source/Core/Statusline.cpp
M lldb/source/DataFormatters/CMakeLists.txt
M lldb/source/DataFormatters/TypeSynthetic.cpp
M lldb/source/Expression/CMakeLists.txt
M lldb/source/Expression/DWARFExpression.cpp
M lldb/source/Expression/FunctionCaller.cpp
M lldb/source/Host/CMakeLists.txt
A lldb/source/Host/aix/Support.cpp
A lldb/source/Host/common/JSONTransport.cpp
M lldb/source/Host/common/Socket.cpp
M lldb/source/Host/macosx/objcxx/CMakeLists.txt
M lldb/source/Host/windows/ProcessRunLock.cpp
M lldb/source/Initialization/CMakeLists.txt
M lldb/source/Interpreter/CMakeLists.txt
M lldb/source/Interpreter/Interfaces/CMakeLists.txt
M lldb/source/Plugins/ABI/AArch64/ABIAArch64.cpp
M lldb/source/Plugins/ABI/AArch64/CMakeLists.txt
M lldb/source/Plugins/ABI/ARC/CMakeLists.txt
M lldb/source/Plugins/ABI/ARM/CMakeLists.txt
M lldb/source/Plugins/ABI/Hexagon/CMakeLists.txt
M lldb/source/Plugins/ABI/LoongArch/CMakeLists.txt
M lldb/source/Plugins/ABI/MSP430/CMakeLists.txt
M lldb/source/Plugins/ABI/Mips/CMakeLists.txt
M lldb/source/Plugins/ABI/PowerPC/CMakeLists.txt
M lldb/source/Plugins/ABI/RISCV/CMakeLists.txt
M lldb/source/Plugins/ABI/SystemZ/CMakeLists.txt
M lldb/source/Plugins/ABI/X86/CMakeLists.txt
M lldb/source/Plugins/Architecture/AArch64/CMakeLists.txt
M lldb/source/Plugins/Architecture/Arm/CMakeLists.txt
M lldb/source/Plugins/Architecture/Mips/CMakeLists.txt
M lldb/source/Plugins/Architecture/PPC64/CMakeLists.txt
M lldb/source/Plugins/Disassembler/LLVMC/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/Windows-DYLD/CMakeLists.txt
M lldb/source/Plugins/DynamicLoader/wasm-DYLD/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/CMakeLists.txt
M lldb/source/Plugins/ExpressionParser/Clang/ClangModulesDeclVendor.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.cpp
M lldb/source/Plugins/ExpressionParser/Clang/IRDynamicChecks.h
M lldb/source/Plugins/Instruction/ARM/CMakeLists.txt
M lldb/source/Plugins/Instruction/ARM64/CMakeLists.txt
M lldb/source/Plugins/Instruction/LoongArch/CMakeLists.txt
M lldb/source/Plugins/Instruction/MIPS/CMakeLists.txt
M lldb/source/Plugins/Instruction/MIPS64/CMakeLists.txt
M lldb/source/Plugins/Instruction/PPC64/CMakeLists.txt
M lldb/source/Plugins/Instruction/RISCV/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/MainThreadChecker/CMakeLists.txt
M lldb/source/Plugins/InstrumentationRuntime/UBSan/CMakeLists.txt
M lldb/source/Plugins/JITLoader/GDB/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/CMakeLists.txt
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.cpp
M lldb/source/Plugins/Language/CPlusPlus/Coroutines.h
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.cpp
M lldb/source/Plugins/Language/CPlusPlus/CxxStringTypes.h
M lldb/source/Plugins/Language/CPlusPlus/LibCxx.cpp
M lldb/source/Plugins/Language/CPlusPlus/LibCxxUnorderedMap.cpp
M lldb/source/Plugins/Language/ClangCommon/CMakeLists.txt
M lldb/source/Plugins/Language/ObjC/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/LanguageRuntime/ObjC/GNUstepObjCRuntime/CMakeLists.txt
M lldb/source/Plugins/ObjectContainer/BSD-Archive/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Breakpad/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/COFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/COFF/ObjectFileCOFF.cpp
M lldb/source/Plugins/ObjectFile/ELF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/ELF/ObjectFileELF.cpp
M lldb/source/Plugins/ObjectFile/JSON/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Mach-O/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/Mach-O/ObjectFileMachO.cpp
M lldb/source/Plugins/ObjectFile/Minidump/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/PDB/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/PECOFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/PECOFF/ObjectFilePECOFF.cpp
M lldb/source/Plugins/ObjectFile/Placeholder/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/XCOFF/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/XCOFF/ObjectFileXCOFF.cpp
M lldb/source/Plugins/ObjectFile/wasm/CMakeLists.txt
M lldb/source/Plugins/ObjectFile/wasm/ObjectFileWasm.cpp
M lldb/source/Plugins/Platform/Android/CMakeLists.txt
M lldb/source/Plugins/Platform/FreeBSD/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/CMakeLists.txt
M lldb/source/Plugins/Platform/MacOSX/objcxx/CMakeLists.txt
M lldb/source/Plugins/Platform/QemuUser/CMakeLists.txt
M lldb/source/Plugins/Platform/Windows/CMakeLists.txt
M lldb/source/Plugins/Platform/gdb-server/PlatformRemoteGDBServer.cpp
M lldb/source/Plugins/Process/AIX/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSD/CMakeLists.txt
M lldb/source/Plugins/Process/FreeBSDKernel/CMakeLists.txt
Log Message:
-----------
rebase
Created using spr 1.3.4
Compare: https://github.com/llvm/llvm-project/compare/11d256c6e2e9...a8ebafbe68fb
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